吴恩达《机器学习》课程总结(16)推荐系统
16.1問題形式化
(1)講推薦系統的原因主要有以下幾點:
1.推薦系統是一個很重要的機器學習的應用,雖然在學術界上占比較低,但是在商業應用中非常的重要,占有很高的優先級。
2.傳達機器學習的一個大思想:特性是可以學習而來的,不需要人工去選擇。
(2)說明的案例:電影推薦系統
希望創建一個算法來預測每個人可能會給他們沒看過的電影打多少分,并以此作為推薦依據。
(3)此外引入一些標記:
nu代表用戶的數量,
nm代表電影的數量,
r(i,j)如果用戶j給電影i評過分則r(i,j)=1,
y(i,j)代表用戶j給電影打的分數,
mj表示用戶評分的電影的總數。
16.2基于內容的推薦系統
(1)總結:基于內容其實就是已經有了電影的特征X,然后求擬合的參數θ,后面提到的基于用戶,則是已經有了參數θ,來求擬合的電影特征X。
(2)假設每部電影已知特征(基于內容):
參數說明:θ(j)表示用戶j的參數,x(i)表示電影i的特征,
對于用戶j和電影i,我們預測評分為:(θ(j))Tx(i)
對于單用戶的代價函數(省略了樣本數m,對θ0不做正則化,只計算有評分的)如下:
故對于所有用戶的代價函數為:
梯度下降式的梯度更新方式:
16.3協同過濾
(1)基于用戶的(即已知用戶的參數θ,求電影特征x),其代價函數為:
(2)協同過濾算法是既不知道特性X,也不知道用戶參數θ時同時對二者進行優化。
其代價函數為:
對代價函數求偏導數:
(3)協同過濾的算法步驟:
1.初始化x(1),x(2),……,x(nm),θ(1),θ(1),……,θ(nu)為一些隨機小值;
2.使用梯度下降算法最小化代價函數;
3.在訓練完算法后,我們預測(θ(j))Tx(i)為用戶j給電影i的評分。
(4)如何給用戶推薦:
1.根據計算出來的評分,把該用戶評分高的電影給該用戶;
2.如果用戶觀看某電影,根據計算電影特征間的相似度,推薦相似的電影給該用戶。
16.4協同過濾算法
16.5向量化:低秩矩陣分解
將數據集評分存儲在矩陣中->通過協同過濾學習得到元素為(θ(j))Tx(i)的預測矩陣->根據電影特征距離求電影間的相似性
16.6推行工作的細節
總結:怎么給新用戶推薦電影(會把每部電影的平均分作為該用戶的評分)
(1)用戶評分數據以及新用戶Eve:
(2)對每部電影做均值歸一化,然后作為數據來訓練模型
(3)預測的值加上該電影的均值為最終對電影的評分:
(4)學習到的模型會把每部電影的平均分作為新用戶對電影的評分。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的吴恩达《机器学习》课程总结(16)推荐系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux-Rsync项目实战(详细)
- 下一篇: Latex 数学公式使用入门