推薦系統(tǒng)召回算法之——LFM(矩陣分解)

目錄

1、LFM算法原理

2、LFM數(shù)學(xué)原理

3、應(yīng)用場(chǎng)景

4、python實(shí)現(xiàn)

5、總結(jié)


算法原理:LFM(later factor model)是一種基于矩陣分解的召回算法,輸入U(xiǎn)I點(diǎn)展矩陣,輸出是P和Q兩個(gè)矩陣。


建模公式:

p(u,i) = p_{u}^Tq_{i} =\sum_{f=1}^F   p_{uf} q_{if} ?

損失函數(shù)求解:

梯度下降法求解L2平方損失

LFM與Item CF比較:

理論基礎(chǔ):LFM采用平方損失函數(shù)進(jìn)行最小化求解,特征是隱特征,由模型習(xí)得;ItemCF基于公式計(jì)算,缺少學(xué)習(xí)過程,因此兩者理論基礎(chǔ)上前者更充分。

離線空間時(shí)間復(fù)雜度:ItemCF 空間復(fù)雜度是item的平方,LFM空間復(fù)雜度是user*F(隱因子數(shù))+item*F。后者空間復(fù)雜度更低;時(shí)間復(fù)雜度處于一個(gè)數(shù)量級(jí)。

在線推薦與推薦解釋:LFM根據(jù)模型產(chǎn)出的user向量*item向量離線計(jì)算出用戶喜愛列表,取toplike存入redis,如果item數(shù)量多,則計(jì)算時(shí)間復(fù)雜度高;ItemCF離線計(jì)算通常只計(jì)算某個(gè)類別下的item sim列表,然后取topk,離線存儲(chǔ)供在線推薦。實(shí)時(shí)響應(yīng)方面,用戶有新行為時(shí)LFM不能對(duì)用戶實(shí)時(shí)行為進(jìn)行模型重新訓(xùn)練和感知,后者重新計(jì)算item sim列表時(shí)間復(fù)雜度更低,響應(yīng)更靈活。


應(yīng)用場(chǎng)景:

計(jì)算用戶的toplike:計(jì)算user對(duì)item的喜愛度得分取top,完成用戶喜愛度列表。

計(jì)算物品的topsim:對(duì)item矩陣離線計(jì)算相似度,完成在線item點(diǎn)擊實(shí)時(shí)推薦。

計(jì)算item的topic:使用聚類算法,完成item按簇分類。


Python實(shí)現(xiàn):https://github.com/SolodanceMagicq/RecommendSys/tree/master/LFM


總結(jié):LFM是傳統(tǒng)機(jī)器學(xué)習(xí)中基于矩陣分解的思想,將UI矩陣分解為User和Item兩個(gè)矩陣,然后利用余弦相似度等距離公式,計(jì)算用戶對(duì)物品的喜好得分。與ItemCF相比有較強(qiáng)的理論基礎(chǔ),缺點(diǎn)是計(jì)算時(shí)間復(fù)雜度高(梯度下降法求解損失函數(shù))

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容