機器學習相關 協同過濾

2021-08-16 22:27:13 字數 1341 閱讀 5358

在現今的推薦技術和演算法中,最被大家廣泛認可和採用的就是基於協同過濾的推薦方法。

本文將帶你深入了解協同過濾的秘密。下面直接進入正題

1 什麼是協同過濾

協同過濾是利用集體智慧型的乙個典型方法。要理解什麼是協同過濾 (collaborative filtering, 簡稱 cf),首先想乙個簡單的問題,如果你現在想看個電影,但你不知道具體看哪部,你會怎麼做?大部分的人會問問周圍的朋友,看看最近有什麼好看的電影推薦,而我們一般更傾向於從口味比較類似的朋友那裡得到推薦。這就是協同過濾的核心思想。

換句話說,就是借鑑和你相關人群的觀點來進行推薦,很好理解。

2 協同過濾的實現

要實現協同過濾的推薦演算法,要進行以下三個步驟:

收集資料——找到相似使用者和物品——進行推薦

收集資料

找到相似使用者和物品

這一步也很簡單,其實就是計算使用者間以及物品間的相似度。以下是幾種計算相似度的方法:

歐幾里德距離

皮爾遜相關係數

cosine 相似度

tanimoto 係數

進行推薦

在知道了如何計算相似度後,就可以進行推薦了。

在協同過濾中,有兩種主流方法:基於使用者的協同過濾,和基於物品的協同過濾。具體怎麼來闡述他們的原理呢,看個圖大家就明白了

基於使用者的 cf 的基本思想相當簡單,基於使用者對物品的偏好找到相鄰鄰居使用者,然後將鄰居使用者喜歡的推薦給當前使用者。計算上,就是將乙個使用者對所有物品的偏好作為乙個向量來計算使用者之間的相似度,找到 k 鄰居後,根據鄰居的相似度權重以及他們對物品的偏好,**當前使用者沒有偏好的未涉及物品,計算得到乙個排序的物品列表作為推薦。 下圖給出了乙個例子,對於使用者 a,根據使用者的歷史偏好,這裡只計算得到乙個鄰居 - 使用者 c,然後將使用者 c 喜歡的物品 d 推薦給使用者 a。

總結以上兩個方法都能很好的給出推薦,並可以達到不錯的效果。但是他們之間還是有不同之處的,而且適用性也有區別。下面進行一下對比

計算複雜度

適用場景

在非社交網路的**中,內容內在的聯絡是很重要的推薦原則,它比基於相似使用者的推薦原則更加有效。比如在購書**上,當你看一本書的時候,推薦引擎會給你推薦相關的書籍,這個推薦的重要性遠遠超過了**首頁對該使用者的綜合推薦。可以看到,在這種情況下,item cf 的推薦成為了引導使用者瀏覽的重要手段。同時 item cf 便於為推薦做出解釋,在乙個非社交網路的**中,給某個使用者推薦一本書,同時給出的解釋是某某和你有相似興趣的人也看了這本書,這很難讓使用者信服,因為使用者可能根本不認識那個人;但如果解釋說是因為這本書和你以前看的某本書相似,使用者可能就覺得合理而採納了此推薦。

相反的,在現今很流行的社交網路站點中,user cf 是乙個更不錯的選擇,user cf 加上社會網路資訊,可以增加使用者對推薦解釋的信服程度。

機器學習相關 協同過濾

在現今的推薦技術和演算法中,最被大家廣泛認可和採用的就是基於協同過濾的推薦方法。本文將帶你深入了解協同過濾的秘密。下面直接進入正題 1 什麼是協同過濾 協同過濾是利用集體智慧型的乙個典型方法。要理解什麼是協同過濾 collaborative filtering,簡稱 cf 首先想乙個簡單的問題,如果...

機器學習相關 協同過濾

在現今的推薦技術和演算法中,最被大家廣泛認可和採用的就是基於協同過濾的推薦方法。本文將帶你深入了解協同過濾的秘密。下面直接進入正題 1 什麼是協同過濾 協同過濾是利用集體智慧型的乙個典型方法。要理解什麼是協同過濾 collaborative filtering,簡稱 cf 首先想乙個簡單的問題,如果...

機器學習相關 協同過濾

本文 僅供學習所用,所有權力歸原作者所有。在現今的推薦技術和演算法中,最被大家廣泛認可和採用的就是基於協同過濾的推薦方法。本文將帶你深入了解協同過濾的秘密。下面直接進入正題 1 什麼是協同過濾 協同過濾是利用集體智慧型的乙個典型方法。要理解什麼是協同過濾 collaborative filterin...