推薦系統(tǒng)實(shí)踐-好的推薦系統(tǒng)

一瘸彤、好的推薦系統(tǒng)
1.什么是推薦系統(tǒng)
從某種意義上說,推薦系統(tǒng)和搜索引擎對于用語來說是兩個互補(bǔ)的工具。搜索引擎滿足了用戶有明確目的時的主動查找需求润梯,而推薦系統(tǒng)能夠在用戶沒有明確目的的時候幫助他們發(fā)現(xiàn)感興趣的內(nèi)容。
分為社會化推薦,基于內(nèi)容的推薦和基于協(xié)同過濾的推薦纺铭。

2.個性化推薦系統(tǒng)的應(yīng)用
推薦系統(tǒng)應(yīng)用都是由前臺的展示頁面抒和,后臺的日志頁面,以及推薦算法系統(tǒng)組成彤蔽。
音樂推薦如下特點(diǎn):

  • 物品空間大
  • 消費(fèi)每首歌的代價很小
  • 物品種類豐富
  • 聽一首歌耗時很少
  • 物品重用率很高
  • 用戶充滿激情
  • 上下文相關(guān)
  • 次序很重要
  • 很多播放列表資源
  • 不需要用戶全神貫注
  • 高度社會化

目前廣告投放的技術(shù)主要分三種:

  • 上下文廣告
  • 搜索廣告
  • 個性化展示廣告

好的推薦系統(tǒng)不僅僅能夠準(zhǔn)確預(yù)測用戶的行為摧莽,而且能夠擴(kuò)展用戶的視野,幫助用戶發(fā)現(xiàn)那些題目可能會感興趣顿痪,但卻不那么容易發(fā)現(xiàn)的東西镊辕。

3.推薦系統(tǒng)實(shí)驗(yàn)方法

  • 離線實(shí)驗(yàn):用戶日志(訓(xùn)練集,測試集)
  • 用戶調(diào)查:優(yōu)點(diǎn)風(fēng)險低蚁袭,出現(xiàn)錯誤容易彌補(bǔ)征懈,缺點(diǎn)是招募代價大
  • 在線實(shí)驗(yàn):把用戶分組,不同組不同算法揩悄,切分流難度大

評分預(yù)測的預(yù)測準(zhǔn)確度一般通過均方根誤差(RMSE)和破軍絕對誤差(MAE)計(jì)算卖哎。(公式見課本25頁)
假設(shè)我們用records存放用戶評分?jǐn)?shù)據(jù),令records[i]=[u,i,rui,pui]删性,其中rui是用戶對物品i的實(shí)際評分亏娜,pui是算法預(yù)測出來的用戶u對物品i的評分,那么下面的代碼分別實(shí)現(xiàn)了RMSE和MAE的計(jì)算過程:

def RMSE(records):
    return math.sqrt(sum([rui-pui]*(rui-pui) for u,i,rui,pui in records)/float(len(records)))

def MAE(records):
    return sum([abs(rui-pui) for u,i,rui,pui, in records])/float(len(records))

Netflix認(rèn)為RMSE加大了對預(yù)測不準(zhǔn)的用戶物品評分的懲罰蹬挺,因此更加苛刻维贺。研究表明,對預(yù)測結(jié)果取整會降低MAE的誤差

TopN推薦一般是給用戶一個個性化的推薦列表巴帮。準(zhǔn)確率通過準(zhǔn)確率(precision)/召回率(recall)度量溯泣。(公式見課本26頁)
下面的代碼準(zhǔn)確計(jì)算量準(zhǔn)確率和召回率:

def PrecisionRecall(test, N):
    hit = 0
    n_recall = 0
    n_precision = 0
    for user, item in test.items():
        rank = Recommend(user, N)
        hit += len(rank & items)
        n_recall += len(items)
        n_precision += N
    return [hit / (1.0 * n_recall), hit / (1.0 * n_precision)]

召回率曲線,選取不同的推薦列表長度N榕茧。

