一、歐幾里得距離
用來記錄兩個向量之間的距離。
歐氏距離越小,兩個用戶相似度就越大,
歐氏距離越大,兩個用戶相似度就越小。
二維空間的公式:
其中,
為點
與點
之間的歐氏距離;
為點
到原點的歐氏距離。







三維空間的公式:


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、基於相似歌曲做推薦
新用戶還沒收集足夠多的行為數據,則基於相似歌曲進行推薦。
基於歌曲特征項計算相似度,我們可以對歌曲定義一些特征項【傷感、愉快、搖滾、民謠、柔和、高亢】
人工給每首歌每個特征項打分,工程浩大,存在個人主觀性,影響推薦的准確性,不可行。
那么通過什么數據來量化兩個歌曲的相似程度?
對於兩首歌,如果喜歡聽的人群都是差不多的,就可以側面反映出這兩首歌比較相似。