推薦系統(tǒng)的常用算法概述
本文關(guān)鍵詞:推薦系統(tǒng),由筆耕文化傳播整理發(fā)布。
推薦系統(tǒng)的常用算法概述
前一陣子準(zhǔn)備畢業(yè)論文的開題,一直在看推薦系統(tǒng)相關(guān)的論文。對推薦系統(tǒng)有了一個更加清晰和理性的認(rèn)識,也對推薦算法有了深入了解。借此機(jī)會總結(jié)分享一下,大家多多拍磚。
推薦系統(tǒng)的出現(xiàn)
隨著互聯(lián)網(wǎng)的發(fā)展,人們正處于一個信息爆炸的時代。相比于過去的信息匱乏,面對現(xiàn)階段海量的信息數(shù)據(jù),對信息的篩選和過濾成為了衡量一個系統(tǒng)好壞的重要指標(biāo)。一個具有良好用戶體驗的系統(tǒng),會將海量信息進(jìn)行篩選、過濾,將用戶最關(guān)注最感興趣的信息展現(xiàn)在用戶面前。這大大增加了系統(tǒng)工作的效率,也節(jié)省了用戶篩選信息的時間。
搜索引擎的出現(xiàn)在一定程度上解決了信息篩選問題,但還遠(yuǎn)遠(yuǎn)不夠。搜索引擎需要用戶主動提供關(guān)鍵詞來對海量信息進(jìn)行篩選。當(dāng)用戶無法準(zhǔn)確描述自己的需求時,搜索引擎的篩選效果將大打折扣,而用戶將自己的需求和意圖轉(zhuǎn)化成關(guān)鍵詞的過程本身就是一個并不輕松的過程。
在此背景下,推薦系統(tǒng)出現(xiàn)了,推薦系統(tǒng)的任務(wù)就是解決上述的問題,聯(lián)系用戶和信息,一方面幫助用戶發(fā)現(xiàn)對自己有價值的信息,另一方面讓信息能夠展現(xiàn)在對他感興趣的人群中,從而實現(xiàn)信息提供商與用戶的雙贏。
推薦算法介紹
1 基于人口統(tǒng)計學(xué)的推薦
這是最為簡單的一種推薦算法,它只是簡單的根據(jù)系統(tǒng)用戶的基本信息發(fā)現(xiàn)用戶的相關(guān)程度,然后將相似用戶喜愛的其他物品推薦給當(dāng)前用戶。
系統(tǒng)首先會根據(jù)用戶的屬性建模,比如用戶的年齡,,性別,興趣等信息。根據(jù)這些特征計算用戶間的相似度。比如系統(tǒng)通過計算發(fā)現(xiàn)用戶A和C比較相似。就會把A喜歡的物品推薦給C。
優(yōu)勢:
a 不需要歷史數(shù)據(jù),沒有冷啟動問題
b 不依賴于物品的屬性,因此其他領(lǐng)域的問題都可無縫接入。
不足:
算法比較粗糙,效果很難令人滿意,只適合簡單的推薦
2 基于內(nèi)容的推薦
與上面的方法相類似,只不過這次的中心轉(zhuǎn)到了物品本身。使用物品本身的相似度而不是用戶的相似度。
系統(tǒng)首先對物品(圖中舉電影的例子)的屬性進(jìn)行建模,圖中用類型作為屬性。在實際應(yīng)用中,只根據(jù)類型顯然過于粗糙,還需要考慮演員,導(dǎo)演等更多信息。通過相似度計算,發(fā)現(xiàn)電影A和C相似度較高,因為他們都屬于愛情類。系統(tǒng)還會發(fā)現(xiàn)用戶A喜歡電影A,由此得出結(jié)論,用戶A很可能對電影C也感興趣。于是將電影C推薦給A。
優(yōu)勢:
對用戶興趣可以很好的建模,并通過對物品屬性維度的增加,獲得更好的推薦精度
不足:
a 物品的屬性有限,很難有效的得到更多數(shù)據(jù)
b 物品相似度的衡量標(biāo)準(zhǔn)只考慮到了物品本身,有一定的片面性
c 需要用戶的物品的歷史數(shù)據(jù),有冷啟動的問題
3 協(xié)同過濾
協(xié)同過濾是推薦算法中最經(jīng)典最常用的,具體的思路我已經(jīng)在之前的一篇文章中提到過,大家可以去看一下。
這里只想介紹一下協(xié)同過濾中的方法和剛才提到方法的區(qū)別。
大家都知道協(xié)同過濾分為基于用戶的協(xié)同過濾和基于物品的協(xié)同過濾。那么他們和基于人口學(xué)統(tǒng)計的推薦和基于內(nèi)容的推薦有什么區(qū)別和聯(lián)系呢?下面簡單介紹一下。
基于用戶的協(xié)同過濾——基于人口統(tǒng)計學(xué)的推薦
基于用戶的協(xié)同過濾推薦機(jī)制和基于人口統(tǒng)計學(xué)的推薦機(jī)制都是計算用戶的相似度,并基于“鄰居”用戶群計算推薦,但它們所不同的是如何計算用戶的相似度,基 于人口統(tǒng)計學(xué)的機(jī)制只考慮用戶本身的特征,而基于用戶的協(xié)同過濾機(jī)制可是在用戶的歷史偏好的數(shù)據(jù)上計算用戶的相似度,它的基本假設(shè)是,喜歡類似物品的用戶 可能有相同或者相似的口味和偏好。
基于物品的協(xié)同過濾——基于內(nèi)容的推薦
基于項目的協(xié)同過濾推薦和基于內(nèi)容的推薦其實都是基于物品相似度預(yù)測推薦,只是相似度計算的方法不一樣,前者是從用戶歷史的偏好推斷,而后者是基于物品本身的屬性特征信息。
協(xié)同過濾的優(yōu)勢:
a 它不需要對物品或者用戶進(jìn)行嚴(yán)格的建模,而且不要求物品的描述是機(jī)器可理解的,所以這種方法也是領(lǐng)域無關(guān)的。
b 這種方法計算出來的推薦是開放的,可以共用他人的經(jīng)驗,很好的支持用戶發(fā)現(xiàn)潛在的興趣偏好
不足:
a 方法的核心是基于歷史數(shù)據(jù),所以對新物品和新用戶都有“冷啟動”的問題。
b 推薦的效果依賴于用戶歷史偏好數(shù)據(jù)的多少和準(zhǔn)確性。
c 在大部分的實現(xiàn)中,用戶歷史偏好是用稀疏矩陣進(jìn)行存儲的,而稀疏矩陣上的計算有些明顯的問題,包括可能少部分人的錯誤偏好會對推薦的準(zhǔn)確度有很大的影響等等。
d 對于一些特殊品味的用戶不能給予很好的推薦。
e 由于以歷史數(shù)據(jù)為基礎(chǔ),抓取和建模用戶的偏好后,很難修改或者根據(jù)用戶的使用演變,從而導(dǎo)致這個方法不夠靈活。
4 混合推薦算法
以上介紹的方法是推薦領(lǐng)域最常見的幾種方法。但是可以看出,每個方法都不是完美的。因此實際應(yīng)用中,向Amazon這樣的系統(tǒng)都是混合使用各種推薦算法,各取所長。因此我們在使用時,也可以多考慮一下什么情況下更適合使用哪種算法,來提高我們系統(tǒng)的效率。
推薦系統(tǒng)的發(fā)展方向
1 需要考慮在保證推薦準(zhǔn)確性的同時增加推薦的多樣性,使特殊喜好的用戶得到推薦
2 需要考慮用戶對系統(tǒng)的實時反饋,更好的利用反饋數(shù)據(jù)強化推薦算法
3 考慮時間,空間,任務(wù)等因素,來更好的完成推薦
歡迎大家拍磚~ 更多資料請看
posted @
本文關(guān)鍵詞:推薦系統(tǒng),由筆耕文化傳播整理發(fā)布。
本文編號:50226
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/50226.html