1700498923
数据挖掘与数据化运营实战:思路、方法、技巧与应用 3.11.3 协同过滤算法
1700498924
1700498925
协同过滤是迄今为止最成功的推荐系统技术,被应用在很多成功的推荐系统中。电子商务推荐系统可根据其他用户的评论信息,采用协同过滤技术给目标用户推荐商品。协同过滤算法主要分为基于启发式和基于模型式两种。其中,基于启发式的协同过滤算法,又可以分为基于用户的协同过滤算法和基于项目的协同过滤算法。启发式协同过滤算法主要包含3个步骤:1)收集用户偏好信息;2)寻找相似的商品或者用户;3)产生推荐。
1700498926
1700498927
“巧妇难为无米之炊”,协同过滤的输入数据集主要是用户评论数据集或者行为数据集。这些数据集主要又分为显性数据和隐性数据两种类型。其中,显性数据主要是用户打分数据,譬如用户对商品的打分,如图3-4所示。
1700498928
1700498929
1700498930
1700498931
1700498932
图3-4 某电商网站用户对某商品的评分结果
1700498933
1700498934
但是,显性数据存在一定的问题,譬如用户很少参与评论,从而造成显性打分数据较为稀疏;用户可能存在欺诈嫌疑或者仅给定了部分信息;用户一旦评分,就不会去更新用户评分分值等。
1700498935
1700498936
而隐性数据主要是指用户点击行为、购买行为和搜索行为等,这些数据隐性地揭示了用户对商品的喜好,如图3-5所示。
1700498937
1700498938
1700498939
1700498940
1700498941
图3-5 某用户最近在某电商网站的浏览商品记录(左侧的3本书)
1700498942
1700498943
隐性数据也存在一定的问题,譬如如何识别用户是为自己购买商品,还是作为礼物赠送给朋友等。
1700498944
1700498945
1.基于用户的协同过滤
1700498946
1700498947
基于用户(User-Based)的协同过滤算法首先要根据用户历史行为信息,寻找与新用户相似的其他用户;同时,根据这些相似用户对其他项的评价信息预测当前新用户可能喜欢的项。给定用户评分数据矩阵R,基于用户的协同过滤算法需要定义相似度函数s
:U×U→R,以计算用户之间的相似度,然后根据评分数据和相似矩阵计算推荐结果。
1700498948
1700498949
在协同过滤中,一个重要的环节就是如何选择合适的相似度计算方法,常用的两种相似度计算方法包括皮尔逊相关系数和余弦相似度等。皮尔逊相关系数的计算公式如下所示:
1700498950
1700498951
1700498952
1700498953
1700498954
1700498955
1700498956
其中,i表示项,例如商品;Iu表示用户u评价的项集;Iv表示用户v评价的项集;ru,i表示用户u对项i的评分;rv,i表示用户v对项i的评分;表示用户u的平均评分;表示用户v的平均评分。
1700498957
1700498958
另外,余弦相似度的计算公式如下所示:
1700498959
1700498960
1700498961
1700498962
1700498963
另一个重要的环节就是计算用户u对未评分商品的预测分值。首先根据上一步中的相似度计算,寻找用户u的邻居集N∈U,其中N表示邻居集,U表示用户集。然后,结合用户评分数据集,预测用户u对项i的评分,计算公式如下所示:
1700498964
1700498965
1700498966
1700498967
1700498968
其中,s(u,u’)表示用户u和用户u’的相似度。
1700498969
1700498970
假设有如下电子商务评分数据集,预测用户C对商品4的评分,见表3-6。
1700498971
[
上一页 ]
[ :1.700498922e+09 ]
[
下一页 ]