協同過濾(collaborative filtering)
在之前的基於內容的推薦系統中,對於每一部電影,我們都掌握了可用的特徵,通過使用這些特徵,並運用線性回歸模型,可訓練得每乙個使用者對某一電影的評分。 相反地,如果我們擁有使用者對每一部電影的評分,我們就可以學習得電影得特徵。
但如果我們既無法得到電影的特徵,也沒有使用者對每一部電影得的評分,之前我們所介紹的方法就無法適用了。因此,我們引入協同過濾。
collaborative filtering
在協同過濾中,我們需要對x和θ同時優化,其基本演算法為:
其中,這兩步驟交替進行,直至得到合理的θ和x的值。
注:在協同過濾中,我們通常不使用偏置項,如若需要,演算法會自動學得。
協同過濾演算法優化目標
協同過濾演算法
對x(1), ···, x^(nm), θ(1), ···, θ^(nu)隨機賦值小值
使用梯度下降演算法(或者其他高階演算法)最小化代價函式,例如:梯度下降演算法最小化代價函式,其數學表示式為:
在得到合理的引數θ和電影特徵x後,利用θtx**電影評分
上述演算法除了能**某一使用者對某一電影評分,其還能根據使用者的喜好來推薦相關電影。例如,某一使用者愛好**動作類電影x(i),推薦系統會根據這一特徵推薦相關的電影x(j),這兩部電影的特徵向量之間的距離為||x(i) - x(j)||。
推薦系統 電影推薦系統(二)
als是交替最小二乘法的簡稱,是2008年以來,用的比較多的協同過濾演算法。它已經整合到spark的mllib庫中,使用起來比較方便。這裡可以想象一下,每個人的性格愛好可以認為是乙個抽象的模型,每個人的模型都有自己的乙個特點。因此,每個人對於商品的評價都有自己的一套規律,als演算法就是可以通過這些...
推薦系統概述(二)
如何在沒有大量使用者資料的情況下設計個性化推薦系統並且讓使用者對推薦結果滿意從而願意使用推薦系統,就是冷啟動的問題。冷啟動問題 cold start 主要分3類。使用者冷啟動 物品冷啟動 系統冷啟動 1 使用者冷啟動可以利用使用者註冊資訊,也可以選擇合適的物品啟動使用者的興趣 基於nlp方向的推薦 ...
《推薦系統》 電子推薦系統演算法實踐學習筆記(二)
1.1 推薦系統評測 1.1.1 推薦系統實驗方法 1.離線實驗 離線實驗的方法一般由如下幾個步驟構成 1 通過日誌系統獲得使用者行為資料,並按照一定格式生成乙個標準的資料集 2 將資料集按照一定的規則分成訓練集和測試集 3 在訓練集上訓練使用者興趣模型,在測試集上進行 4 通過事先定義的離線指標評...