亚马逊 协同过滤算法 Collaborative filtering

这节课时郭强的三维课。他讲的是MAYA和max 。自己对这个也不怎么的感兴趣。而且这个课感觉属于数字媒体。自己对游戏,动画,这些东西一点都不兴趣,比如大一的时候刚开学的时候,张瑞的数字媒体的导论课。还有就是秀霞的动画课,自己记录一下自己的思想
我在网上看见了这样一个说法,说的是跟着本科生导师做项目。就比如一个人说的,先找一个APP运行一遍,然后再这个基础上修改,各种的粘贴代码。是继续的做这个项目,还是学一点计算机的基础知识了。
开始写算法,亚马逊的协同过滤算法

第一:初次印象,进入一个网站的时候,可以看见你的最近在收缩一些什么东西。

 

提出问题:网易云音乐的推荐算法。 淘宝商品推荐算法,amazon发明的"喜欢这个商品的人,也喜欢某某"

算法的核心是:多维空间中两个向量夹角的余弦公式


collaborative filtering 分为两大类
1.先找到与你相似的人,看看他们买了什么东西,而你没有买的什么东西,那么就推荐给你。这个第一类方法的实现的核心是,多维空间两个向量夹角的余弦公式

2.第一个是郭强讲的矩阵

由一个简单的例子来引入问题
在第一类的方法中最大的问题就是判断并且量化两人的相似性。
例子:假如网易云音乐现在有3首歌曲,A,B,C
甲收藏了A歌曲,而拉黑了B,C
乙总是循环播放A, 而跳过B.听完C
丙跳过了A,主动播放了B,分享了C

依据上面可以看出,A和B比较相似

把这3首歌曲看成是三维空间的三个维度。 A歌曲是X轴 B歌曲是Y轴 C歌曲是Z轴
对歌曲的喜欢程度即是该维度上的坐标。现在量化喜欢程度(单曲循环=5 分享=4 收藏=3 主动播放=2 听完=1 跳过=-1 拉黑=-5)。那么每个人的口味就是一个向量。甲=(3,-5,-5)
乙=(5,-1,1),丙=(-1,2,4)
a*b=15+5-5=15 |a|=√(x1^2+y1^2+z1^2)=7.68 |b|=5.196
cosθ=a*b/(|a|*|b|) =0.3797
相应的甲和丙 a*b=-33 |c|= 4.582 cosθ=35.18976
第一个θ的值算出来,cos70=0.3420201433 第二个算出来接近是180度。知乎说:0度角,余弦的值是1,表示两个人完全想相同 180度角表示两个人完全的口味不相同
第一类算法的好处就是精准。缺点就是:运算量很大,对于新来的人,听的少,动作的少,也不太好用,那么就发明了第二类方法

 

posted on 2015-09-25 15:06  多情剑客无情剑;  阅读(1131)  评论(0编辑  收藏  举报

导航