日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

SVD++:推荐系统的基于矩阵分解的协同过滤算法的提高

發布時間:2023/12/4 windows 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVD++:推荐系统的基于矩阵分解的协同过滤算法的提高 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.背景知識

?  在講SVD++之前,我還是想先回到基于物品相似的協同過濾算法。這個算法基本思想是找出一個用戶有過正反饋的物品的相似的物品來給其作為推薦。其公式為:

                            

  其中 rui 表示預測用戶u對物品i的喜愛程度。wij 是物品i,j之間的相似度,N(u)代表用戶曾經有過正反饋的物品的集合。

  就比如說我們現在有三個用戶A,B和C,還有四本書:《紅樓夢》,《史記》,《微積分導論》和《時間簡史》。用戶和書籍之間的閱讀關系為:

?ABC
紅樓夢1?1
史記???
微積分導論??1
線性代數?1?

  其中沒有標注1的即表示用戶沒有閱讀過此書籍。

  那么我們首先需要一種相似度度量方法可以測得任意兩本書之間的相似度,暫時我們認為方法已經有了,并且已經把書籍兩兩之間的相似度計算出來了,其可以用一個對稱方陣W表示(在我們這個例子中是4X4的矩陣)。其具體值假設如下:

?? 紅樓夢 ?? 史記? ??微積分導論?線性代數?
紅樓夢10.70.20.1
史記0.710.20.2
微積分導論0.20.210.8
線性代數0.10.20.81

  那根據公式,我們計算用戶C對史記的喜歡程度就是 : ( 0.7 + 0.2)/ sqrt(2) 。

?

2. SVD++ 原理

?  上面的方法有一個問題,就是相似度度量方法我們不太容易得到,也就是我們沒法得到W這個矩陣。有一個想法就是我通過迭代優化的方法直接去計算整個W,其優化的lost function如下:

  

  這樣的話就再不需要我們認為去定義一個相似度度量方法。但是一個新的問題又出現了。由于一般推薦系統中物品的個數往往都很多,所以W會是一個非常大的矩陣,那么這樣會給存儲和計算帶來很大的麻煩。這里我們把條件放寬一點,假設W是由兩個矩陣X和Y點乘得到的(其實就是矩陣分解)。那么預測的公式就變成了:

      

  其中Xi 和Yj 是矩陣X和Y中第i行和第j行。

  那么到此為止,我們用了迭代和矩陣分解的方法來處理相似度的信息,那么我們將這個相似度影響因素加入我們之前講的隱因子的矩陣分解方法中去,就得到:

?  

  可以看到,這個公式其實就是在隱因子的基礎上多加了一項。

  但是,牛逼的dalao們又發現,如果讓矩陣P(這個是用戶的隱參數矩陣)和上面提到的W分解得到的X矩陣相等,可以防止模型過擬合,那么公式又變為:

  

  這個公式有點錯誤,其括號中的xi 應該是沒有的。(太懶了,直接截圖過來不想改==)

3.算法實現

  (INCOMING)

?  https://github.com/ccienfall/RecommandSystem/blob/master/script/Factorize.py 先拿代碼湊合著看吧。。。。

?

挖好坑,以后來填。(10.21)

前來填坑(11.2)

?

轉載于:https://www.cnblogs.com/ccienfall/p/5979003.html

總結

以上是生活随笔為你收集整理的SVD++:推荐系统的基于矩阵分解的协同过滤算法的提高的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。