基于模型的协同过滤算法

本节介绍基于模型的协同过滤算法1在Top-N推荐中的应用。

核心思想是 通过隐含特征(latent factor)联系用户兴趣和物品

思路:对于某个用户,首先得到其兴趣分类,然后从分类中挑选其可能喜欢的物品。

上述基于兴趣分类的方法需要解决3个问题:

  1. 如何给物品进行分类?
  2. 如何确定用户对哪些类的物品感兴趣,以及感兴趣的程度?
  3. 对于一个给定的类,选择哪些属于这个类的物品推荐给用户,以及如何确定这些物品在一个类中的权重?

基础算法

不同于通过编辑给物品进行分类,而是从数据出发, 自动地给物品进行分类, 然后进行个性化推荐。

隐含语义分析技术采取 基于用户行为统计的自动聚类 ,能较好地解决通过编辑进行分类的5种问题:

  • 编辑的意见不能代表各种用户的意见(分类从物品内容出发还是从用户出发)

    隐含语义分析技术的分类来自对用户行为的统计,代表了用户对物品分类的看法。隐含语义分析技术和ItemCF在物品分类方面的思想类似, 如果两个物品被很多用户同时喜欢,那么这两个物品就很有可能属于同一个类。

  • 编辑很难控制分类的粒度

    隐含语义分析技术允许指定最终有多少个分类,这个数字越大ÿ

【推荐系统】基于模型的协同过滤算法相关推荐

  1. 推荐系统-经典协同过滤算法【基于记忆的协同过滤算法、基于模型的协同过滤算法】

    推荐系统-经典协同过滤理论基础实践 1.协同过滤推荐方法CF简介 协同过滤CF 基于记忆的协同过滤 ---- 用户和物品的相似度矩阵 用户相似度的推荐 物品相似度推荐 UserCF用户协同过滤算法 I ...

  2. 推荐系统--基于用户的协同过滤算法

    1.         概述 和搜索引擎一样,推荐系统是为了帮助人们更快速的获得对自己有用的信息. 和搜索引擎不同,推荐系统是人们被动的获取,由系统根据用户行为或其他的信息推荐给用户的,儿搜索引擎是用户 ...

  3. 推荐系统-基于领域的协同过滤算法选择(一文足矣)

    1.基于用户的协同过滤算法(UserCF) 1.1. 基本思想 该算法主要用于计算两个用户之间的相似度,这里的相似度指的是两个用户之间的兴趣相似度.假设存在用户u和用户v,N(u)和N(v)分别是他们 ...

  4. 使用Spark DataFrame实现基于物品的协同过滤算法(ItemCF)

    简书不支持Markdown Math语法,请移步https://glassywing.github.io/2018/04/10/spark-itemcf/ 简介 当前spark支持的协同过滤算法只有A ...

  5. 推荐系统笔记:基于模型的协同过滤

    1 介绍 基于邻域的协同过滤方法可以看作是机器学习中常用的k-最近邻分类器KNN的泛化. 这些方法是基于实例的方法,因此,除了可选的预处理阶段之外,没有专门为预测预先创建模型. 推荐系统笔记:Intr ...

  6. java基于springboot+vue协同过滤算法的音乐推荐系统

    音乐是人类永恒的话题,无论是在古代还是现代人们对音乐都有一种非常的热爱在里面,同时音乐也寄语了人们对美好事物的憧憬,很多时候人们在试听音乐的时候并不能够及时的找到适合自己的音乐,而且当下很多音乐都是收 ...

  7. 【推荐系统】基于用户的协同过滤算法

    基于用户的协同过滤算法 基础算法 在一个在线个性化推荐系统中,当一个用户A需要个性化推荐时,可以先找到和他有相似兴趣的其他用户,然后把那些用户喜欢的.而用户A没有听说过的物品推荐给A.这种方法称为基于 ...

  8. java计算机毕业设计基于ssm的协同过滤算法的电影推荐系统(源代码+数据库+Lw文档)

    项目介绍 "互联网+"的战略实施后,很多行业的信息化水平都有了很大的提升.但是目前很多行业的管理仍是通过人工管理的方式进行,需要在各个岗位投入大量的人力进行很多重复性工作,使得对人 ...

  9. 如何使用Java+SSM(Spring+SpringMVC+Mybatis)开发个性化新闻推荐系统 在线新闻推荐系统 基于用户项目协同过滤、内容、聚类、关联规则推荐算法实现WebNewsRSMEx

    如何使用Java+SSM(Spring+SpringMVC+Mybatis)开发个性化新闻推荐系统 在线新闻推荐系统 基于用户项目协同过滤.内容.聚类.关联规则推荐算法实现WebNewsRSMEx 一 ...

最新文章

  1. tensorflow全联接层fully_connected参数解释正确的
  2. 2019年安徽省模块七满分多少_二级造价考情分析:20年二级造价考试还有戏吗?...
  3. 二叉树实现java,二叉树实现java
  4. C# ListView 简单命令例子
  5. 2015 百度一面 总结记录
  6. 利用python语言实现分类算法_使用python实现kNN分类算法
  7. 拦截器手动添加spring注入方法
  8. apache 版本_Apache官宣!ShardingSphere首个Apache版本发布
  9. 删除倾斜OSGB数据中的漂浮物
  10. Java链表——创建链表对象
  11. 9个GVP国产Java开源项目!是真滴哇塞
  12. 云服务器添加交换分区
  13. 20189217 2018-2019-2 《密码与安全新技术专题》第1周作业
  14. 自动滑动背景图片html,html背景图片滚动属性bgproperties
  15. HTML 篮球比赛计时记分器
  16. JavaScript 教程「3」:数据类型
  17. ben we_老WE成立手游战队!2020LOL冬季转会汇总:TSM蛇蛇
  18. x3daudio1 7.dll怎么修复?修复方法推荐
  19. anaconda卸载后重装出现了问题
  20. adobe reader 支持词典取词

热门文章

  1. Java / 关键字
  2. 判断字符串格式_Blind_pwn之格式化字符串
  3. format函数使用matlab,Matlab基本函数-format函数
  4. python修改excel后打印_python 处理excel并打印excel
  5. HBase数据存取流程
  6. python字符串内置方法
  7. 代码自动化打包系统【原创】
  8. 最多两次股票交易-Best Time to Buy and Sell Stock III
  9. (Prototype)原型模式的Java实现(转)
  10. Firefox火狐浏览器自用技巧汇总--以备使用--13.5.16