溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mahout中怎么實現(xiàn)相似度計算

發(fā)布時間:2021-08-11 14:36:22 來源:億速云 閱讀:148 作者:Leah 欄目:云計算

這篇文章給大家介紹Mahout中怎么實現(xiàn)相似度計算,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

     在現(xiàn)實中廣泛使用的推薦系統(tǒng)一般都是基于協(xié)同過濾算法的,這類算法通常都需要計算用戶與用戶或者項目與項目之間的相似度,對于數(shù)據(jù)量以及數(shù)據(jù)類型不同的數(shù)據(jù)源,需要不同的相似度計算方法來提高推薦性能,在mahout提供了大量用于計算相似度的組件,這些組件分別實現(xiàn)了不同的相似度計算方法。下圖用于實現(xiàn)相似度計算的組件之間的關系:

Mahout中怎么實現(xiàn)相似度計算

圖1、項目相似度計算組件

Mahout中怎么實現(xiàn)相似度計算

圖2、用戶相似度計算組件

下面就幾個重點相似度計算方法做介紹:

皮爾森相關度

類名:PearsonCorrelationSimilarity

原理:用來反映兩個變量線性相關程度的統(tǒng)計量

范圍:[-1,1],絕對值越大,說明相關性越強,負相關對于推薦的意義小。

說明:1、 不考慮重疊的數(shù)量;2、 如果只有一項重疊,無法計算相似性(計算過程被除數(shù)有n-1);3、 如果重疊的值都相等,也無法計算相似性(標準差為0,做除數(shù))。

    該相似度并不是最好的選擇,也不是最壞的選擇,只是因為其容易理解,在早期研究中經(jīng)常被提起。使用Pearson線性相關系數(shù)必須假設數(shù)據(jù)是成對地從正態(tài)分布中取得的,并且數(shù)據(jù)至少在邏輯范疇內必須是等間距的數(shù)據(jù)。Mahout中,為皮爾森相關計算提供了一個擴展,通過增加一個枚舉類型(Weighting)的參數(shù)來使得重疊數(shù)也成為計算相似度的影響因子。

歐式距離相似度

類名:EuclideanDistanceSimilarity

原理:利用歐式距離d定義的相似度s,s=1 / (1+d)。

范圍:[0,1],值越大,說明d越小,也就是距離越近,則相似度越大。

說明:同皮爾森相似度一樣,該相似度也沒有考慮重疊數(shù)對結果的影響,同樣地,Mahout通過增加一個枚舉類型(Weighting)的參數(shù)來使得重疊數(shù)也成為計算相似度的影響因子。

余弦相似度

類名:PearsonCorrelationSimilarity和UncenteredCosineSimilarity

原理:多維空間兩點與所設定的點形成夾角的余弦值。

范圍:[-1,1],值越大,說明夾角越大,兩點相距就越遠,相似度就越小。

說明:在數(shù)學表達中,如果對兩個項的屬性進行了數(shù)據(jù)中心化,計算出來的余弦相似度和皮爾森相似度是一樣的,在mahout中,實現(xiàn)了數(shù)據(jù)中心化的過程,所以皮爾森相似度值也是數(shù)據(jù)中心化后的余弦相似度。另外在新版本中,Mahout提供了UncenteredCosineSimilarity類作為計算非中心化數(shù)據(jù)的余弦相似度。

Spearman秩相關系數(shù)

類名:SpearmanCorrelationSimilarity

原理:Spearman秩相關系數(shù)通常被認為是排列后的變量之間的Pearson線性相關系數(shù)。

范圍:{-1.0,1.0},當一致時為1.0,不一致時為-1.0。

說明:計算非常慢,有大量排序。針對推薦系統(tǒng)中的數(shù)據(jù)集來講,用Spearman秩相關系數(shù)作為相似度量是不合適的。

曼哈頓距離

類名:CityBlockSimilarity

原理:曼哈頓距離的實現(xiàn),同歐式距離相似,都是用于多維數(shù)據(jù)空間距離的測度

范圍:[0,1],同歐式距離一致,值越小,說明距離值越大,相似度越大。

說明:比歐式距離計算量少,性能相對高。

Tanimoto系數(shù)

類名:TanimotoCoefficientSimilarity

原理:又名廣義Jaccard系數(shù),是對Jaccard系數(shù)的擴展,等式為

范圍:[0,1],完全重疊時為1,無重疊項時為0,越接近1說明越相似。

說明:處理無打分的偏好數(shù)據(jù)。

對數(shù)似然相似度

類名:LogLikelihoodSimilarity

原理:重疊的個數(shù),不重疊的個數(shù),都沒有的個數(shù)

范圍:具體可去百度文庫中查找論文《Accurate Methods for the Statistics of Surprise and Coincidence》

說明:處理無打分的偏好數(shù)據(jù),比Tanimoto系數(shù)的計算方法更為智能。

關于Mahout中怎么實現(xiàn)相似度計算就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI