推荐系统笔记:矩阵分解+基于邻居的模型
????????由于其啟發式性質,基于鄰域的方法通常被認為與其他優化模型具有內在的不同。 盡管如此,結果表明基于鄰域的方法也可以嵌入在其他優化模型的上下文中。 這是一個相當方便的框架,因為它為鄰域模型與其他優化模型(例如潛在因子模型)的集成鋪平了道路。
? ? ? ? 在本節中,我們假設評分矩陣 R 以均值為中心。 換句話說,評分矩陣的全局平均值 μ 已經從所有條目中減去,并且所有預測都將在以平均值為中心的值上執行。 全局平均值 μ 可以在后處理階段加回到預測值中。?
? ? ? ? 同時,我們還是令S表示所有有觀測值的(i,j)對的集合
?
1 非個性化的、以偏差為中心的模型
推薦系統筆記:無任何限制的矩陣分解_UQI-LIUWJ的博客-CSDN博客
????????非個性化的、以偏差為中心的模型預測 R 中的(以平均值為中心的)評級,純粹是作為用戶和項目偏差的疊加。
???????? 換句話說,評分完全由用戶的慷慨度和項目的受歡迎程度來解釋,而不是用戶對項目的特定個性化興趣。
???????? 令為用戶i 的偏差變量,為項目j 的偏差變量。 那么,本小節介紹的模型的預測如下:
????????
? ? ? ? 我們的目標函數為:(帶正則項之后)
? ? ? ? ?同樣地,可以使用梯度下降解決這個優化問題
????????有趣的是,盡管具有非個性化的性質,但純粹以偏差為中心的模型通常可以提供合理的預測。當評級數據量有限時尤其如此。求解和后,我們根據公式 3.32 將 += 設置為(i,j)條目的預測值。
???????因此,集成模型求解的第一步是通過求解非個性化模型來確定常數值。這個非個性化模型也可以被視為基準估計器,因為是對值的粗略基準估計。
????????通常,將每個有觀測值的條目減去會產生一個新矩陣,該矩陣通常可以通過前面部分和章節中討論的大多數協同過濾模型進行更穩健的估計。
?
2?模型的鄰域部分
2.1 用 回歸的角度看鄰域
????????我們認為,同一個用戶的不同打過分的item之間存在著某些關聯性。比如某件商品的打分,可以有和它最相似的同一用戶對其他幾件商品的打分加權求和得到。
?????????Qt(u) 中的相似項可以通過修正余弦相似度來衡量 (也就是這個用戶對項目i的打分-這個用戶的平均打分,這個的余弦值)
????????集合 Qt(u) 表示目標項目 t 的 k 個最相似的項的子集。(不一定正好是k個)
? ? ? ? 注意一點是,Qt(u)即使對于同一個項目t,不同的用戶也會有不同的結果;但是衡量的是兩個項目之間的關聯度,和哪個用戶是沒有關系的!
? ? ? ? 所以對某一個項目t,我們記給它打過分的用戶的集合為,那么這個項目的目標函數為
?????????
? ? ? ? 所有這個項目的實際打分和預測打分(通過近鄰回歸來預測)之間的差距
? ? ? ? ?需要注意的是,此優化問題是針對每個目標項 t 單獨制定的。
????????然而,可以將不同目標項 t 的目標函數相加,對優化解決方案沒有區別,因為各個目標函數中的未知系數在不同t值上不重疊 ∈ {1 ...n}。 因此,我們有以下合并公式:
?
? ? ? ? ?反之亦可,還可以以分解形式解決每個較小的優化問題(即目標函數 Jt),而不會影響整體的解決方案。
????????引入合并公式的優點是可以與其他優化模型相結合,例如矩陣分解方法
?2.2? 將鄰域與偏差結合
我們有:?
?可以想成??,就和前面的鄰域回歸差不多了,唯一的區別就是這個分母的系數,這是一個啟發式的系數
?????????倘若我們用第一小節的方法 將右邊的?替換成?(就相當于看成常數了),那么目標函數可以變成
????????此時剩下的?和就是需要被優化的參數
于是此時帶正則項的目標函數為:?
令
那么此時我們對上述目標函數進行梯度下降,,和的梯度分別為:
?2.3?引入項-項隱式反饋變量
?????????通過引入項-項隱式反饋變量 ,可以通過隱式反饋進一步增強該鄰域模型。
???????? 基本思想是,如果項目 j 與許多相鄰項目被同一用戶 i 一起評分,那么這些相鄰項與項目j之間的關聯程度 應該對預測評分 產生影響。
???????? 這種影響與 j 的這些相鄰項目的評分的實際值無關。
? ? ? ? 這種影響等于?(分母還是那個啟發式系數)
?于是,此時帶有鄰域、偏差、用戶隱式反饋變量的模型可以寫作:
?同樣地,也可以對各項進行梯度下降操作
?
總結
以上是生活随笔為你收集整理的推荐系统笔记:矩阵分解+基于邻居的模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐系统笔记:基于矩阵分解(总结篇)
- 下一篇: 讲座笔记目录