回覆列表
  • 1 # 北航秦曾昌

    協同過濾是推薦系統中採用的一種技術手段,簡單地說就是利用跟你有某些相似之處的群體的喜好行為來推薦你可能感的興趣的資訊,跟你行為相似的使用者或者使用者行為能幫助過濾篩選你想要的資訊,達到一種“協同”的效果。

    舉例來說,比如你現在想去看電影,但是不知道在眾多的電影之中選擇哪一部,這時你會怎麼做?

    你可能問你身邊的朋友、同事、同學,他們最近看了什麼好看電影,你會參考他們的選擇。

    或者,開啟影片網站,你在選擇電影的時候,你會偏向去你之前經常看的電影類別中,找一找有沒有什麼新出的這類題材的電影,比如你之前是一個鋼鐵俠迷,鋼鐵俠系列的電影你都看過了,你可能就會再去看美國隊長等。

    上面這個例子,就展現了協同過濾的思想及兩種方式:基於使用者的協同過濾和基於物品的協同過濾。

    1)基於使用者的協同過濾,目標就是尋找跟你行為相似度高的使用者,把他們的選擇推薦給你。如下圖所示:

    但這種方式,會面臨一些問題,一是對於一個沒有什麼行為積累的新使用者,很難找到跟他行為相似的使用者;二是,本使用者關係的某類產品,跟其相似的使用者在該類產品的選擇上很少,也無法推薦;三是,人是善變的動物,比如,你之前特別愛手遊,某一天你突然把遊戲戒掉了,那在給你推薦遊戲類的軟體就是無用的。因此基於使用者的協同過濾在實際應用中,因使用者表稀疏,且不易維護往往不常使用。

    2)基於物品的協同過濾,既然使用者不便維護,我們就尋求物品之間的相似度。因為物品的一旦生產出來,特性就是確定的,而且商家為了能更好地賣出商品,也會積極描述物品的特點,因此基於物品的協同過濾,物品的特徵更容易獲取,也就更容易計算物品之間的相似度。

    而在實際中,也要根據不同的應用場景選擇合適的方式,比如,如果做新聞推薦的話,就最好選擇基於使用者的方式,實時進行推薦。如果是做電商、像圖書、電影等,就更適合基於物品的推薦。

  • 2 # 軟體測試開發技術棧

    協同過濾可以簡單理解為人們對“人以群分,物以類聚”演算法解釋和應用。

    人以群分——基於使用者的協同過濾

    基於使用者的協同過濾主要基於的是使用者之間的相似度(依賴使用者的歷史喜好資料),先計算使用者之間的相似度,然後將使用者喜歡的物品推薦給相似使用者。也就是說,當用戶需要個性化推薦時,可以先找到與他相似其他使用者(透過興趣、愛好或行為習慣等),然後把那些相似使用者喜歡的並且自己不知道的物品推薦給使用者。

    物以類聚——基於物品的協同過濾

    基於專案(item-based)的協同過濾基於物品之間的相似度,先計算物品之間的相似度,然後根據使用者對物品的評分,將使用者喜歡物品的相似物品推薦給使用者。也就是說,當一個使用者需要個性化推薦時,例如由於他之前購買過《集體智慧程式設計》這本書,所以會給他推薦《機器學習實戰》,因為其他使用者很多都同時購買了這兩本書。

    基於使用者協同過濾與基於物品協同過濾的區別

    基於使用者的協同過濾需要線上(系統上線後)找使用者和使用者之間的相似度關係,計算複雜度肯定會比基於物品的協同過濾高。同時還需考慮推薦演算法的冷啟動問題(如何在沒有大量使用者資料的前提下能夠讓使用者對推薦結果滿意),比如可以透過使用者註冊時讓使用者選擇自己感興趣的領域,生成粗粒度的推薦。

    基於使用者的協同過濾是給使用者推薦那些和他有共同興趣的使用者喜歡的物品,所以基於使用者的協同過濾推薦較為社會化,即推薦的物品是與使用者興趣一致的那個群體中的熱門物品,同時能夠推薦給使用者新類別物品。

    基於物品協同過濾則是為使用者推薦那些和他之前喜歡的物品類似的物品,基於物品協同過濾的推薦較為個性,因為推薦的物品一般都滿足自己的獨特興趣,所以比較是適應於使用者個性化需求強烈的領域,但由於物品的相似度比較穩定,很難推薦給使用者新類別的物品。

  • 中秋節和大豐收的關聯?
  • 聯合國維和部隊的作用是?