天天看點

推薦系統學習筆記(一)介紹推薦系統概念推薦算法

推薦系統概念

資訊過載問題

資訊過載,即Information Overload,是一種資訊過于豐富的負面表現。在電子商務領域,資訊過載主要表現為商品的種類和數量過多,導緻兩個問題:資訊消費者如何從大量資訊中找到自己感興趣的資訊;資訊生産者如何讓自己生産的資訊脫穎而出,受到廣大使用者的關注。

推薦系統的任務

推薦系統的主要任務,就是聯系使用者和資訊,一方面幫助使用者發現對自己有價值的資訊,另一方面讓資訊能夠展現在對它感興趣的使用者面前,進而實作資訊消費者和資訊生産者的雙赢。也就是解決資訊過載的問題。

什麼是推薦系統

推薦系統就是自動聯系使用者和物品的一種工具,它能夠在資訊過載的環境中幫助使用者發現令他們感興趣的資訊,也能将資訊推送給它們感興趣的使用者。

推薦系統的應用

應用領域:電子商務、電影和視訊、音樂、社交網絡、閱讀、基于位置的服務、個性化郵件和廣告等。

推薦算法

基于内容推薦

基于内容的推薦,即Content Based Recommendation,是一種古老的推薦算法。基于内容的推薦的理論依據是資訊檢索和資訊過濾。所謂的基于内容的推薦方法就是根據使用者過去的浏覽記錄來向使用者推薦使用者沒有接觸過的推薦項。主要是從兩個方法來描述基于内容的推薦方法:啟發式的方法和基于模型的方法。啟發式的方法就是使用者憑借經驗來定義相關的計算公式,然後再根據公式的計算結果和實際的結果進行驗證,然後再不斷修改公式以達到最終目的。而對于模型的方法就是根據以往的資料作為資料集,然後根據這個資料集來學習出一個模型。一般的推薦系統中運用到的啟發式的方法就是使用tf-idf的方法來計算,跟還有tf-idf的方法計算出這個文檔中出現權重比較高的關鍵字作為描述使用者特征,并使用這些關鍵字作為描述使用者特征的向量;然後再根據被推薦項中的權重高的關鍵字來作為推薦項的屬性特征,然後再将這個兩個向量最相近的(與使用者特征的向量計算得分最高)的項推薦給使用者。在計算使用者特征向量和被推薦項的特征向量的相似性時,一般使用的是cosine方法,計算兩個向量之間夾角的cosine值。

協同過濾推薦

所謂協同過濾推薦算法,就是僅僅基于使用者行為資料設計的推薦算法。和基于内容的推薦算法不同,協同過濾推薦算法不關心物品内容本身,也就是不需要知道物品有什麼特性,更不需要知道使用者喜歡物品的什麼特性。也就是說,該算法不需要通過物品的特性來擷取使用者的喜好。

那如何擷取使用者的喜好呢?或者說,如何向使用者推薦他可能喜歡的物品呢?協同過濾算法給出的答案是根據使用者的行為。使用者的行為有很多,以電子商務網站為例,使用者的行為可能包括:浏覽網頁、點選、夠沒、評分、評論等等。根據使用者回報形式不同,使用者行為可以分為兩類:一類是顯示回報行為,另一類則是隐性回報行為。顯性回報行為是指那些使用者明确表示對物品喜好的行為,像購買、評分等;隐性回報行為是指那些不能明确表示使用者對物品喜好的行為,例如浏覽、點選等。

協同過濾出算法可以分為多種,例如基于鄰域的方法、隐語義模型和基于圖的随機遊走算法等。其中最常用的是基于鄰域的方法,該方法又分為兩種:基于物品的協同過濾推薦和基于使用者的協同過濾推薦。

基于物品的協同過濾推薦,即Item Based Collaborative Filtering(ItemCF),是指給使用者推薦和他之前喜歡的物品相似的物品;基于使用者的協同過濾推薦,即User Based Collaborative Filtering(UserCF),是指給使用者推薦和他興趣相似的使用者喜歡的物品。

因為單純的協同過濾算法不需要知道物品的特性,是以基于協同過濾的推薦理論上可以推薦世界上的任何一種東西:圖檔、音樂、電影等,樣樣可以。

繼續閱讀