吴恩达机器学习笔记十三之推荐系统
本節目錄
- 1 問題形式化
- 2 基于內容的推薦系統
- 3 協同過濾
- 4 向量化:低秩矩陣分解
- 5 推行工作上的細節:均值歸一化
1 問題形式化
對機器學習來說,特征是很重要的,你所選擇的特征,將對你學習算法的性能有很大的影響。有一些設置,你可以有一個算法,僅僅學習其使用的特征,推薦系統就是類型設置的一個例子。還有很多其它的,但是通過推薦系統,我們將領略一小部分特征學習的思想。
2 基于內容的推薦系統
在一個基于內容的推薦系統算法中,我們假設對于我們希望推薦的東西有一些數據,這些數據是有關這些東西的特征。在我們的例子中,我們可以假設每部電影都有兩個特征,如𝑥1代表電影的浪漫程度, 𝑥2代表電影的動作程度。
則每部電影都有一個特征向量,如𝑥(1)是第一部電影的特征向量為[0.9 0]。
下面我們要基于這些特征來構建一個推薦系統算法。 假設我們采用線性回歸模型,我
們可以針對每一個用戶都訓練一個線性回歸模型,如𝜃(1)是第一個用戶的模型的參數。 于
是,我們有:
𝜃(𝑗)用戶 𝑗 的參數向量
𝑥(𝑖)電影 𝑖 的特征向量
對于用戶 𝑗 和電影 𝑖,我們預測評分為: (𝜃(𝑗))𝑇𝑥(𝑖)
代價函數
針對用戶 𝑗,該線性回歸模型的代價為預測誤差的平方和,加上正則化項:
其中 𝑖: 𝑟(𝑖, 𝑗)表示我們只計算那些用戶 𝑗 評過分的電影。在一般的線性回歸模型中,誤
差項和正則項應該都是乘以1/2𝑚,在這里我們將𝑚去掉。并且我們不對方差項𝜃0進行正則
化處理。
上面的代價函數只是針對一個用戶的,為了學習所有用戶,我們將所有用戶的代價函數
求和:
3 協同過濾
注:在協同過濾從算法中,我們通常不使用方差項,如果需要的話,算法會自動學得。
協同過濾算法使用步驟如下:
通過這個學習過程獲得的特征矩陣包含了有關電影的重要數據,這些數據不總是人能讀懂的,但是我們可以用這些數據作為給用戶推薦電影的依據。
4 向量化:低秩矩陣分解
協同過濾可以做以下事情:舉例子:1.當給出一件產品時,你能否找到與之相關的其它產品。
2.一位用戶最近看上一件產品,有沒有其它相關的產品,你可以推薦給他。
我將要做的是:實現一種選擇的方法,寫出協同過濾算法的預測情況。
我們有關于五部電影的數據集,我將要做的是,將這些用戶的電影評分,進行分組并存到一個矩陣中。
我們有五部電影,以及四位用戶,那么 這個矩陣 𝑌 就是一個 5 行 4 列的矩陣,它將這些電影的用戶評分數據都存在矩陣里:
很方便的方法來度量兩部電影之間的相似性。例如說:電影 𝑖 有一個特征向量𝑥(𝑖),你是否能找到一部不同的電影 𝑗,保證兩部電影的特征向量之間的距離𝑥(𝑖)和𝑥(𝑗)很小,那就能很有力地表明電影𝑖和電
影 𝑗 在某種程度上有相似,至少在某種意義上,某些人喜歡電影 𝑖,或許更有可能也對電影
𝑗 感興趣。總結一下,當用戶在看某部電影 𝑖 的時候,如果你想找 5 部與電影非常相似的
電影,為了能給用戶推薦 5 部新電影,你需要做的是找出電影 𝑗,在這些不同的電影中與我
們要找的電影 𝑖 的距離最小,這樣你就能給你的用戶推薦幾部不同的電影了。
5 推行工作上的細節:均值歸一化
總結
以上是生活随笔為你收集整理的吴恩达机器学习笔记十三之推荐系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CPU核数跟多线程的关系
- 下一篇: 双核心四线程编辑