网站建设项目进展情况,wordpress好还是dz,老年夫妻做爰视频网站,关键词竞价排名名词解释文章目录1. 算法解析2. 基于相似用户做推荐3. 基于相似歌曲做推荐4. 总结音乐App的功能越来越强大#xff0c;不仅可以自己选歌听#xff0c;还可以根据你听歌的口味偏好#xff0c;
给你推荐可能会喜爱的音乐#xff0c;有时候#xff0c;推荐的还非常适合你的口味。1. 算…
文章目录1. 算法解析2. 基于相似用户做推荐3. 基于相似歌曲做推荐4. 总结音乐App的功能越来越强大不仅可以自己选歌听还可以根据你听歌的口味偏好
给你推荐可能会喜爱的音乐有时候推荐的还非常适合你的口味。1. 算法解析
用两句话总结
找到跟你口味相似的用户把他们爱听的歌曲推荐给你找出跟你喜爱的歌曲特征相似的歌曲把这些歌曲推荐给你
2. 基于相似用户做推荐
把跟你听类似歌曲的人看做口味相似的用户。用“1”表示“喜爱”用“0”笼统地表示“不发表意见”。从图中看出你and小明共同喜爱的歌曲最多有5首。可以说小明跟你的口味非常相似。 遍历所有的用户对比每个用户跟你共同喜爱的歌曲数并且设置一个阈值某用户共同喜爱歌曲数超过这个值把这个用户看作跟你口味相似把这个用户喜爱但你还没听过的歌曲推荐给你。
如何知道用户喜爱哪首歌曲呢可以通过用户的行为来定义这个喜爱程度。给每个行为定义一个得分得分越高表示喜爱程度越高。 刚刚那个例子把每个人对每首歌曲的喜爱程度表示出来。图中某个人对某首歌曲是否喜爱我们不再用“1”或“0”表示而是对应一个分值。 欧几里得距离Euclidean distance是用来计算两个向量之间的距离的。 K维空间中的某个位置我们可以写作X1X2X3……Xk。这种表示方法就是向量vector。 把每个用户对所有歌曲的喜爱程度都用一个向量表示。计算出两个向量之间的欧几里得距离作为两个用户的口味相似程度的度量。
3. 基于相似歌曲做推荐
如果用户是一个新用户还没有收集到足够多的行为数据该如何推荐呢
基于相似歌曲的推荐方法就是说如果某首歌曲跟你喜爱的歌曲相似我们就把它推荐给你。
对歌曲定义一些特征项比如伤感、愉快、摇滚、民谣柔和、高亢等等。每个歌曲的每个特征打一个分数这样每个歌曲就对应一个特征向量。基于这个特征向量计算歌曲之间的欧几里得距离。欧几里得距离越小表示两个歌曲的相似程度越大。
上面方案需要一个前提找到足够多并且能够全面代表歌曲特点的特征项除此之外还要人工给每首歌标注每个特征项的得分。对于收录了海量歌曲的音乐App来说这是一个非常大的工程。此外人工标注有很大的主观性。
换一种思路。对于两首歌如果喜欢听的人群都是差不多的那侧面就可以反映出这两首歌比较相似。如图所示每个用户对歌曲有不同的喜爱程度我们依旧通过上一个解决方案中定义得分的标准来定义喜爱程度。 这个图跟基于相似用户推荐中的图几乎一样。只不过这里把歌曲和用户主次颠倒了一下。
基于相似用户的推荐方法中针对每个用户我们将对各个歌曲的喜爱程度作为向量。基于相似歌曲的推荐思路中针对每个歌曲我们将每个用户的打分作为向量。
有了每个歌曲的向量表示通过计算向量之间的欧几里得距离来表示歌曲之间的相似度。欧几里得距离越小两个歌曲越相似。
然后在用户已经听过的歌曲中找出他喜爱程度较高的歌曲。然后找出跟这些歌曲相似度很高的其他歌曲推荐给他。
4. 总结
上面问题是推荐系统Recommendation System里最典型的一类问题。这部分内容可见算法的强大之处利用简单的向量空间的欧几里得距离就能解决如此复杂的问题。
上面只说了基本的理论实践中遇到的问题还有很多比如冷启动问题产品初期积累的数据不多不足以做推荐等等。这些更加深奥的在实践中慢慢探索吧。