進行推薦二

2021-07-02 01:43:07 字數 1714 閱讀 7893

引言

探索相似性度量:基於使用者推薦程式的另乙個重要部分是usersimilarity實現。基於使用者的推薦程式非常依賴這個元件。如果對使用者之間的相似性缺乏可靠並有效的定義,這類推薦方法是沒有意義的。這也適用於基於使用者推薦程式的近親——基於物品的推薦程式,它同樣依賴於相似性。這乙個元件非常重要。

皮爾遜相關係數是乙個介於-1到1之間的數,它度量兩個一一對應的數列之間的線性相關程度。也就是說,它表示兩個佇列中對應數字一起增到或一起減小的可能性。它度量數字一起按比例改變的傾向性,也就是說兩個數列中的數字存在乙個大致的線性關係。當該傾向性強時,相關值趨向於1.當相關性很弱時,相關值趨於0.在負相關的情況下——乙個序列的值高而另乙個序列的值低——相關值趨於-1。

對於統計學熟悉的讀者而言,皮爾遜相關係數是兩個序列協方差與二者方差乘積的比值。協方差計算的是兩個序列變化趨勢一致的絕對量。當兩個序列相對於各自的均值點向同乙個方向移動得越遠,協方差值就越大。除以方差是為了對這一變化進行歸一化。使用mahout中的皮爾遜相關係數並不需要理解這些定義,如果你感興趣,可以從網上查閱相關資料。

這個在統計學中應用廣泛的概念,同樣可以用於度量使用者之間的相似性。它度量兩個使用者針對同乙個物品的偏好值變化趨勢的一致性——都偏高或都偏低。

皮爾遜相關係數存在的問題

引入權重

為了解決上述問題,pearsoncorrelationsimilarity在標準計算公式的基礎上提供了乙個擴充套件,即加權(weighting)

皮爾遜相關係數並不直接反應其用到的物品數目,而我們是需要這個數字的。考慮的資訊越多,所得到的相關結果就越可靠。為了體現這乙個觀點,最好在基於較多物品計算相關係數時,使正相關值向1.0偏移,而使負相關值向-1.0偏移。或者,當基於較少的物品計算相關係數時,可以讓相關值向偏好值的均值偏移;這與前面的效果類似,但實現會較為複雜,因為他需要記錄使用者對的平均偏好值。

基於歐式距離定義相似度和採用余弦相似性度量都將使用者偏好值視為空間中的點,並基於此進行相似性度量。基於歐式距離定義相似度:計算兩個使用者之間的歐式距離d。這個值本身並不代表相似度,因為該值越大表示距離越遠,也就是說兩個使用者越不相似。使用者越相似,這個值應該越小。採用余弦相似性度量:利用射線夾角同樣可以度量相似性。余弦相似性經常在協同過濾中出現。

對於我們來說,斯皮爾曼相關係數是皮爾遜相關係數的乙個有趣的變體。該相關係數並非基於原始的偏好值,而是基於偏好值的相對排名來計算。

有趣的是,還存在一些完全拋開偏好值的usersimilarity實現。他們不管乙個使用者對乙個物品的偏好值是高還是低,只關心使用者是否表達過偏好。tanimotocoefficientsimilarity就是這樣乙個實現,它基於谷本係數。這個值也叫做jaccard係數。它由兩個使用者共同表達過偏好的物品數目除以至少乙個使用者表達過偏好的物品數目而得。換句話說,它是兩個偏好物品集合的交集大小與並集大小的比值。

與谷本係數類似,它也基於兩個使用者共同評估過的物品數目,但在給定物品總數和每個使用者評價物品數量的情況下,其最終結果衡量的是兩個使用者有這麼多共同物品的「不可能性」。對數似然比的計算則略有不同。它試圖反映兩個使用者由於投緣巧合發生重疊的不可能性。也就是說,兩個不相似的使用者毫無疑問會共同評價一些電影,但是兩個相似使用者之間的重疊不太可能是出於巧合。通過一些統計檢驗,這一相似性度量試圖判斷兩個使用者口味不相似的不可能性有多大;不可能性越大,兩個使用者的相似度越高。最終的相似度值可以解釋為發生重疊的非偶然概率。

推薦系統(二)

協同過濾 collaborative filtering 在之前的基於內容的推薦系統中,對於每一部電影,我們都掌握了可用的特徵,通過使用這些特徵,並運用線性回歸模型,可訓練得每乙個使用者對某一電影的評分。相反地,如果我們擁有使用者對每一部電影的評分,我們就可以學習得電影得特徵。但如果我們既無法得到電...

推薦系統 電影推薦系統(二)

als是交替最小二乘法的簡稱,是2008年以來,用的比較多的協同過濾演算法。它已經整合到spark的mllib庫中,使用起來比較方便。這裡可以想象一下,每個人的性格愛好可以認為是乙個抽象的模型,每個人的模型都有自己的乙個特點。因此,每個人對於商品的評價都有自己的一套規律,als演算法就是可以通過這些...

利用社交網路資料進行推薦

原創 石曉文 本篇的思維導圖如下 一般來說,有3種不同的社交網路資料 雙向確認的社交網路資料 一般通過無向圖表示 單向關注的社交網路資料 使用者關係是單向的,可以通過有向圖表示 基於社群的社交網路資料 比如豆瓣小組 社交網路資料中也存在長尾分布,主要根據使用者的入度和出度,使用者的入度反映了使用者的...