码迷,mamicode.com
首页 > 编程语言 > 详细

推荐算法-欧几里得距离

时间:2019-08-25 00:35:40      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:dex   src   nta   bsp   ccm   avl   bee   tin   atm   

一、欧几里得距离
用来记录两个向量之间的距离。
欧氏距离越小,两个用户相似度就越大,欧氏距离越大,两个用户相似度就越小。
二维空间的公式:技术图片 技术图片 其中, 技术图片 为点技术图片 与点 技术图片 之间的欧氏距离; 技术图片 为点 技术图片到原点的欧氏距离。
三维空间的公式:技术图片技术图片
n维空间的公式:技术图片
二、闵可夫斯基距离
技术图片
当p=1时,即为曼哈顿距离;
当p=2时,即为欧几里得距离
当 技术图片 时,即为切比雪夫距离

三、实现一个简单的音乐推荐系统

1、基于相似用户做推荐

跟你听类似歌曲的人,看作口味相同的用户。
  • 通过用户的行为来定义对歌曲的喜爱程度,给每个行为定义一个得分,得分越高表示越喜爱:
技术图片
  • 每个人对歌曲的喜爱程度表示为如下:
技术图片
  • 通过欧几里得距离来计算两个向量之间的相似度

 你:(5,3,3,0,-1,2,5,4,1,-1)

小明:(4,5,2,1,0,3,2,0,1,1)

2、基于相似歌曲做推荐

新用户还没收集足够多的行为数据,则基于相似歌曲进行推荐。

基于歌曲特征项计算相似度,我们可以对歌曲定义一些特征项【伤感、愉快、摇滚、民谣、柔和、高亢】
人工给每首歌每个特征项打分,工程浩大,存在个人主观性,影响推荐的准确性,不可行。
 
那么通过什么数据来量化两个歌曲的相似程度?
对于两首歌,如果喜欢听的人群都是差不多的,就可以侧面反映出这两首歌比较相似。

 技术图片

 

 

推荐算法-欧几里得距离

标签:dex   src   nta   bsp   ccm   avl   bee   tin   atm   

原文地址:https://www.cnblogs.com/wjh123/p/11401653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!