吴恩达机器学习笔记57-基于内容的推荐系统(Content Based Recommendations)
假使我們是一個電影供應商,我們有 5 部電影和 4 個用戶,我們要求用戶為電影打分。
前三部電影是愛情片,后兩部則是動作片,我們可以看出Alice 和Bob 似乎更傾向與愛
情片, 而 Carol 和 Dave 似乎更傾向與動作片。并且沒有一個用戶給所有的電影都打過分。
我們希望構建一個算法來預測他們每個人可能會給他們沒看過的電影打多少分,并以此作為
推薦的依據。
下面引入一些標記:
?? 代表用戶的數量
?? 代表電影的數量
?(?, ?) 如果用戶 ? 給電影 ? 評過分則 ?(?, ?) = 1
?(?,?) 代表用戶 ? 給電影 ? 的評分
??代表用戶 ? 評過分的電影的總數
在一個基于內容的推薦系統算法中,我們假設對于我們希望推薦的東西有一些數據,這
些數據是有關這些東西的特征。假設每部電影都有兩個特征,如?1代表電影的浪漫程度,?2代表電影的動作程度。
則每部電影都有一個特征向量,如?(1)是第一部電影的特征向量為[0.9,0]。
下面我們要基于這些特征來構建一個推薦系統算法。 假設我們采用線性回歸模型,我
們可以針對每一個用戶都訓練一個線性回歸模型,如?(1)是第一個用戶的模型的參數。 于
是,我們有:
?(?)用戶 ? 的參數向量
?(?)電影 ? 的特征向量
對于用戶 ? 和電影 ?,我們預測評分為:(?(?))??(?)
代價函數:
針對用戶 ?,該線性回歸模型的代價為預測誤差的平方和,加上正則化項:
其中 ?: ?(?, ?)表示我們只計算那些用戶 ? 評過分的電影。在一般的線性回歸模型中,誤
差項和正則項應該都是乘以1/2?,在這里我們將?去掉。并且我們不對方差項?0進行正則
化處理。
上面的代價函數只是針對一個用戶的,為了學習所有用戶,我們將所有用戶的代價函數
求和:
如果我們要用梯度下降法來求解最優解,我們計算代價函數的偏導數后得到梯度下降的
更新公式為:
轉載于:https://www.cnblogs.com/sl0309/p/10545250.html
總結
以上是生活随笔為你收集整理的吴恩达机器学习笔记57-基于内容的推荐系统(Content Based Recommendations)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux计算机基础
- 下一篇: 惨一个字!Windows 10 Octo