覆蓋率描述一個推薦系統(tǒng)對物品長尾的發(fā)掘能力垃沦。(公式見課本27頁)
熱門排行榜的推薦覆蓋率是很低的,它只會推薦那些熱門的物品用押,這些物品在總物品中占比例很小肢簿。一個好的推薦系統(tǒng)不僅需要比較高的用戶滿意度,也需要較高的覆蓋率只恨。信息論和經(jīng)濟(jì)學(xué)中有兩個著名的指標(biāo)可以用來定義覆蓋率译仗,第一個是信息熵,第二個是基尼系數(shù)官觅,見課本27頁纵菌。
下面代碼可以用來計(jì)算給定物品流行度分布后的基尼系數(shù):

def GiniIndex(p):
    j = 1
    n = len(p)
    G = 0
    for item, weight in sorted(p.items(), key=itemgetter(1)):
        G += (2 * j - n - 1) * weight
    return G / float(n-1)

推薦系統(tǒng)的初衷是為了消除馬太效應(yīng),使得各種物品都能被展示給對他們感興趣的某一類人群休涤。
多樣性描述了推薦列表中物品兩兩之間的不相似性咱圆。公式見28頁笛辟。給用戶的推薦列表也需要滿足用戶廣泛的興趣。
新穎性是指給用戶推薦那些他們以前沒有聽說過的物品序苏。如果推薦結(jié)果中物品的平均熱門程度較低手幢,那么推薦結(jié)果就可能有比較高的新穎性。
驚喜度是指如果推薦結(jié)果和用戶的歷史興趣不相似忱详,但卻讓用戶覺得滿意围来,那么就可以說推薦結(jié)果的驚喜度很高。而推薦的新穎性僅僅取決于用戶是否聽說過這個推薦結(jié)果匈睁。
信任度如果用戶信任該系統(tǒng)监透,那么就會增加用戶和推薦系統(tǒng)的交互。增加有兩種方法:一是增加推薦系統(tǒng)的透明度航唆,二是考慮社交網(wǎng)絡(luò)的信息胀蛮。
實(shí)時性首先推薦系統(tǒng)需要實(shí)時更新推薦列表來滿足用戶新的行為變化。其次推薦系統(tǒng)需要能夠加入系統(tǒng)的物品推薦給用戶糯钙。
健壯性衡量的是一個推薦系統(tǒng)抗作弊的能力粪狼。可以使用健壯性高的算法任岸,或者使用代價高的用戶行為再榄,或者數(shù)據(jù)清洗。
商業(yè)目標(biāo)一般來說演闭,就是平均一個用戶給公司帶來的盈利不跟。

一個推薦算法,可能在某種情況下性能比較好米碰,而增加評測維度的目的就是知道一個算法在什么情況下性能最好,比如用戶維度(活躍度购城,是否新用戶)吕座,物品維度(物品屬性,平均分)瘪板,時間維度(季節(jié)吴趴,周末)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侮攀,一起剝皮案震驚了整個濱河市锣枝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌兰英,老刑警劉巖撇叁,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異畦贸,居然都是意外死亡陨闹,警方通過查閱死者的電腦和手機(jī)楞捂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趋厉,“玉大人寨闹,你說我怎么就攤上這事【耍” “怎么了繁堡?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長乡数。 經(jīng)常有香客問我帖蔓,道長,這世上最難降的妖魔是什么瞳脓? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任塑娇,我火速辦了婚禮,結(jié)果婚禮上劫侧,老公的妹妹穿的比我還像新娘埋酬。我一直安慰自己,他們只是感情好烧栋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布写妥。 她就那樣靜靜地躺著,像睡著了一般审姓。 火紅的嫁衣襯著肌膚如雪珍特。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天魔吐,我揣著相機(jī)與錄音扎筒,去河邊找鬼。 笑死酬姆,一個胖子當(dāng)著我的面吹牛嗜桌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辞色,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼骨宠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了相满?” 一聲冷哼從身側(cè)響起层亿,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎立美,沒想到半個月后匿又,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悯辙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年琳省,在試婚紗的時候發(fā)現(xiàn)自己被綠了迎吵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡针贬,死狀恐怖击费,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情桦他,我是刑警寧澤蔫巩,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站快压,受9級特大地震影響圆仔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蔫劣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一坪郭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脉幢,春花似錦歪沃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至萎羔,卻和暖如春液走,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贾陷。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工缘眶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人昵宇。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓磅崭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓦哎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容