推薦系統-矩陣分解原理詳解
目前推薦系統中用的最多的就是矩陣分解方法,在Netflix Prize推薦系統大賽中取得突出效果。以使用者-專案評分矩陣為例,矩陣分解就是預測出評分矩陣中的缺失值,然後根據預測值以某種方式向使用者推薦。常見的矩陣分解方法有基本矩陣分解(basic MF),正則化矩陣分解)(Regularized MF),基於概率的矩陣分解(PMF)等。今天以“使用者-專案評分矩陣R(N×M)”說明三種分解方式的原理以及應用。
Basic MF:
Basic MF是最基礎的分解方式,將評分矩陣R分解為使用者矩陣U和專案矩陣S, 通過不斷的迭代訓練使得U和S的乘積越來越接近真實矩陣,矩陣分解過程如圖:
預測值接近真實值就是使其差最小,這是我們的目標函式,然後採用梯度下降的方式迭代計算U和S,它們收斂時就是分解出來的矩陣。我們用損失函式來表示誤差(等價於目標函式):
公式1公式1中R_ij是評分矩陣中已打分的值,U_i和S_j相當於未知變數。為求得公式1的最小值,相當於求關於U和S二元函式的最小值(極小值或許更貼切)。通常採用梯度下降的方法:
是學習速率,表示迭代的步長。其值為1.5時,通常以震盪形式接近極值點;若<1迭代單調趨向極值點;若>2圍繞極值逐漸發散,不會收斂到極值點。具體取什麼值要根據實驗經驗。
Regularized MF
正則化矩陣分解是Basic MF的優化,解決MF造成的過擬合問題。其不是直接最小化損失函式,而是在損失函式基礎上增加規範化因子,將整體作為損失函式。
紅線表示正則化因子,在求解U和S時,仍然採用梯度下降法,此時迭代公式變為:(圖片擷取自相關論文,S和V等價)
其中, 。
梯度下降結束條件:f(x)的真實值和預測值小於自己設定的閾值(很小的值,之前一直理解為是變數U和V的迭代值差小於閾值就行,弄了一天才懂。)
- PMF
基於概率的矩陣分解,在下一篇博文裡。
相關文章
- 推薦系統實踐 0x0b 矩陣分解矩陣
- 基於概率的矩陣分解原理詳解(PMF)矩陣
- ML.NET 示例:推薦之矩陣分解矩陣
- 矩陣分解--超詳細解讀矩陣
- (十八)從零開始學人工智慧-智慧推薦系統:矩陣分解人工智慧矩陣
- 用Spark學習矩陣分解推薦演算法Spark矩陣演算法
- ML.NET 示例:推薦之One Class 矩陣分解矩陣
- 矩陣分解矩陣
- 機器學習:推薦系統(五. 以矩陣分來解協作過濾)機器學習矩陣
- 萬字長文,詳解推薦系統領域經典模型FM因子分解機模型
- 【譯文】構建一個圖書推薦系統 – 基礎知識、knn演算法和矩陣分解KNN演算法矩陣
- 矩陣分解在協同過濾推薦演算法中的應用矩陣演算法
- 分解機(Factorization Machines)推薦演算法原理Mac演算法
- 達觀資料周顥鈺:想寫出人見人愛的推薦系統,先了解經典矩陣分解技術矩陣
- 推薦系統與協同過濾、奇異值分解
- BSC鏈公排矩陣互助合約系統開發詳情原理矩陣
- 矩陣分解(MF)方法及程式碼矩陣
- 詳解特徵工程與推薦系統及其實踐特徵工程
- SVD矩陣分解考慮時間因素矩陣
- python輸入詳解(陣列、矩陣)Python陣列矩陣
- 推薦系統
- 【推薦系統篇】--推薦系統之訓練模型模型
- 編輯推薦之《推薦系統》
- 文字主題模型之非負矩陣分解(NMF)模型矩陣
- 矩陣的奇異值分解(SVD)及其應用矩陣
- 矩陣公排系統開發(詳情分析)|矩陣公排模式開發邏輯及方案矩陣模式
- 【推薦系統篇】--推薦系統之測試資料
- 《推薦系統學習》之推薦系統那點事
- 旋轉矩陣推導矩陣
- 推薦系統概述
- 機器學習 — 推薦系統機器學習
- 矩陣鍵盤原理剖析矩陣
- 《推薦系統實踐》筆記 01 推薦系統簡介筆記
- 推薦系統論文之序列推薦:KERL
- 推薦系統: 相關推薦方法對比
- Dapp泰山眾籌互助矩陣系統技術開發原理分析APP矩陣
- MMM互助矩陣公排智慧合約系統開發詳情矩陣
- 智慧合約公排矩陣系統開發詳情功能模式矩陣模式