校招結(jié)束休息了快2個多月了,現(xiàn)在開始系統(tǒng)的學(xué)習(xí)推薦算法,基于項亮的書
一:推薦系統(tǒng)中主要有3種評測推薦結(jié)果的實驗方法:
1:離線實驗
2:用戶調(diào)查
3:在線實驗
離線實驗的方法:
(1):通過日志系統(tǒng)獲得用戶行為數(shù)據(jù)
(2):將數(shù)據(jù)集分成訓(xùn)練集和測試集
(3):在訓(xùn)練集上訓(xùn)練模型,在測試集上進(jìn)行測試
(4):通過事先定義的離線指標(biāo)評測算法在測試集上的預(yù)測結(jié)果
用戶調(diào)查:
顧名思義,但是招募測試用戶的代價較大,很難組織大規(guī)模的測試用戶
在線實驗:
在完成離線實驗和必要的用戶調(diào)查后,可以將推薦系統(tǒng)上線做AB測試,將它和舊的算法進(jìn)行比較
二:評測指標(biāo)
1.預(yù)測準(zhǔn)確度
預(yù)測準(zhǔn)確度考慮推薦算法的預(yù)測打分與用戶實際打分的相似程度。
平均絕對誤差指標(biāo)MAE(Mean Absolute Error):
平均平方誤差MSE:
有一個電影評價系統(tǒng),它可以對某一部電影給出其他用戶評價電影的“星”的平均數(shù)(就好像豆瓣書評一樣),而且給出對某個用戶的預(yù)測“星數(shù)”。而預(yù)測準(zhǔn)確度就是能夠度量系統(tǒng)中預(yù)測“星”數(shù)與用戶實際給出的“星”數(shù)的差別。打分區(qū)間為[0,10]

平均平方誤差MSE:

標(biāo)準(zhǔn)平均絕對誤差(做標(biāo)準(zhǔn)化):

預(yù)測準(zhǔn)確度
|預(yù)測準(zhǔn)確度|
--|-------
優(yōu)點(diǎn)|平均絕對誤差MAE: 1.計算方法簡單,易于理解; 2.每個系統(tǒng)的平均絕對誤差唯一,從而能夠區(qū)分兩個系統(tǒng)平均絕對誤差的差異
缺點(diǎn)|不適合二元選擇信息,如喜歡或不喜歡不適合那些只在意推薦列表前端的預(yù)測誤差,而對系統(tǒng)的整體誤差并不是很在意的系統(tǒng)在用戶偏差的程度比較小時也不適用,因為用戶只關(guān)心把好產(chǎn)品錯歸為壞產(chǎn)品 ,或者把壞產(chǎn)品錯歸為好產(chǎn)品的比例。例如 ,以 3.5個星為界區(qū)分好壞 ,那么把4預(yù)測成了5,或者把3預(yù)測成了2都對用戶沒有影響。
、
準(zhǔn)確率(Precision),召回率(Recall),覆蓋率(coverage)
為了評估推薦算法的好壞需要各方面的評估指標(biāo)。
對用戶u推薦N個物品(記為R(u)),令用戶u在測試集上喜歡的物品集合為T(u)
<b>準(zhǔn)確率</b>就是最終的推薦列表中有多少是推薦對了的。描述最終的推薦列表中有多少比例是發(fā)生過的用戶-物品評分記錄。
<b>召回率</b>就是推薦對了的占全集的多少。描述有多少比例的用戶-物品評分記錄包含在最終的推薦列表中。
下圖直觀地描述了準(zhǔn)確率和召回率的含義
<b>覆蓋率</b>表示推薦的物品占了物品全集空間的多大比例。
最簡單的覆蓋率的定義如下:
新穎度新穎度是為了推薦長尾區(qū)間的物品。用推薦列表中物品的平均流行度度量推薦結(jié)果的新穎度。如果推薦出的物品都很熱門,說明推薦的新穎度較低,否則說明推薦結(jié)果比較新穎。
這篇文章可以參考看一下,比我總結(jié)的清晰
http://blog.csdn.net/wangyuquanliuli/article/details/36684817
