推薦系統(tǒng)--隱語(yǔ)義模型

繼續(xù)學(xué)習(xí)推薦系統(tǒng),還是推薦算法的部分。
因?yàn)槲业膶W(xué)習(xí)是圍繞《推薦系統(tǒng)實(shí)踐》展開(kāi),這邊書是12年寫成的,所以一開(kāi)始都是那年比較流行的算法模型,里面總共講了三個(gè)算法,一個(gè)是協(xié)同過(guò)濾,一個(gè)是隱語(yǔ)義模型,一個(gè)圖模型。圖模型我覺(jué)得現(xiàn)在實(shí)際上用的比較少,所以我就只看了一下,這里不寫出來(lái)了。后面我會(huì)研究一下深度學(xué)習(xí)在推薦系統(tǒng)的應(yīng)用。

隱語(yǔ)義模型(LFM)

之前講的協(xié)同過(guò)濾,不管是UserCF還是ItemCF,都是存在問(wèn)題的。要么存在無(wú)法解釋為什么給別人推薦這個(gè)物品的問(wèn)題,要么就是效率比較低,做到實(shí)時(shí)推薦有點(diǎn)難,還有就是如果一個(gè)大熱的商品,比如做書籍推薦,你會(huì)發(fā)現(xiàn)很多有不同喜好的人都會(huì)買《哈利波特》,那是不是要給每一個(gè)人都推薦《哈利波特》呢?
所以,還有一種推薦方法,可以對(duì)書和物品的興趣進(jìn)行分類,對(duì)于某個(gè)用戶,首先得到他的興趣分類,然后從分類中挑選他可能喜歡的物品,這樣劃分了小類,推薦的范圍就更精準(zhǔn)了,也不會(huì)出現(xiàn)一個(gè)大熱商品不知道該怎么推薦的問(wèn)題。
但是這里就引出了3個(gè)問(wèn)題:

  1. 如何給物品進(jìn)行分類?
  2. 如何確定用戶對(duì)哪些的物品感興趣,以及感興趣的程度?
  3. 對(duì)于一個(gè)給定的類,選擇哪些屬于這個(gè)類的物品推薦給用戶,以及如何確定這些物品在一個(gè)類中的權(quán)重?

為了解決這個(gè)問(wèn)題,就有大佬提出了隱含語(yǔ)義分析技術(shù),采取基于用戶行為統(tǒng)計(jì)和自動(dòng)聚類。這個(gè)技術(shù)有幾個(gè)解決以上三個(gè)問(wèn)題的地方:

  • 隱含語(yǔ)義分析技術(shù)的分類來(lái)自對(duì)用戶行為的統(tǒng)計(jì),代表了用戶對(duì)物品分類的看法。隱含語(yǔ)義分析技術(shù)和ItemCF在物品分類方面的思想類似,如果兩個(gè)物品被很多用戶同時(shí)喜歡,那么這兩個(gè)物品就很有可能屬于同一個(gè)類。
  • 隱含語(yǔ)義分析技術(shù)允許我們指定最終有多少個(gè)分類,這個(gè)數(shù)字越大,分類的粒度就會(huì)越細(xì),反正分類粒度就越粗。
  • 隱含語(yǔ)義分析技術(shù)會(huì)計(jì)算出物品屬于每個(gè)類的權(quán)重,因此每個(gè)物品都不是硬性地被分到某一個(gè)類中。
  • 隱含語(yǔ)義分析技術(shù)給出的每個(gè)分類都不是同一個(gè)維度的,它是基于用戶的共同興趣計(jì)算出來(lái)的,如果用戶的共同興趣是某一個(gè)維度,那么LFM給出的類也是相同的維度。
  • 隱含語(yǔ)義分析技術(shù)可以通過(guò)統(tǒng)計(jì)用戶行為決定物品在每個(gè)類中的權(quán)重,如果喜歡某個(gè)類的用戶都會(huì)喜歡某個(gè)物品,那么這個(gè)物品在這個(gè)類中的權(quán)重就可能比較高。

后來(lái)隱含語(yǔ)義分析技術(shù)延伸了很多著名的模型,比如pLSA,LDA等等。他的本質(zhì)就是通過(guò)數(shù)據(jù)不同的特征,挖掘物品間隱性的關(guān)聯(lián),從而做到推薦。

概念講完了,我覺(jué)得這里覺(jué)得應(yīng)該注意很重要的一點(diǎn),是關(guān)于樣本問(wèn)題。因?yàn)樗鸭扑]系統(tǒng)的樣本,怎么弄到負(fù)樣本這個(gè)是值得討論的問(wèn)題。這里這本書中提了4分方法,我按實(shí)際訓(xùn)練模型的效果排列出來(lái),有人有專門的論文講這個(gè)。

  1. 對(duì)于一個(gè)用戶,從他沒(méi)有過(guò)行為的物品中采樣出一些物品作為負(fù)樣本,但采樣時(shí),保證每個(gè)用戶的正負(fù)樣本數(shù)目相當(dāng)。
  2. 對(duì)于一個(gè)用戶,從他沒(méi)有過(guò)行為的物品中均勻采樣出一些物品作為負(fù)樣本。
  3. 對(duì)于一個(gè)用戶,從他沒(méi)有過(guò)行為的物品中采樣出一些物品作為負(fù)樣本,但采樣時(shí),偏重采樣不熱門的物品。
  4. 對(duì)于一個(gè)用戶,用他所有沒(méi)有過(guò)行為的物品作為負(fù)樣本。

