qq音乐的每日推荐算法

如题所述

这就是amazon发明的“喜欢这个商品的人,也喜欢某某”算法,其核心是数学中的“多维空间中两个向量夹角的余弦公式”。

例子:3首歌放在那里,《最炫民族风》,《晴天》,《Hero》;A君,收藏了《最炫民族风》,而遇到《晴天》,《Hero》则总是跳过;B君,经常单曲循环《最炫民族风》,《晴天》会播放完,《Hero》则拉黑了;C君,拉黑了《最炫民族风》,而《晴天》《Hero》都收藏了;我们都看出来了,A,B二位品味接近,C和他们很不一样。

那么问题来了,说A,B相似,到底有多相似,如何量化?我们把三首歌想象成三维空间的三个维度,《最炫民族风》是x轴,《晴天》是y轴,《Hero》是z轴,对每首歌的喜欢程度即该维度上的坐标,

并且对喜欢程度做量化(比如: 单曲循环=5, 分享=4, 收藏=3, 主动播放=2 ,  听完=1,  跳过=-1 , 拉黑=-5 )。那么每个人的总体口味就是一个向量,A君是 (3,-1,-1),B君是(5,1,-5),C君是(-5,3,3)。

我们可以用向量夹角的余弦值来表示两个向量的相似程度, 0度角(表示两人完全一致)的余弦是1, 180%角(表示两人截然相反)的余弦是-1。根据余弦公式,   夹角余弦= 向量点积/ (向量长度的叉积) =  ( x1x2 + y1y2 + z1z2) / (  跟号(x1平方+y1平方+z1平方 ) x  跟号(x2平方+y2平方+z2平方 ) )可见 A君B君夹角的余弦是0.81 , A君C君夹角的余弦是 -0.97 。


温馨提示:答案为网友推荐,仅供参考
相似回答