帶相似度的 RSVD 算法

目錄:
1.1 理論分析
1.2 代碼解析
1.3 最終結果
1.4 后續(xù)工作

1. 帶相似度的RSVD算法

1.1 理論分析

1.1.1 RSVD

RSVD伞芹,又稱“ The Regularized SVD algorithm ”尽楔。這模型是接下來改進算法的 Baseline 呼渣。

那么接下來就簡單介紹一下這個 RSVD 的損失函數(shù)和推導公式癣防,迭代方法是 SGD绍豁。

  • 損失函數(shù)
RSVD 的損失函數(shù)
  • 推導公式
RSVD 的推導公式

接下來就是添加相似度進行改進了。

1.1.2 添加相似度的 RSVD

參考論文: An experimental study on implicit social recommendation - Hao Ma

論文中關于損失函數(shù)的描述如下:

添加相似度的 RSVD 的損失函數(shù)

用戶矩陣和項目矩陣通過 SGD(即隨機梯度下降)方法更新驶悟。

下面兩條公式是根據(jù)損失函數(shù)(即公式 3 )推導得到的胡野。代表含義是:用戶矩陣和項目矩陣的更新公式。

添加相似度的 RSVD 的推導公式

從論文中的這段可到 u_iv_j 的更新公式痕鳍,代碼中嚴格按照此公式改編

1.2 代碼解析

下面是截取整個文件中的部分代碼硫豆,這里的設計思路主要是根據(jù) 1.1 的公式(4)來編寫的。

  1. u_i 的更新方式
sum_pearsion += self.persion_score[u, f] * (self.user_vecs[u, :] - 
                                            self.user_vecs[f, :])

self.pearsion_arr = self.persion_reg * sum_pearsion

self.user_vecs[u, :] += self.learning_rate * \
                                    (e * self.item_vecs[i, :] - \
                                     self.pearsion_arr - \
                                     self.user_fact_reg * 
                                     self.user_vecs[u, :])
  1. v_j 的更新方式
self.item_vecs[i, :] += self.learning_rate * \
                                    (e * self.user_vecs[u, :] - \
                                     self.item_fact_reg *   
                                     self.item_vecs[i, :])

1.3 最終結果

1.3.1 評價指標

此次對模型的評價指標是 MSE笼呆,用來評價模型的準確度以及對比 baseline 模型熊响,看看添加相似度后準度是否有提升。

MSE 的計算公式如下:

MSE 的計算公式

1.3.2 對比結果

下面表格是對比結果抄邀,模型共兩個:baseline 和 添加相似度的 SGD

  • 名詞解釋:
    • Iteration:迭代次數(shù)
    • train_mse:訓練集訓練時的 MSE
    • test_mse:測試集測試時的 MSE
原SGD Iteration train_mse test_mse 加用戶相似度SGD Iteration train_mse test_mse train_mse 對比提升 test_mse對比提升
1 1.141784386 1.188415965 1 13.67562 14.20713 -1097.74% -1095.47%
10 0.917914525 1.011238497 10 6.573647 9.61891 -616.15% -851.20%
25 0.866157052 0.963646883 25 1.179691 1.99135 -36.20% -106.65%
50 0.838677125 0.943052707 50 0.891645 1.107708 -6.32% -17.46%
100 0.754480384 0.924777349 100 0.76197 0.948601 -0.99% -2.58%
200 0.402944841 0.917382603 200 0.514333 0.898999 -27.64% 2.00%

從表格中可以得到的信息是耘眨,在隨著訓練迭代次數(shù)的增加,添加相似度的 SGD 算法與原本未加相似度的 SGD 算法的差距一直再減少境肾,并最終在迭代次數(shù)為 200 時,test_mse 的結果比未加的提升了胆屿。這表明添加相似度后奥喻,模型的泛化能力進一步提高,不容易過擬合非迹。

1.4 接下來的工作

可以考慮給模型添加更多的特征或者其他信息环鲤。如時間、地理等信息憎兽。來維持模型的長期收益冷离。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末吵冒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子西剥,更是在濱河造成了極大的恐慌痹栖,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞭空,死亡現(xiàn)場離奇詭異揪阿,居然都是意外死亡,警方通過查閱死者的電腦和手機咆畏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門南捂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旧找,你說我怎么就攤上這事溺健。” “怎么了钮蛛?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵鞭缭,是天一觀的道長。 經常有香客問我愿卒,道長缚去,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任琼开,我火速辦了婚禮易结,結果婚禮上,老公的妹妹穿的比我還像新娘柜候。我一直安慰自己搞动,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布渣刷。 她就那樣靜靜地躺著鹦肿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辅柴。 梳的紋絲不亂的頭發(fā)上箩溃,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音碌嘀,去河邊找鬼涣旨。 笑死,一個胖子當著我的面吹牛股冗,可吹牛的內容都是我干的霹陡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼烹棉!你這毒婦竟也來了攒霹?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤浆洗,失蹤者是張志新(化名)和其女友劉穎吸占,沒想到半個月后平道,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沥阱,經...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡更卒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了洛口。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矫付。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖第焰,靈堂內的尸體忽然破棺而出买优,到底是詐尸還是另有隱情,我是刑警寧澤挺举,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布杀赢,位于F島的核電站,受9級特大地震影響湘纵,放射性物質發(fā)生泄漏脂崔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一梧喷、第九天 我趴在偏房一處隱蔽的房頂上張望砌左。 院中可真熱鬧,春花似錦铺敌、人聲如沸汇歹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽产弹。三九已至,卻和暖如春弯囊,著一層夾襖步出監(jiān)牢的瞬間痰哨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工匾嘱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留作谭,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓奄毡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贝或。 傳聞我的和親對象是個殘疾皇子吼过,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容