機器學習9(2)推薦系統

9.1 problem formulation

  第一節就講了下問題,看起來好簡單,但實際的想法還是很不錯的,開兩個矩陣,一個矩陣用0/1來表示評分與否,另一個矩陣表示具體的評分。兩層結構,略顯冗餘,但在對客戶分類時可能還是很有好處的,哈哈

9.2 基於內容的推薦(是基於電影的屬性來推薦)

 下一節則會講到不基於內容的推薦

 在得到theta時可用cluster descent,&LBFGS等方法(For collaborative filtering, it is possible to use one of the advanced optimization algoirthms (L-BFGS/conjugate gradient/etc.) to solve for both the x(i)'s and θ(j)'s simultaneously.)





9.3協同過濾

不像基於內容的推薦系統,此處我們並不知道,電影的具體的屬性值,但可以由顧客得出theta值

問題如下



通過theta來得出X,可見其與上一節之區別

協同過濾,如下

這就好比是雞與蛋的問題,先有雞還是先有蛋,此處先假設先有雞,後再推出蛋,最後一路推下去,最終就可以得到一個收斂的好結果


9.4協同過濾算法

簡單的想法是先隨機初始化x,從而得出theta,再算出x,一直重複這過程,只至theta和x趨於穩定爲止

要注意的是不像以前公式中所要重視的細節那樣,這裏無需用到x0和theta0.

在此算法中,我們隨機初始化theta值和x值到一個小的隨機值,點解呢?

這個是用來symmetry breaking(對稱性破缺)類似於神經網絡參數的隨機初始化,以確保這種算法學到的特徵x1...之間相互不同




這就是全部過程

9.5向量化:低秩矩陣分解




三張解決,先算出每個電影的x值,再推出之間是否可歸爲同類

9.6完善細節:mean normalization(均值標準化)

當我們討論均值標準化的時候,不同於一些其他的特徵規範化的應用,此處並沒有用較常見的max-min value(最大最小值規範化)

,原因在於,所以的電影評分都是comparable的(如0到5星),所以他們已經在相似的度量上了

如果不作任何處理的話,第五個客人的所有的預測評分都將爲0,這是沒有任何意義的結果,故用第二張圖的方法來計算





發佈了31 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章