1. 程式人生 > >吳恩達機器學習筆記59-向量化:低秩矩陣分解與均值歸一化(Vectorization: Low Rank Matrix Factorization & Mean Normalization)

吳恩達機器學習筆記59-向量化:低秩矩陣分解與均值歸一化(Vectorization: Low Rank Matrix Factorization & Mean Normalization)

接受 span amp 14. 實現 新的 mean 情況 rank

一、向量化:低秩矩陣分解  

  之前我們介紹了協同過濾算法,本節介紹該算法的向量化實現,以及說說有關該算法可以做的其他事情。

  舉例:
1.當給出一件產品時,你能否找到與之相關的其它產品。
2.一位用戶最近看上一件產品,有沒有其它相關的產品,你可以推薦給他。

我們將要做的是:實現一種選擇的方法,寫出協同過濾算法的預測情況。

  我們有關於五部電影的數據集,我將要做的是,將這些用戶的電影評分,進行分組並存
到一個矩陣中。
  我們有五部電影,以及四位用戶,那麽 這個矩陣 ?? 就是一個5 行4 列的矩陣,它將
這些電影的用戶評分數據都存在矩陣裏:

技術分享圖片

技術分享圖片

我們記:

技術分享圖片 技術分享圖片

推出評分:

技術分享圖片

上述就是協同矩陣的向量化。

  那麽我們應該怎樣來找出相關商品呢? 首先對於每一個產品i,我們找出其特征向量技術分享圖片

找出使兩個商品特征比較相同的產品,即可以找出使得技術分享圖片最小的五個商品,則這5個商品就是和i最相似的5個商品,既可以作為相關產品推薦。

技術分享圖片

二:均值歸一化

  假設有下面一組數據:

技術分享圖片

即有一個用戶Eve沒有對任何電影進行評價,這時候如果我們使用之前的方法測Eve對每部電影的評分,則最小化圖上的公式,因為對於任意i,Eve都沒有評分過,因此①式r(i, j)=1條件不滿足,因此①對於最小化Eve的數據沒有作用,②也沒有作用,因此對於最小化Eve數據有作用的便是③式,即技術分享圖片

,因此二者都為0,因此技術分享圖片於是對於Eve的預測評分都為0。

雖然結果是得出來了,但是這個結果我們沒辦法用來推薦,因為對所有的電影,其技術分享圖片都為0。

因此,我們引入歸一化:

技術分享圖片

即對於某一部電影,利用已經評過分的值(?不計算在內),計算出平均分,記為μ,於是歸一化矩陣為原來的Y的每一個數減去這一行(這一部電影)對應的平均值,得到新的Y,如上圖右側所示,利用這個新的Y矩陣學習θ和x的值。則對於Eve,之前關於最小化的分析仍成立,即技術分享圖片

歸一化之後的預測值公式為:

技術分享圖片

因此對於Eve的預測值為:

技術分享圖片

其實對於這個預測結果我們是可以接受的,因為我們不知道Eve的喜好,因此把她的評分預測為平均水平。

特殊情況:若出現有一部電影無評分的情況,則可以考慮使每列的均值為0,即計算每列的均值,用Y減去對應列的均值得到新的Y矩陣。

吳恩達機器學習筆記59-向量化:低秩矩陣分解與均值歸一化(Vectorization: Low Rank Matrix Factorization & Mean Normalization)