機器學習之推薦系統_機器學習

來源:互聯網
上載者:User

我們從一個例子開始定義推薦系統的問題。
假使我們是一個電影供應商,我們有 5 部電影和 4 個使用者,我們要求使用者為電影打分。

基於內容的推薦系統

在一個基於內容的推薦系統演算法中,我們假設對於我們希望推薦的東西有一些資料,這 些資料是有關這些東西的特徵。
在我們的例子中,我們可以假設每部電影都有兩個特徵,如 x1 代表電影的浪漫程度, x2 代表電影的動作程度。

其中 i:r(i,j)表示我們只計算那些使用者 j 評過分的電影。在一般的線性迴歸模型中,誤差 項和歸一項應該都是乘以1/2m,在這裡我們將m去掉。並且我們不對方差項 θ0 進行歸一 化處理。

上面的代價函數只是針對一個使用者的,為了學習所有使用者,我們將所有使用者的代價函數 求和:

協同過濾
在之前的基於內容的推薦系統中,對於每一部電影,我們都掌握了可用的特徵,使用這 些特徵訓練出了每一個使用者的參數。相反地,如果我們擁有使用者的參數,我們可以學習得出 電影的特徵。

注:在協同過濾從演算法中,我們通常不使用方差項,如果需要的話,演算法會自動學得。 協同過濾演算法使用步驟如下:
1. 初始 x(1),x(2),...,x(nm),θ(1),θ(2),...,θ(nu) 為一些隨機小值
2. 使用梯度下降演算法最小化代價函數
3. 在訓練完演算法後,我們預測 (θ(j))Tx(i) 為使用者 j 給電影 i 的評分

通過這個學習過程獲得的特徵矩陣包含了有關電影的重要資料,這些資料不總是人能讀
懂的,但是我們可以用這些資料作為給使用者推薦電影的依據。 例如,如果一位使用者正在觀看電影 x(i) ,我們可以尋找另一部電影 x(j) ,依據兩部電影的
特徵向量之間的距離 ||x(i)−x(j)|| 的大小。

向量化:低秩矩陣分解
在上幾節視頻中,我們談到了協同過濾演算法,本節視頻中我將會講到有關該演算法的向量 化實現,以及說說有關該演算法你可以做的其他事情。

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

我將要做的是:實現一種選擇的方法,寫出協同過濾演算法的預測情況。
我們有關於五部電影的資料集,我將要做的是,將這些使用者的電影評分,進行分組並存
到一個矩陣中。

我們有五部電影,以及四位使用者,那麼 這個矩陣 Y 就是一個 5 行 4 列的矩陣,它將這
些電影的使用者評分資料都存在矩陣裡:

均值歸一化


然後我們利用這個新的 Y 矩陣來訓練演算法。如果我們要用新訓練出的演算法來預測評分, 則需要將平均值重新加回去,預測 (θ(j))T(x(i))+μi 對於Eve,我們的新模型會認為她給每部電影 的評分都是該電影的平均分。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.