機器學習之推薦系統

#Recommender Systems(推薦系統)

機器學習的一個很重要的應用。

 

#Problem formulation(問題規劃)

所以如果想開發一個推薦系統,就要想出一個能自動填補這些缺失值的學習算法,這樣就可以看看該用戶和那些沒看過的電影並推薦新電影給該用戶。

 

#Content-based recommendations(基於內容的推薦算法)

  • 把每個用戶的評價預測值看作是一個線性迴歸問題。

更正式的:

 

#Collaborative filtering(協同過濾)

有一個很有意思的特性叫feature learning(特徵學習),即這個算法可以自行學習所要使用的特徵。

  • 假設我們聽取用戶的意見,每個用戶j都告訴我們他們各自的θ^(j)是什麼,即他們對不同題材電影的喜歡程度。

把這一學習問題標準化到任意特徵x^(i):

總結:

  • 隨機猜一些θ值 》》學習出不同電影的特徵 》》得到一個更好的對參數θ值的估計 》》得到更好的特徵 》》··· 以此類推

 

#Collaborative filtering algorithm(協同過濾算法)

將兩個優化目標函數結合爲一個新的優化目標函數J,能同時算出θ和x,而不需要反覆計算:

  • 不需要X0

1、把x和θ初始化爲小的隨機值;

2、用梯度下降或其他高級優化算法把代價函數關於x和θ最小化;

3、給你一個用戶,如果ta有一些參數θ以及給你一部帶有已知特徵x的電影,就可以預測該用戶給這部電影的評分。

 

#Vectorization low rank matrix factorization(矢量化:低秩矩陣分解)

  • y^(i,j)是第j個用戶給第i部電影的評分

  • low rank matrix factorization(低秩矩陣分解):給出矩陣X和矩陣θ的定義,得到一個向量化方法來計算預測矩陣。

用已經學習到的特徵來找相關的電影:

 

#Implementational detail:Mean normalization(實施細節:均值規範化)

作爲協同過濾算法的預處理步驟,根據不同的數據集有時候會讓算法表現得好一些。

實現mean normalization(均值歸一化):

  • 計算每個電影所得評分的均值存到向量μ中;
  • 把電影評分矩陣的每一行都減去那個電影的平均評分;
  • 把每個電影評分都歸一化,使得均分爲零;
  • 用這些均值歸一化後的電影評分來學習,預測值要加回均值。

 


PS.內容爲學習吳恩達老師機器學習的筆記【https://study.163.com/course/introduction/1004570029.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章