推荐算法——基于图模型
2017-07-22 19:29
190 查看
基于图模型(graph-based model) 将用户行为数据表示成图的形式。
![](https://img-blog.csdn.net/20170722184847320?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA2MDExOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
如上,用户A对物品a,b,d有行为。
表示成二分图之后,给用户u推荐物品可以转化为度量用户顶点vu和与vu没有边直连的物品节点在图上的相关性,相关性越高的物品在推荐列表中权重越高。
顶点的相关性主要体现在如下方面:
两个顶点之间的路径数
两个顶点之间路径的长度
两个顶点之间的路径经过的点
相关性高的一对顶点有如下特征:
两个顶点之间有很多路径相连
连接两个顶点之间的路径长度都比较短
连接两个顶点之间的路径不会胫骨出度较大的顶点
利用随机游走的personalRank算法来为用户推荐物品:
假定要给用户u进行个性化推荐,可以从用户u对应的节点vu开始在用户物品二分图上进行随机游走,游走到任何一个节点的视乎,以α的概率决定是继续游走还是停止游走并从vu节点重新游走,如果继续游走,那么从当前节点指向的节点按照均匀分布随机选择一个节点作为游走下次经过的节点。
这样重复之后,每个物品节点被访问的概率收敛到一个数,最终的推荐列表中物品的权重就是物品节点的访问概率。
![](https://img-blog.csdn.net/20170722192016152?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA2MDExOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
缺点
时间复杂度方面有明显的缺点,在为每个用户推荐的时候都需要在整个二分图上迭代,直到整个图上的PR(v)收敛,耗时。
解决
减少迭代次数,但是会影响精度
从矩阵论出发重新设计算法
讲PR转换成为矩阵的形式,令M为用户物品二分图的转移概率矩阵,即:
M(v,v,)=1|out(v)|
迭代公式变为:
r=(1−α)r0+αMTr=(1−α)(1−αMT)−1r0
只需要计算一次(1−αMT)−1即可。
如上,用户A对物品a,b,d有行为。
表示成二分图之后,给用户u推荐物品可以转化为度量用户顶点vu和与vu没有边直连的物品节点在图上的相关性,相关性越高的物品在推荐列表中权重越高。
顶点的相关性主要体现在如下方面:
两个顶点之间的路径数
两个顶点之间路径的长度
两个顶点之间的路径经过的点
相关性高的一对顶点有如下特征:
两个顶点之间有很多路径相连
连接两个顶点之间的路径长度都比较短
连接两个顶点之间的路径不会胫骨出度较大的顶点
利用随机游走的personalRank算法来为用户推荐物品:
假定要给用户u进行个性化推荐,可以从用户u对应的节点vu开始在用户物品二分图上进行随机游走,游走到任何一个节点的视乎,以α的概率决定是继续游走还是停止游走并从vu节点重新游走,如果继续游走,那么从当前节点指向的节点按照均匀分布随机选择一个节点作为游走下次经过的节点。
这样重复之后,每个物品节点被访问的概率收敛到一个数,最终的推荐列表中物品的权重就是物品节点的访问概率。
缺点
时间复杂度方面有明显的缺点,在为每个用户推荐的时候都需要在整个二分图上迭代,直到整个图上的PR(v)收敛,耗时。
解决
减少迭代次数,但是会影响精度
从矩阵论出发重新设计算法
讲PR转换成为矩阵的形式,令M为用户物品二分图的转移概率矩阵,即:
M(v,v,)=1|out(v)|
迭代公式变为:
r=(1−α)r0+αMTr=(1−α)(1−αMT)−1r0
只需要计算一次(1−αMT)−1即可。
相关文章推荐
- 基于隐语义模型的推荐算法---《推荐系统实践》---Python源码(11)
- 基于朴素贝叶斯的内容推荐算法
- 推荐算法:基于特征的推荐算法
- 推荐算法——基于物品的协同过滤算法
- 基于JavaScript的Base64编码、解码算法 推荐
- 基于AR预测模型的来电显示2FSK解调算法仿真
- 基于Spark MLlib平台和基于模型的协同过滤算法的电影推荐系统(二)代码实现
- 基于用户的推荐算法
- 基于评分数据的推荐算法实现:slopeone和矩阵分解
- 推荐算法--基于用户的协同过滤算法
- 基于矩阵分解推荐算法之交替最小二乘法(ALS)--附实现代码
- 推荐算法:基于领域的协同滤波:数据稀疏和冷启动
- 推荐系统算法之基于邻域的算法
- 推荐算法之基于物品的协同过滤算法
- 推荐系统(二) —— 利用用户行为数据 —— 基于领域的算法
- 【总结】基于机器学习方法的POI品类推荐算法
- 基于SVD矩阵分解的推荐算法及其应用
- 基于MapReduce编程模型的数据挖掘算法
- RUP大讲堂(第八讲)-基于模型转换的OOAD 推荐
- 个性化推荐算法------基于内容的推荐和基于邻域的协同过滤