美文网首页
开源工具框架

开源工具框架

作者: Nefelibatas | 来源:发表于2022-04-26 22:09 被阅读0次

协同过滤和矩阵分解

基于用户、基于物品的协同过滤,矩阵分解,都依赖对用户物品关系矩阵的利用,这里面常常要涉及的工作有下面几种。

  • KNN 相似度计算;

  • SVD 矩阵分解;

  • SVD++ 矩阵分解;

  • ALS 矩阵分解;

  • BPR 矩阵分解;

  • 低维稠密向量近邻搜索。

可以做这些工作的开源工具有下面几种。

c2c9d45939566395b3936d25a422e4ef.png

这里面的工作通常是这样:

基础协同过滤算法,通过计算矩阵的行相似和列相似得到推荐结果。

矩阵分解,得到用户和物品的隐因子向量,是低维稠密向量,进一步以用户的低维稠密向量在物品的向量中搜索得到近邻结果,作为推荐结果,因此需要专门针对低维稠密向量的近邻搜索。

同样,除非数据量达到一定程度,比如过亿用户以上,否则你要慎重选择分布式版本,非常不划算。

模型融合

模型融合这部分,有线性模型、梯度提升树模型

886d6963721480a73a7f6a16ae77f759.png

线性模型复杂在模型训练部分,这部分可以离线批量进行,而线上预测部分则比较简单,可以用开源的接口,也可以自己实现。

其他工具Bandit 算法比较简单,自己实现不难。

至于深度学习部分,则主要基于 TensorFlow 完成。

存储、接口相关开源项目和其他互联网服务开发一样。完整推荐系统这里也梳理一下有哪些完整的推荐系统开源项目,可以作为学习和借鉴。

所谓完整的推荐系统是指:包含推荐算法实现、存储、接口。

910ca0b2f233ce2c9c855a21ae71815e.png

这里的推荐系统算法部分以 Python 和 C++ 为主,甚至一些 Python 项目,底层也都是用 C++ 开发而成。

倾向于选择各个模块的开源项目,再将其组合集成为自己的推荐系统。

这样做的好处是有下面几种。

  • 单个模块开源项目容易入手,学习成本低,性能好;

  • 自己组合后更容易诊断问题,不需要的不用开发;

  • 单个模块的性能和效果更有保证

相关文章

  • 开源工具框架

    协同过滤和矩阵分解 基于用户、基于物品的协同过滤,矩阵分解,都依赖对用户物品关系矩阵的利用,这里面常常要涉及的工作...

  • 常用框架――链接

    主流UI开源框架集合优秀开源UI和工具框架开源框架大集合Android10大常用框架炫酷效果Demo集合Banne...

  • Android 框架

    Android开源项目分类汇总 Android开源工具项目集合 2015最流行的Android组件、工具、框架大全...

  • Django-全文检索工具haystack-whoosh-jie

    一:使用的工具 haystack是django的开源搜索框架,该框架支持Solr, Elasticsearch, ...

  • Django全文检索实现:HayStack + Whoosh +

    涉及到的工具 haystack是django的开源搜索框架,该框架支持Solr, Elasticsearch, W...

  • 自动化测试框架介绍

    介绍 本文介绍几款开源的自动化测试工具或者框架。PhoenixAutoTest Phoenix系列包含测试框架和测...

  • 软件测试工具大全(持续更新)

    软件测试工具大全,包括测试工具、框架和平台,偏向开源和免费。 一. 大前端 移动端 抓包工具 Lyrebird- ...

  • 神经网络-知识准备

    开源工具 Neuroph 基于java的神经网络框架 ![图片上传中…95%](file:///private/v...

  • web项目初建--Bootstrap初使用

    Bootstrap是Twitter推出的一个用于web前端开发的开源工具包,是一个CSS/HTML框架。 1.开源...

  • 使用深度学习检测疟疾

    人工智能结合开源硬件工具能够提升严重传染病疟疾的诊断。 人工智能(AI)和开源工具、技术和框架是促进社会进步的强有...

网友评论

      本文标题:开源工具框架

      本文链接:https://www.haomeiwen.com/subject/kmghyrtx.html