协同过滤
皮尔逊相似系数
即相关分析中的相关系数r,分别对X和Y基于自身总体标准化后计算空间向量的余弦夹角。
公式如下:
Jaccard相似度
卡德相似度,指的是文本A与文本B中交集的字数除以并集的字数,杰卡德相似度与文本的位置、顺序均无关,并且公式非常简单:
Jaccard(文章1,文章2) =0
Jaccard(文章1,文章3)=3/8
Jaccard(文章2,文章3)=3/8
相似度结果如下:文章2,文章3=文章1,文章3>文章1,文章2。
使用哪种方法计算相似度都可以,没有一个明确的答案谁好谁坏,相反,我们怎么定义这种度量标准,如何实现精细化的量化?这相对来说更加重要些。
总结优点:
缺点:
度量标准难定义:上面的例子为文章,我们可以通过 tf-idf 抽取文章的特征,但是我们在大多数的情况下很难从项目中抽取特征,比如:视频等多媒体内容中,信息的都蕴含在高纬度中,很难进行抽取。
无法挖掘用户的潜在兴趣:我们推荐的内容只是根据用户过去的喜好,因此推荐的内容也跟用户过去喜好的相似。
新用户无法推荐:由于新用户没有浏览历史,因此无法获得用户的喜好。
协同过滤推荐 Collaborative Filtering1. 基本原理对于每个用户,采集对每个内容的消费行为,量化构建用户-内容行为矩阵,通过该矩阵的分析处理计算内容-内容的两两相似度。
2. 主要步骤(1)用户行为的采集
用户的反馈通常分为两种:一种是正反馈行为,一种是负反馈行为。
在正反馈行为中还分为显性和隐形两种,,比如说:评价、分享、点赞、收藏、下载等等。用户主动参与的,认为是一个正反馈显性的行为,比如:用户页面的停留时间,播放视频等自然操作行为,认为是一个正反馈的隐形行为。
但是由于我们在实际收集数据中,采集到用户正反馈的显性行为比较少,往往需要隐形的数据帮助我们推荐更精准的量化。负反馈行为就是负向评价,或者投反对票,不喜欢等。
(2)用户-内容行为矩阵构建
划定采集行为的窗口期:从现在开始我要回溯多久的一个数据,确定窗口期的原因在于我们的内容会发生变化,并且用户的兴趣也可能发生变化,因此,具体的窗口期需要根据各个业务领域而定,比如新闻类,窗口期不宜设置过长。
定义正负反馈行为的权重:一般来说,显性的正反馈的权重大于隐形的正反馈,比如正向的评价,肯定会比页面停留时间的权重要高,而负反馈的权重需要根据用户行为的深浅进行判断,比如:用户如果明确点击了不喜欢,或者一个负向的评价,则可以认为是一个权重比较高的行为。
数据的预处理(降噪和归一化):
降噪:数据是用户使用过程中产生的,因此会存在大量的噪音和误操作,需要将这些数据进行过滤,比如:在用户的生命周期中,只产生了一到两次的正反馈行为,这种用户的参考价值比较低。
归一化:目的是让大的输入,大的信号映射到小范围内。
假设一个产品用户查看次数为X1、分享次数X2,权重分别为Y1、Y2,加权求和 X1 Y1+ X2 Y2。
假设’ X1属于[10~1000],X2属于[0~1],由于X1远远大于X2,那么X2 Y2就可以忽略不计了,整个加权求和就只由X1 Y1决定,小的信号被淹没了。
常用的函数:
y=(x-MinValue)/(MaxValue-MinValue) (归一到0 1 之间)
y=0.1+(x-min)/(max-min)*(0.9-0.1)(归一到0.1-0. 9 之间)
(3)矩阵分析计算相似度
此过程中依旧是基于向量,计算两个向量之间的距离或者计算相似度,算法与上面CB中基本一致。
在用户-行为矩阵中,有两种维度计算方式:
将用户对所有的物品的偏好,作为一个向量计算用户之间的相似度。
将所有用户对某个物品的偏好,作为向量来计算物品之间的相似度。
(1)用户行为-矩阵的构建
收集到如下正反馈行为及赋权规则:查看=1、收藏=4、分享=1。
用户-行为矩阵:每个单元格代表了用户在该影片的行为量化后的结果。
数据预处理
(2)计算相似度
基于用户维度
首先计算用户与其他用户在商品维度上的相似性,每一个用户都可以用一个向量表示,首先计算第一个用户与其他用户的余弦相似度。
小二的向量可以表示为(4,3,0,0,5,0),其他类似:
Sim(小二,小三)>Sim(小二,小四)> Sim(小二,小五)> Sim(小二,小六) >Sim(小七)。
由结果可以看出,小二,小三的相似度高,和小七完全不相似,根据此计算每个用户之间的相似度。
首先找到与小二最相似的N个用户,这个n=2,最相近的用户为小三、小四,且除去小二的看过的影片还有影片3、影片4。
影片3=(0.7*4+0.6*5)/(0.7+0.6)=4.5
影片4=(0.6*3)/0.6=3.0
因此向用户推荐影片 3 和影片4。
基于商品维度
每一个影片都可以通过向量表示,影片 1 的向量可以表示为(4,5,4,0,0,0)。
根据此计算每影片之间的相似度。
小二,看了影片1、影片2、影片5。
与影片 1 相似的有:影片3、影片5
与影片 2 相似的有:影片6、影片5
与影片 5 相似的有:影片3、影片1、
应该先用户推荐:影片 3 和影片6。
总结优点:不依赖对于内容的理解,甚至可夸异构内容实现推荐。
缺点:
头部内容的问题:非常热门的内容容易覆盖用户行为更多,比如最近比较火的《延禧攻略》,如果仅仅基于行为来说的话,会有很多用户都会产生正向的行为,这样计算出来了,就会更很多内容有相似性,因此还需要进行降权处理。
业务关联导致的相关性:在内容的生命周期内,由于业务关联导致用户既看了这个,又看了那个。
其他:容易受脏数据污染,新内容冷启动慢,结果解释性差。
相关阅读
自己也整理了一下钢铁侠(2008)无敌浩克(2008)钢铁侠2(2010)[短片 神盾顾问][短片 寻找雷神锤子路上发生的趣事]雷神(2011)美国队长:复仇者
7000元左右i7-7700配GTX1070高游戏电脑配置清单推荐
伴随者七代平台日益普及和流行,据小编了解到开始越来越多的用户考虑最新平台。相信很多用户跟小编一样存在买新不买旧的心理。是的
去哪儿APP为何抢票呢?今天小编就手把手教你,打开“去哪儿旅行”APP,当您查询到你想去的目的地没有余票时,页面会在相关车次的席别余票
淘宝链接
什么是运行?这是我原来文章《姑娘,你其实只是运行经理》里的一个词。简单理解一下,运行是一种浑浑噩噩的工作状态,即在日常工作中找不