我是靠谱客的博主 无情果汁,最近开发中收集的这篇文章主要介绍个性化推荐研究(四)之如何利用用户行为数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<h3>如何利用用户行为数据?</h3> <p> &nbsp;&nbsp;&nbsp;&nbsp;目前应用最广泛的就是使用基于用户行为数据分析的算法进行推荐。<br/>&nbsp;&nbsp;&nbsp;&nbsp;基于用户行为数据分析的推荐算法一般被成为协同过滤算法。协同过滤算法有很多种,基于邻域的方法、隐语义模型、基于图的随机游走算法等等,而协同过滤也只是推荐算法中的一类,还有基于人口统计学的推荐、基于内容的推荐等等。<br/> &nbsp;&nbsp;&nbsp;&nbsp;实际应用中用到最多的还有机器学习,聚类分类等等貌似在实际中都有应用。由于对机器学习一点也不了解,这里也就不提了,以后会对其进行补充。<br/> &nbsp;&nbsp;&nbsp;&nbsp;本文主要整理的是基于邻域的方法,主要包含两种算法:基于用户的协同过滤(userCF)和基于物品的协同过滤(itemCF)。 </p> <h3>基于用户的协同过滤</h3> <p> &nbsp;&nbsp;&nbsp;&nbsp;定义:根据用户的历史行为数据,给他推荐和他兴趣相似的其他用户喜欢的物品。<br/> &nbsp;&nbsp;&nbsp;&nbsp;主要实现关键点在于计算用户之间的相似度。然后从中找出与指定用户最相似的一组用户的集合,最后根据这个集合计算出指定用户对其不知道的物品的感兴趣程度,从中选出最高的N个推荐给该用户。 </p> <h3>基于物品的协同过滤</h3> <p> &nbsp;&nbsp;&nbsp;&nbsp;定义:根据用户的历史行为数据,给他推荐和他之前喜欢的物品相似的物品。 &nbsp;&nbsp;&nbsp;&nbsp;主要实现关键点在于计算物品之间的相似度。物品之间的相似度是根据用户历史行为数据计算出来的,与物品本身属性无关。在计算出物品之间的相似度后,从中找出与其物品j最相似的K个其他物品,然后计算用户对物品j的感兴趣程度,最后选出感兴趣程度最大的N个物品推荐给用户。 </p> <h3>UserCF与ItemCF的比较</h3> <p> &nbsp;&nbsp;&nbsp;&nbsp;从推荐结果角度看,UserCF的推荐结果侧重于反映用户兴趣相似的小群体的热点,ItemCF的推荐结果侧重于维系用户的历史兴趣。以这方面来说,UserCF的推荐更加社会化,反映了用户所在的小型群体中物品的热门程度,而ItemCF的推荐更加个性化,反映了用户自己的兴趣传承。<br/> &nbsp;&nbsp;&nbsp;&nbsp;从推荐理由角度看,UserCF很难提供令用户信服的推荐解释,而ItemCF可以利用用户的历史行为给用户做推荐解释,更令用户信服。<br/> &nbsp;&nbsp;&nbsp;&nbsp;从性能角度看,UserCF适合用户较少的场合。如果用户很多,计算用户相似度矩阵代价很大。ItemCF适合物品数明显小于用户数的场合,如果物品很多,计算物品相似度矩阵代价很大。<br/> &nbsp;&nbsp;&nbsp;&nbsp;从技术角度看,UserCF适合物品更新速度快的情况,因为ItemCF需要维持一张物品相关度表,而绝大多数物品相关度表都只能做到一天一更新。<br/> &nbsp;&nbsp;&nbsp;&nbsp;从冷启动角度看,UserCF对新用户有冷启动问题,但对新物品没有,而ItemCF对新物品有冷启动问题,但对新用户没有。<br/> &nbsp;&nbsp;&nbsp;&nbsp;从兴趣角度看,UserCF可能会拓展用户的兴趣,其他用户喜欢的物品该用户也可能喜欢,而ItemCF不会,ItemCF根据用户本身的兴趣进行推荐。 </p> <h3>个性化推荐的机器学习算法(待研究)</h3> <p> &nbsp;&nbsp;&nbsp;&nbsp; 线性回归(Linear Regression)<br/> &nbsp;&nbsp;&nbsp;&nbsp; 逻辑斯特回归(Logistic Regression)<br/> &nbsp;&nbsp;&nbsp;&nbsp; 弹性网络(Elastic Nets)<br/> &nbsp;&nbsp;&nbsp;&nbsp; 奇异值分解(SVD : Singular Value Decomposition)<br/> &nbsp;&nbsp;&nbsp;&nbsp; RBM(Restricted Boltzmann Machines)<br/> &nbsp;&nbsp;&nbsp;&nbsp; 马尔科夫链(Markov Chains)<br/> &nbsp;&nbsp;&nbsp;&nbsp; LDA(Latent Dirichlet Allocation)<br/> &nbsp;&nbsp;&nbsp;&nbsp; 关联规则(Association Rules)<br/> &nbsp;&nbsp;&nbsp;&nbsp; GBDT(Gradient Boosted Decision Trees)<br/> &nbsp;&nbsp;&nbsp;&nbsp; 随机森林(Random Forests)<br/> &nbsp;&nbsp;&nbsp;&nbsp; 聚类方法,从最简单的k-means到图模型,例如Affinity Propagation<br/> &nbsp;&nbsp;&nbsp;&nbsp; 矩阵分解(Matrix Factorization)。</p> <h3>相关文章</h3> <p> <a href=https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1>探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探</a><br/> <a href=https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy2>探索推荐引擎内部的秘密,第 2 部分: 深入推荐引擎相关算法 - 协同过滤 </a><br/> <a href=https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy3>探索推荐引擎内部的秘密,第 3 部分: 深入推荐引擎相关算法 - 聚类 </a>

</p>

转载于:https://my.oschina.net/wxcchd/blog/139271

最后

以上就是无情果汁为你收集整理的个性化推荐研究(四)之如何利用用户行为数据的全部内容,希望文章能够帮你解决个性化推荐研究(四)之如何利用用户行为数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部