書里給出的樣本方法的原則是:

  • 對(duì)每個(gè)用戶,要保證正負(fù)樣本的平衡(數(shù)目相似)。
  • 對(duì)每個(gè)用戶采樣負(fù)樣本時(shí),要選取那些很熱門,而用戶卻沒(méi)有行為的物品。

一般認(rèn)為,很熱門而用戶卻沒(méi)有行為更加代表用戶對(duì)這個(gè)物品不感興趣。因?yàn)閷?duì)于冷門的物品,用戶可能是壓根沒(méi)在網(wǎng)站中發(fā)現(xiàn)這個(gè)物品,所以談不上是否感興趣。

LFM的公式我就不貼了,看了一下也不難,說(shuō)一下這個(gè)模型存在的問(wèn)題。

首先,理論基礎(chǔ)。LFM具有比較好的理論基礎(chǔ),它是一種學(xué)習(xí)方法,通過(guò)優(yōu)化一個(gè)設(shè)定的指標(biāo)建立最優(yōu)的模型?;卩徲虻姆椒ǜ嗟氖且环N基于統(tǒng)計(jì)的方法,并沒(méi)有學(xué)習(xí)過(guò)程。

然后,離線計(jì)算的時(shí)間復(fù)雜度。假設(shè)有M個(gè)用戶、N個(gè)物品、K條用戶對(duì)物品的行為記錄。那么,UserCF計(jì)算用戶相關(guān)表的時(shí)間復(fù)雜度是O(N * (K/N)^2),而ItemCF計(jì)算物品相關(guān)表的時(shí)間復(fù)雜度是O(M*(K/M)^2)。而對(duì)于LFM,如果用F個(gè)隱類,迭代S次,那么它的計(jì)算復(fù)雜度是O(K * F * S)。那么,如果K/N > F*S,則代表UserCF的時(shí)間復(fù)雜度低于LFM,如果K/M>F*S,則說(shuō)明ItemCF的時(shí)間復(fù)雜度低于LFM。在一般情況下,LFM的時(shí)間復(fù)雜度要稍微高于UserCF和ItemCF,這主要是因?yàn)樵撍惴ㄐ枰啻蔚5傮w上,這兩種算法在時(shí)間復(fù)雜度上沒(méi)有質(zhì)的差別。

然后是實(shí)時(shí)推薦的問(wèn)題。UserCF和ItemCF在線服務(wù)算法需要將相關(guān)表緩存在內(nèi)存中,然后可以在線進(jìn)行實(shí)時(shí)的預(yù)測(cè)。以ItemCF算法為例,一旦用戶喜歡了新的物品,就可以通過(guò)查詢內(nèi)存中的相關(guān)表將和該物品相似的其他物品推薦給用戶。因此,一旦用戶有了新的行為,而且該行為被實(shí)時(shí)地記錄到后臺(tái)的數(shù)據(jù)庫(kù)系統(tǒng)中,他的推薦列表就會(huì)發(fā)生變化。而從LFM的預(yù)測(cè)公式可以看到,LFM在給用戶生成推薦列表時(shí),需要計(jì)算用戶對(duì)所有物品的興趣權(quán)重,然后排名,返回權(quán)重最大的N個(gè)物品。那么,在物品數(shù)很多時(shí),這一過(guò)程的時(shí)間復(fù)雜度非常高,可達(dá)O(MNF)。因此,LFM不太適合用于物品數(shù)非常龐大的系統(tǒng),如果要用,我們也需要一個(gè)比較快的算法給用戶先計(jì)算一個(gè)比較小的候選列表,然后再用LFM重新排名。另一方面,LFM在生成一個(gè)用戶推薦列表時(shí)速度太慢,因此不能在線實(shí)時(shí)計(jì)算,而需要離線將所有用戶的推薦結(jié)果事先計(jì)算好存儲(chǔ)在數(shù)據(jù)庫(kù)中。因此,LFM不能進(jìn)行在線實(shí)時(shí)推薦,也就是說(shuō),當(dāng)用戶有了新的行為后,他的推薦列表不會(huì)發(fā)生變化。

最后關(guān)于可解釋性。ItemCF算法支持很好的推薦解釋,它可以利用用戶的歷史行為解釋推薦結(jié)果。但LFM無(wú)法提供這樣的解釋,它計(jì)算出的隱類雖然在語(yǔ)義上確實(shí)代表了一類興趣和物品,卻很難用自然語(yǔ)言描述并生成解釋展現(xiàn)給用戶。


推薦系統(tǒng)的算法部分就到這了,下次來(lái)點(diǎn)其他的。

最后編輯于
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

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