个性化推荐研究(四)之如何利用用户行为数据
2014-04-02 12:20
567 查看
http://my.oschina.net/wxcchd/blog/139271
基于用户行为数据分析的推荐算法一般被成为协同过滤算法。协同过滤算法有很多种,基于邻域的方法、隐语义模型、基于图的随机游走算法等等,而协同过滤也只是推荐算法中的一类,还有基于人口统计学的推荐、基于内容的推荐等等。
实际应用中用到最多的还有机器学习,聚类分类等等貌似在实际中都有应用。由于对机器学习一点也不了解,这里也就不提了,以后会对其进行补充。
本文主要整理的是基于邻域的方法,主要包含两种算法:基于用户的协同过滤(userCF)和基于物品的协同过滤(itemCF)。
主要实现关键点在于计算用户之间的相似度。然后从中找出与指定用户最相似的一组用户的集合,最后根据这个集合计算出指定用户对其不知道的物品的感兴趣程度,从中选出最高的N个推荐给该用户。
从推荐理由角度看,UserCF很难提供令用户信服的推荐解释,而ItemCF可以利用用户的历史行为给用户做推荐解释,更令用户信服。
从性能角度看,UserCF适合用户较少的场合。如果用户很多,计算用户相似度矩阵代价很大。ItemCF适合物品数明显小于用户数的场合,如果物品很多,计算物品相似度矩阵代价很大。
从技术角度看,UserCF适合物品更新速度快的情况,因为ItemCF需要维持一张物品相关度表,而绝大多数物品相关度表都只能做到一天一更新。
从冷启动角度看,UserCF对新用户有冷启动问题,但对新物品没有,而ItemCF对新物品有冷启动问题,但对新用户没有。
从兴趣角度看,UserCF可能会拓展用户的兴趣,其他用户喜欢的物品该用户也可能喜欢,而ItemCF不会,ItemCF根据用户本身的兴趣进行推荐。
逻辑斯特回归(Logistic Regression)
弹性网络(Elastic Nets)
奇异值分解(SVD : Singular Value Decomposition)
RBM(Restricted Boltzmann Machines)
马尔科夫链(Markov Chains)
LDA(Latent Dirichlet Allocation)
关联规则(Association Rules)
GBDT(Gradient Boosted Decision Trees)
随机森林(Random Forests)
聚类方法,从最简单的k-means到图模型,例如Affinity Propagation
矩阵分解(Matrix Factorization)。
如何利用用户行为数据?
目前应用最广泛的就是使用基于用户行为数据分析的算法进行推荐。基于用户行为数据分析的推荐算法一般被成为协同过滤算法。协同过滤算法有很多种,基于邻域的方法、隐语义模型、基于图的随机游走算法等等,而协同过滤也只是推荐算法中的一类,还有基于人口统计学的推荐、基于内容的推荐等等。
实际应用中用到最多的还有机器学习,聚类分类等等貌似在实际中都有应用。由于对机器学习一点也不了解,这里也就不提了,以后会对其进行补充。
本文主要整理的是基于邻域的方法,主要包含两种算法:基于用户的协同过滤(userCF)和基于物品的协同过滤(itemCF)。
基于用户的协同过滤
定义:根据用户的历史行为数据,给他推荐和他兴趣相似的其他用户喜欢的物品。主要实现关键点在于计算用户之间的相似度。然后从中找出与指定用户最相似的一组用户的集合,最后根据这个集合计算出指定用户对其不知道的物品的感兴趣程度,从中选出最高的N个推荐给该用户。
基于物品的协同过滤
定义:根据用户的历史行为数据,给他推荐和他之前喜欢的物品相似的物品。 主要实现关键点在于计算物品之间的相似度。物品之间的相似度是根据用户历史行为数据计算出来的,与物品本身属性无关。在计算出物品之间的相似度后,从中找出与其物品j最相似的K个其他物品,然后计算用户对物品j的感兴趣程度,最后选出感兴趣程度最大的N个物品推荐给用户。UserCF与ItemCF的比较
从推荐结果角度看,UserCF的推荐结果侧重于反映用户兴趣相似的小群体的热点,ItemCF的推荐结果侧重于维系用户的历史兴趣。以这方面来说,UserCF的推荐更加社会化,反映了用户所在的小型群体中物品的热门程度,而ItemCF的推荐更加个性化,反映了用户自己的兴趣传承。从推荐理由角度看,UserCF很难提供令用户信服的推荐解释,而ItemCF可以利用用户的历史行为给用户做推荐解释,更令用户信服。
从性能角度看,UserCF适合用户较少的场合。如果用户很多,计算用户相似度矩阵代价很大。ItemCF适合物品数明显小于用户数的场合,如果物品很多,计算物品相似度矩阵代价很大。
从技术角度看,UserCF适合物品更新速度快的情况,因为ItemCF需要维持一张物品相关度表,而绝大多数物品相关度表都只能做到一天一更新。
从冷启动角度看,UserCF对新用户有冷启动问题,但对新物品没有,而ItemCF对新物品有冷启动问题,但对新用户没有。
从兴趣角度看,UserCF可能会拓展用户的兴趣,其他用户喜欢的物品该用户也可能喜欢,而ItemCF不会,ItemCF根据用户本身的兴趣进行推荐。
个性化推荐的机器学习算法(待研究)
线性回归(Linear Regression)逻辑斯特回归(Logistic Regression)
弹性网络(Elastic Nets)
奇异值分解(SVD : Singular Value Decomposition)
RBM(Restricted Boltzmann Machines)
马尔科夫链(Markov Chains)
LDA(Latent Dirichlet Allocation)
关联规则(Association Rules)
GBDT(Gradient Boosted Decision Trees)
随机森林(Random Forests)
聚类方法,从最简单的k-means到图模型,例如Affinity Propagation
矩阵分解(Matrix Factorization)。
相关文章推荐
- 推荐系统-利用用户行为数据判断用户间或商品间相似性、分类和个性化推荐
- 推荐系统实践-利用用户行为数据
- 亚马逊如何利用用户行为数据
- 推荐系统方法(利用用户行为数据)
- 推荐系统(二) —— 利用用户行为数据 —— 基于领域的算法
- 推荐系统(利用用户行为数据 )
- 推荐系统实践阅读笔记——第二章 利用用户的行为数据
- 推荐系统(三) —— 利用用户行为数据 —— 隐语义模型
- 推荐系统实践---第二章:利用用户行为数据
- 用户如何有效地利用数据字典
- 用户研究:如何解读数据?解读“人”!
- 看安全卫士360是如何利用数字激励用户行为的?
- google news recommendation - 基于点击行为的用户个性化新闻推荐
- 用户如何有效地利用数据字典(转)
- 干货:如何利用CRM系统数据做用户画像?
- 科技公司如何利用数据让用户习惯成瘾?
- 我记录综合系统学习研究之用户管理五(如何利用wojilu打造一个全新的SNS应用)
- 如何利用新浪微博开放平台API获取新浪微博用户数据
- 系统设计以及javascript笔记:用户行为分析研究之数据采集
- 如何用数据看用户行为,驱动产品设计