對歐幾裡德距離(Euclidean Distance)的理解
假設主體為 a, 對主體的評價為 a1, a2, a3
假設主體為 b, 對主體的評價為 b1, b2, b3
設某座標系有 x1, x2, x3 三條座標軸,則 a, b 在此座標系中的座標可以表示為 (a1, a2, a3) 和 (b1, b2, b3)
而 a 與 b 的距離即可作為它們的相似程度,距離越近越相似。
通常情況下,a與b的相似性取距離的倒數:Similarity(a,b) = 1/Distance(a, b) 優點 方便理解,日後凡是要求2種物品的相似性,都可以先在腦海中想像一個座標繫上的2個點,然後再去思考它們的維度應該是什麼。對於電影來說,維度為評分,對於連結來說,維度是訪問量。 缺點 可參考維度越多,相似性越小。
假設平面上2個點 a(0,0), b(1,1) 此時它們的相似性是 1/(1+2) = 1/3 假設增加一個維度後,變成 a(0,0,0), b(1,1,1),則此時它們的相似性是 1/(1+3) = 1/4 顯然,維度增加後,它們的相似性變小了。除非新增的維度值相差為0. 對皮爾森相關係數(Pearson Correlation Coefficient)的理解
同樣計算 a, b 兩個產品的相似性,分別以 a, b 的評價為 x, y 座標軸,則可得到3個點 (a1, b1), (a2, b2), (a3, b3) 通過計算這3個點在座標系中的相關係數,可得到相似性。 優點 相對於 Euclidean Distance 來說,資料越多越準確 所謂 User-based Filtering 和 Item-Based Filtering
設產品數量為 m, 使用者數量為 n, 現需要為使用者推薦他感興趣,但還沒購買的產品。 User-based Filtering 的做法 算出其他使用者與目前使用者的相似性
遍曆使用者
遍曆產品 以其他使用者為媒介,算出對未購買產品的興趣度
遍曆使用者
遍曆未購買產品 Item-based Filtering 的做法 算出所有產品的相似性
遍曆產品 遍曆產品 以已購買產品為媒介,算出未購買產品的興趣度
遍曆已購買產品 遍曆未購買產品 總結 兩者都需要3個要素,(使用者,使用者,產品),或(使用者,產品,產品) 一個利用使用者與使用者之間的相似性,計算出產品的興趣度 另一個利用產品與產品之間的相似性,計算出產品的興趣度 User-based 僅適用於緊緻型(dense)資料,計算量大,不可分步驟計算 Item-based 可適用於稀疏型(sparse)資料,計算量小,並可分步驟計算