1. 程式人生 > >個性化推薦典型任務與傳統演算法

個性化推薦典型任務與傳統演算法

典型任務和演算法(模型)

1.相似匹配(基於內容)

1.1 標籤匹配

1.2 LDA主題模型

2.評分預測

2.1.large scale 問題。為什麼不直接進行迴歸預測呢?

2.2.user or item based 協同過濾

以user-based協同過濾為例:找出與當前User i最相似的N個User,並根據N個User對Item的打分估計 i 對該Item的打分。相似度採用jaccard similarity 或 Cosine Similarity:

sim(x,y)=rxryrxry sim(x,y)=1cosine(x,y)=1ABA∣∣∣∣B

2.3.矩陣分解(model-based 協同過濾):

矩陣分解相當於:表示學習(使用者、物品)+相似匹配

2.3.1.SVD(PCA):

奇異值分解,通過降維的方法來補全使用者-物品評分矩陣,對矩陣中沒有出現的值進行估計。缺點是分解前需補全R矩陣的缺失值(比如用全域性平均值或使用者、物品平均值進行補全),耗費儲存大;計算複雜度高。

R=Um×mSm×nVn×nT
svd

2.3.2.ALS:

交替最小二乘梯度下降

als演算法

R=Xm×kYn×kT
Lexp=u,iS(ruixuyi)2+λxuxu2+λyuyi2

求解方式固定X求Y,固定Y求X

xu=(YTY+λI)1YTr(u)
yi=(XTX+λI)1XTr(i)

支援隱反饋資料(0,1)(加權的正則化矩陣分解)[1]