无码日韩精品一区二区三区浪潮_99国产精品久久久久9999高清_亚洲熟妇无码久久观看_亚洲a∨无码一区二区猫咪

微信掃碼登錄

其他登錄方式

綁定手機(jī)號(hào)

注冊(cè)

忘記密碼

用戶協(xié)議

綁定手機(jī)號(hào)

近期有不法分子打著愛盈利的旗號(hào),制作“愛盈利”名稱的App,并偽造愛盈利證件,騙取用戶信任,以抖音點(diǎn)贊賺錢或其他方式賺錢為名義,過程中以升級(jí)會(huì)員獲得高傭金為名讓用戶充值。
愛盈利公司鄭重聲明:我司沒有研發(fā)或運(yùn)營(yíng)過任何名為“愛盈利”的APP,我司做任務(wù)賺錢類產(chǎn)品從沒有讓任何普通用戶充值升級(jí)會(huì)員。我公司產(chǎn)品均在本網(wǎng)站可查詢,請(qǐng)將網(wǎng)站拉至底部,點(diǎn)擊“關(guān)于我們”可查看愛盈利相關(guān)產(chǎn)品與服務(wù)。
溫馨提示:當(dāng)遇到此類問題請(qǐng)撥打官方電話或添加官方微信,以免財(cái)產(chǎn)損失。愛盈利官網(wǎng)地址:www.jza6.com。
  • 推廣與合作
X

讀書筆記 |《推薦系統(tǒng)實(shí)踐》- 個(gè)性化推薦系統(tǒng)總結(jié)

來源: 2615

-- 原創(chuàng),未經(jīng)授權(quán),禁止轉(zhuǎn)載 2017.11.15 --

讀書筆記 |《推薦系統(tǒng)實(shí)踐》- 個(gè)性化推薦系統(tǒng)總結(jié)

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

對(duì)于推薦系統(tǒng),本文總結(jié)內(nèi)容,如下圖所示:

讀書筆記 |《推薦系統(tǒng)實(shí)踐》- 個(gè)性化推薦系統(tǒng)總結(jié)

推薦系統(tǒng).png

文章很長(zhǎng),你可以跳著看你感興趣的部分。

一、什么是推薦系統(tǒng)

1. 為什么需要推薦系統(tǒng)

結(jié)論是,為了解決互聯(lián)網(wǎng)時(shí)代下的信息超載問題。

看個(gè)數(shù)據(jù):

據(jù)IDC《數(shù)字宇宙》的研究報(bào)告表明,2020 年全球新建和復(fù)制的信息量將超過40ZB,是2012年的12倍;中國(guó)的數(shù)據(jù)量在2020年超過8ZB,比2012年增長(zhǎng)22倍。

單位換算是這樣的:
1ZB = 1024 EB;
1EB = 1024 PB;
1PB = 1024 TB;
1TB = 1024 GB;
1GB = 1024 MB;

即便坐擁海量信息,用戶卻無法找到真正對(duì)自己有用的,可見效率之低。

從前,人們是這樣解決信息超載問題的:

  • 現(xiàn)實(shí)中,我有個(gè)東西想買(有明確目的)

    • 小便利店 --> 憑經(jīng)驗(yàn)瀏覽所有貨架;
    • 大型超市 --> 借助分類指示牌;

    不知道買啥(沒有明確目的)

    • 空間大,隨便逛
  • 引申到互聯(lián)網(wǎng),有明確目的時(shí)

    • 電商網(wǎng)站 --> 搜索引擎,信息檢索;

    沒有明確目的時(shí)

    • 巴掌大的地兒,靠個(gè)性化推薦

信息超載,不是互聯(lián)網(wǎng)獨(dú)有的,在現(xiàn)實(shí)生活也會(huì)存在這樣的問題,畢竟人的大腦同時(shí)能夠處理的信息只有4-7個(gè),我們面對(duì)的問題從來沒有變過,區(qū)別在于當(dāng)下的情況,所處的環(huán)境。

正如《大數(shù)據(jù)時(shí)代》中作者所言,這僅僅是一個(gè)開始,人們與世界的交流方式,從原來對(duì)因果關(guān)系的渴求,轉(zhuǎn)變?yōu)楝F(xiàn)在對(duì)相關(guān)關(guān)系的發(fā)現(xiàn)和使用上。

2. 搜索引擎與推薦系統(tǒng)

眾所周知,解決信息過載問題,最有代表性的解決方案是【分類目錄】和【搜索引擎】,這兩種解決方案分別催生了互聯(lián)網(wǎng)領(lǐng)域的兩家著名公司--雅虎和谷歌。

讀書筆記 |《推薦系統(tǒng)實(shí)踐》- 個(gè)性化推薦系統(tǒng)總結(jié)

搜索引擎

  • 分類目錄,是將著名網(wǎng)站分門別類,從而方便用戶根據(jù)類別查找公司。

但隨著互聯(lián)網(wǎng)規(guī)模不斷擴(kuò)大,分類目錄網(wǎng)站只能涵蓋少數(shù)熱門網(wǎng)站,已無法滿足用戶需求。因此,搜索引擎誕生了。

  • 搜索引擎,用戶通過輸入關(guān)鍵字,查找自己需要的信息。

但是,用戶必須主動(dòng)提供準(zhǔn)確的關(guān)鍵詞,才能找到信息。所以用戶的其他需求,比如用戶無法找到準(zhǔn)確描述自己需求的關(guān)鍵詞時(shí),搜索引擎就無能為力了。

  • 推薦系統(tǒng),和搜索引擎一樣,是一種幫助用戶快速發(fā)展有用信息的工具。通過分析用戶的歷史行為,給用戶的興趣建模,從而主動(dòng)給用戶推薦能夠滿足他們興趣和需求的信息。

并且,推薦系統(tǒng)能夠很好的發(fā)掘物品的長(zhǎng)尾,挑戰(zhàn)傳統(tǒng)的2/8原則(80%的銷售額來自20%的熱門品牌)。

從技術(shù)角度來看,搜索引擎和推薦系統(tǒng)的區(qū)別在于:

1)搜索引擎,注重搜索結(jié)果之間的關(guān)系和排序;
2)推薦系統(tǒng),需要研究用戶的興趣模型,利用社交網(wǎng)絡(luò)的信息進(jìn)行個(gè)性化的計(jì)算;

3)搜索引擎,由用戶主導(dǎo),需要輸入關(guān)鍵詞,自行選擇結(jié)果。如果結(jié)果不滿意,需要修改關(guān)鍵詞,再次搜索;
4)推薦系統(tǒng),由系統(tǒng)主導(dǎo),根據(jù)用戶的瀏覽順序,引導(dǎo)用戶發(fā)現(xiàn)自己感興趣的信息;

3. 推薦系統(tǒng)的定義

推薦系統(tǒng)通過發(fā)掘用戶的行為,找到用戶的個(gè)性化需求,從而將長(zhǎng)尾物品準(zhǔn)確推薦給需要它的用戶,幫助用戶找到他們感興趣但很難發(fā)現(xiàn)的物品。

高質(zhì)量的推薦系統(tǒng)會(huì)使用戶對(duì)系統(tǒng)產(chǎn)生依賴,因此,推薦系統(tǒng)不僅能為用戶提供個(gè)性化服務(wù),還能與用戶建立長(zhǎng)期穩(wěn)定的關(guān)系,提高用戶忠誠(chéng)度,防止用戶流失。

二、推薦系統(tǒng)評(píng)測(cè)

如何判定什么是好的推薦系統(tǒng)?這是評(píng)測(cè)需要解決的首要問題。

一般推薦系統(tǒng)的參與方有3個(gè):

  • 用戶
  • 物品提供商
  • 推薦系統(tǒng)提供網(wǎng)站

因此,評(píng)測(cè)一個(gè)推薦系統(tǒng)時(shí),需要考慮3方的利益,一個(gè)好的推薦系統(tǒng)是能夠令三方共贏的系統(tǒng)。

推薦系統(tǒng)評(píng)測(cè),總結(jié)圖如下:

讀書筆記 |《推薦系統(tǒng)實(shí)踐》- 個(gè)性化推薦系統(tǒng)總結(jié)

推薦系統(tǒng)評(píng)測(cè).png

1. 實(shí)驗(yàn)方法

獲得評(píng)測(cè)指標(biāo)的實(shí)驗(yàn)方法,通常分3種:

  • 離線實(shí)驗(yàn)(offline experiment)
  • 用戶調(diào)查(user study)
  • 在線實(shí)驗(yàn)(online experiment)

我們分別介紹3種實(shí)驗(yàn)方法的優(yōu)缺點(diǎn)。

1)離線實(shí)驗(yàn)

離線實(shí)驗(yàn)的方法的步驟如下:
a)通過日志系統(tǒng)獲得用戶行為數(shù)據(jù),并按照一定格式生成一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)集;
b)將數(shù)據(jù)集按照一定的規(guī)則分成訓(xùn)練集和測(cè)試集;
c)在訓(xùn)練集上訓(xùn)練用戶興趣模型,在測(cè)試集上進(jìn)行預(yù)測(cè);
d)通過事先定義的離線指標(biāo),評(píng)測(cè)算法在測(cè)試集上的預(yù)測(cè)結(jié)果。

從以上步驟看出,離線實(shí)驗(yàn)的都是在數(shù)據(jù)集上完成的。意味著,它不需要一個(gè)實(shí)際的系統(tǒng)作為支撐,只需要有一個(gè)從日志中提取的數(shù)據(jù)集即可。

離線實(shí)驗(yàn)的優(yōu)點(diǎn)是:

  • 不需要有對(duì)實(shí)際系統(tǒng)的控制權(quán);
  • 不需要用戶參與實(shí)踐;
  • 速度快,可以測(cè)試大量算法;

缺點(diǎn)是:

  • 數(shù)據(jù)集的稀疏性限制了適用范圍,例如一個(gè)數(shù)據(jù)集中沒有包含某用戶的歷史行為,則無法評(píng)價(jià)對(duì)該用戶的推薦結(jié)果;
  • 評(píng)價(jià)結(jié)果的客觀性,無法得到用戶主觀性的評(píng)價(jià);
  • 難以找到離線評(píng)價(jià)指標(biāo)和在線真實(shí)反饋(如 點(diǎn)擊率、轉(zhuǎn)化率、點(diǎn)擊深度、購(gòu)買客單價(jià)、購(gòu)買商 品類別等)之間的關(guān)聯(lián)關(guān)系;

2)用戶調(diào)查

用戶調(diào)查需要一些真實(shí)的用戶,讓他們?cè)谛枰獪y(cè)試的推薦系統(tǒng)上完成一些任務(wù)。在他們完成任務(wù)時(shí),需要觀察和記錄用戶的行為,并讓他們回答一些問題。

最后,我們通過分析他們的行為和答案,了解測(cè)試系統(tǒng)的性能。

用戶調(diào)查的優(yōu)點(diǎn)是:

  • 可以獲得用戶主觀感受的指標(biāo),出錯(cuò)后容易彌補(bǔ);

缺點(diǎn)是:

  • 招募測(cè)試用戶代價(jià)較大;
  • 無法組織大規(guī)模的測(cè)試用戶,統(tǒng)計(jì)意義不足;

3)在線實(shí)驗(yàn)

在完成離線實(shí)驗(yàn)和用戶調(diào)查之后,可以將系統(tǒng)上線做AB測(cè)試,將它和舊算法進(jìn)行比較。

在線實(shí)驗(yàn)最常用的評(píng)測(cè)算法是【A/B測(cè)試】,它通過一定的規(guī)則將用戶隨機(jī)分成幾組,對(duì)不同組的用戶采用不同的算法,然后通過統(tǒng)計(jì)不同組的評(píng)測(cè)指標(biāo),比較不同算法的好壞。

它的核心思想是:
a) 多個(gè)方案并行測(cè)試;
b) 每個(gè)方案只有一個(gè)變量不同;
c) 以某種規(guī)則優(yōu)勝劣汰。

其中第2點(diǎn)暗示了A/B 測(cè)試的應(yīng)用范圍:A/B測(cè)試必須是單變量。
對(duì)于推薦系統(tǒng)的評(píng)價(jià)中,唯一變量就是--推薦算法。

有個(gè)很棒的網(wǎng)站,http://www.abtests.com,里面有很多通過實(shí)際AB測(cè)試提高網(wǎng)站用戶滿意度的例子。

AB測(cè)試的優(yōu)點(diǎn)是:

  • 可以公平獲得不同算法實(shí)際在線時(shí)的性能指標(biāo),包括商業(yè)上關(guān)注的指標(biāo);

缺點(diǎn)是:

  • 周期較長(zhǎng),必須進(jìn)行長(zhǎng)期的實(shí)驗(yàn)才能得到可靠的結(jié)果;

大型網(wǎng)站做AB測(cè)試,可能會(huì)因?yàn)椴煌瑘F(tuán)隊(duì)同時(shí)進(jìn)行各種測(cè)試對(duì)結(jié)果造成干擾,所以切分流量是AB測(cè)試中的關(guān)鍵。

不同的層以及控制這些層的團(tuán)隊(duì),需要從一個(gè)統(tǒng)一的地方獲得自己AB測(cè)試的流量,而不同層之間的流量應(yīng)該是正交的。

AB測(cè)試系統(tǒng).png

4)總結(jié)

一般來說,一個(gè)新的推薦算法最終上線,需要完成上述的3個(gè)實(shí)驗(yàn)。

  • 首先,通過離線實(shí)驗(yàn)證明它在很多離線指標(biāo)上優(yōu)于現(xiàn)有的算法;
  • 其次,通過用戶調(diào)查確定用戶滿意度不低于現(xiàn)有的算法;
  • 最后,通過在線AB測(cè)試確定它在我們關(guān)心的指標(biāo)上優(yōu)于現(xiàn)有的算法;

2. 評(píng)測(cè)指標(biāo)

評(píng)測(cè)指標(biāo)用于評(píng)測(cè)推薦系統(tǒng)的性能,有些可以定量計(jì)算,有些只能定性描述。

1)用戶滿意度

用戶滿意度是評(píng)測(cè)推薦系統(tǒng)的重要指標(biāo),無法離線計(jì)算,只能通過用戶調(diào)查或者在線實(shí)驗(yàn)獲得。

調(diào)查問卷,需要考慮到用戶各方面的感受,用戶才能針對(duì)問題給出準(zhǔn)確的回答。

在線系統(tǒng)中,用戶滿意度通過統(tǒng)計(jì)用戶行為得到。比如用戶如果購(gòu)買了推薦的商品,就表示他們?cè)谝欢ǔ潭壬蠞M意,可以用購(gòu)買率度量用戶滿意度。

一般情況,我們可以用用戶點(diǎn)擊率、停留時(shí)間、轉(zhuǎn)化率等指標(biāo)度量用戶的滿意度。

2)預(yù)測(cè)準(zhǔn)確度

預(yù)測(cè)準(zhǔn)確度,度量的是推薦系統(tǒng)預(yù)測(cè)用戶行為的能力。 是推薦系統(tǒng)最重要的離線評(píng)測(cè)指標(biāo)。

大部分的關(guān)于推薦系統(tǒng)評(píng)測(cè)指標(biāo)的研究,都是針對(duì)預(yù)測(cè)準(zhǔn)確度的。因?yàn)樵撝笜?biāo)可以通過離線實(shí)驗(yàn)計(jì)算,方便了學(xué)術(shù)界的研究人員。

由于離線的推薦算法有不同的研究方向,準(zhǔn)確度指標(biāo)也不同,根據(jù)研究方向,可分為:預(yù)測(cè)評(píng)分準(zhǔn)確度和TopN推薦。

a)預(yù)測(cè)評(píng)分準(zhǔn)確度

預(yù)測(cè)評(píng)分的準(zhǔn)確度,衡量的是算法預(yù)測(cè)的評(píng)分與用戶的實(shí)際評(píng)分的貼近程度。
這針對(duì)于一些需要用戶給物品評(píng)分的網(wǎng)站。

預(yù)測(cè)評(píng)分的準(zhǔn)確度指標(biāo),一般通過以下指標(biāo)計(jì)算:

  • 平均絕對(duì)誤差(MAE)



    MAE.png

    MAE因其計(jì)算簡(jiǎn)單、通俗易懂得到了廣泛的應(yīng)用。但MAE指標(biāo)也有一定的局限性,因?yàn)閷?duì)MAE指標(biāo)貢獻(xiàn)比較大的往往是那種很難預(yù)測(cè)準(zhǔn)確的低分商品。

    所以即便推薦系統(tǒng)A的MAE值低于系統(tǒng)B,很可能只是由于系統(tǒng)A更擅長(zhǎng)預(yù)測(cè)這部分低分商品的評(píng)分,即系統(tǒng)A比系統(tǒng)B能更好的區(qū)分用戶非常討厭和一般討厭的商品,顯然這樣區(qū)分的意義不大。

  • 均方根誤差(RMSE)




    RMSE.png

    Netflix認(rèn)為RMSE加大了對(duì)預(yù)測(cè)不準(zhǔn)的用戶物品評(píng)分的懲罰(平方項(xiàng)的懲罰),因而對(duì)系統(tǒng)的評(píng)測(cè)更加苛刻。

    研究表明,如果評(píng)分系統(tǒng)是基于整數(shù)建立的(即用戶給的評(píng)分都是整數(shù)),那么對(duì)預(yù)測(cè)結(jié)果取整數(shù)會(huì)降低MAE的誤差。

b)TopN推薦

網(wǎng)站提供推薦服務(wù)時(shí),一般是給用戶一個(gè)個(gè)性化的推薦列表,這種推薦叫做TopN推薦。

TopN推薦的預(yù)測(cè)準(zhǔn)確率,一般通過2個(gè)指標(biāo)度量:

  • 準(zhǔn)確率(precision)





  • 召回率(recall)

R(u)是根據(jù)用戶在訓(xùn)練集上的行為給用戶做出的推薦列表,T(u)是用戶在測(cè)試集上的行為列表。

TopN推薦更符合實(shí)際的應(yīng)用需求,比如預(yù)測(cè)用戶是否會(huì)看一部電影,比預(yù)測(cè)用戶看了電影之后會(huì)給它什么評(píng)分更重要。

3)覆蓋率

覆蓋率(coverage)是描述一個(gè)推薦系統(tǒng)對(duì)物品長(zhǎng)尾的發(fā)掘能力。
最簡(jiǎn)單的定義是,推薦系統(tǒng)推薦出來的物品占總物品的比例。

假設(shè)系統(tǒng)的用戶集合為U,推薦系統(tǒng)給每個(gè)用戶推薦一個(gè)長(zhǎng)度為N的物品列表R(u),覆蓋率公式為:

覆蓋率是內(nèi)容提供者關(guān)心的指標(biāo),覆蓋率為100%的推薦系統(tǒng)可以將每個(gè)物品都推薦給至少一個(gè)用戶。

除了推薦物品的占比,還可以通過研究物品在推薦列表中出現(xiàn)的次數(shù)分布,更好的描述推薦系統(tǒng)的挖掘長(zhǎng)尾的能力。

如果分布比較平,說明推薦系統(tǒng)的覆蓋率很高;如果分布陡峭,說明分布系統(tǒng)的覆蓋率較低。

信息論和經(jīng)濟(jì)學(xué)中有兩個(gè)著名指標(biāo),可以定義覆蓋率:

  • 信息熵

p(i)是物品i的流行度除以所有物品流行度之和。

  • 基尼系數(shù)(Gini Index)




    p(ij)是按照物品流行度p()從小到大排序的物品列表中第j個(gè)物品。




    • 評(píng)測(cè)馬太效應(yīng)

    馬太效應(yīng),是指強(qiáng)者越強(qiáng),弱者越弱的效應(yīng)。推薦系統(tǒng)的初衷是希望消除馬太效應(yīng),使得各物品都能被展示給對(duì)它們感興趣的人群。

    但是,很多研究表明,現(xiàn)在的主流推薦算法(協(xié)同過濾)是具有馬太效應(yīng)的。評(píng)測(cè)推薦系統(tǒng)是否具有馬太效應(yīng)可以使用基尼系數(shù)。

    如,G1是從初始用戶行為中計(jì)算出的物品流行度的基尼系數(shù),G2是從推薦列表中計(jì)算出的物品流行度的基尼系數(shù),那么如果G1>G2,就說明推薦算法具有馬太效應(yīng)。

4)多樣性

為了滿足用戶廣泛的興趣,推薦列表需要能夠覆蓋用戶不同興趣的領(lǐng)域,即需要具有多樣性。

多樣性描述了推薦列表中物品兩兩之間的不相似性。假設(shè)s(i,j)在[0,1]區(qū)間定義了物品i和j之間的相似度,那么用戶u的推薦列表R(u)的多樣性定義如下:

推薦系統(tǒng)整體多樣性可以定義為所有用戶推薦列表多樣性的平均值:

5)新穎性

新穎性也是影響用戶體驗(yàn)的重要指標(biāo)之一。它指的是向用戶推薦非熱門非流行物品的能力。

評(píng)測(cè)新穎度最簡(jiǎn)單的方法,是利用推薦結(jié)果的平均流行度,因?yàn)樵讲粺衢T的物品,越可能讓用戶覺得新穎。

此計(jì)算比較粗糙,需要配合用戶調(diào)查準(zhǔn)確統(tǒng)計(jì)新穎度。

6)驚喜度

推薦結(jié)果和用戶的歷史興趣不相似,但卻讓用戶滿意,這樣就是驚喜度很高。

目前驚喜度還沒有公認(rèn)的指標(biāo)定義方式,最近幾年研究的人很多,深入研究可以參考一些論文。

7)信任度

如果用戶信任推薦系統(tǒng),就會(huì)增加用戶和推薦系統(tǒng)的交互。

提高信任度的方式有兩種:

  • 增加系統(tǒng)透明度
    提供推薦解釋,讓用戶了解推薦系統(tǒng)的運(yùn)行機(jī)制。

  • 利用社交網(wǎng)絡(luò),通過好友信息給用戶做推薦
    通過好友進(jìn)行推薦解釋

度量信任度的方式,只能通過問卷調(diào)查。

8)實(shí)時(shí)性

推薦系統(tǒng)的實(shí)時(shí)性,包括兩方面:

  • 實(shí)時(shí)更新推薦列表滿足用戶新的行為變化;
  • 將新加入系統(tǒng)的物品推薦給用戶;

9)健壯性

任何能帶來利益的算法系統(tǒng)都會(huì)被攻擊,最典型的案例就是搜索引擎的作弊與反作弊斗爭(zhēng)。

健壯性(robust,魯棒性)衡量了推薦系統(tǒng)抗擊作弊的能力。

2011年的推薦系統(tǒng)大會(huì)專門有一個(gè)推薦系統(tǒng)健壯性的教程,作者總結(jié)了很多作弊方法,最著名的是行為注入攻擊(profile injection attack)。
就是注冊(cè)很多賬號(hào),用這些賬號(hào)同時(shí)購(gòu)買A和自己的商品。此方法針對(duì)亞馬遜的一種推薦方法,“購(gòu)買商品A的用戶也經(jīng)常購(gòu)買的其他商品”。

評(píng)測(cè)算法的健壯性,主要利用模擬攻擊:

a)給定一個(gè)數(shù)據(jù)集和算法,用算法給數(shù)據(jù)集中的用戶生成推薦列表;
b)用常用的攻擊方法向數(shù)據(jù)集中注入噪聲數(shù)據(jù);
c)利用算法在有噪聲的數(shù)據(jù)集上再次生成推薦列表;
d)通過比較攻擊前后推薦列表的相似度評(píng)測(cè)算法的健壯性。

提高系統(tǒng)健壯性的方法:

  • 選擇健壯性高的算法;
  • 選擇代價(jià)較高的用戶行為,如購(gòu)買行為比瀏覽行為代價(jià)高;
  • 在使用數(shù)據(jù)前,進(jìn)行攻擊檢測(cè),從而對(duì)數(shù)據(jù)進(jìn)行清理。

10)商業(yè)目標(biāo)

設(shè)計(jì)推薦系統(tǒng)時(shí),需要考慮最終的商業(yè)目標(biāo)。不同網(wǎng)站具有不同的商業(yè)目標(biāo),它與網(wǎng)站的盈利模式息息相關(guān)。

總結(jié):

作者認(rèn)為,對(duì)于可以離線優(yōu)化的指標(biāo),在給定覆蓋率、多樣性、新穎性等限制條件下,應(yīng)盡量?jī)?yōu)化預(yù)測(cè)準(zhǔn)確度。

3. 評(píng)測(cè)維度

增加評(píng)測(cè)維度的目的,就是知道一個(gè)算法在什么情況下性能最好。

一般評(píng)測(cè)維度分3種:

  • 用戶維度
    主要包括用戶的人口統(tǒng)計(jì)學(xué)信息、活躍度以及是不是新用戶等;
  • 物品維度
    包括物品的屬性信息、流行度、平均分以及是不是新加入的物品等;
  • 時(shí)間維度
    包括季節(jié),是工作日還是周末,白天還是晚上等;

如果推薦系統(tǒng)的評(píng)測(cè)報(bào)告中,包含了不同維度下的系統(tǒng)評(píng)測(cè)指標(biāo),就能幫我們?nèi)媪私庀到y(tǒng)性能。

三、推薦算法通用模型

1. 推薦算法通用模型

推薦系統(tǒng)有3個(gè)重要的模塊:

  • 用戶建模模塊
  • 推薦對(duì)象建模模塊
  • 推薦算法模塊

通用的推薦系統(tǒng)模型流程如圖,技術(shù)一點(diǎn)的描述過程如下:
a)推薦系統(tǒng)通過用戶行為,建立用戶模型;
b)通過物品的信息,建立推薦對(duì)象模型;
c)通過用戶興趣匹配物品的特征信息,再經(jīng)過推薦算法計(jì)算篩選,找到用戶可能感興趣的推薦對(duì)象,然后推薦給用戶。

  • 用戶建模模塊
    建立用戶模型之前,需要考慮下面幾個(gè)問題:
    (1)模型的輸入數(shù)據(jù)有哪些,如何獲取模型的輸入數(shù)據(jù)。
    (2)如何考慮用戶的興趣及需求的變化。
    (3)建模的對(duì)象是誰。
    (4)如何建模。
    (5)模型的輸出是什么。




    獲取用戶信息就是解決模型輸入數(shù)據(jù)的問題,輸入數(shù)據(jù)主要有以下幾種:
    (1)用戶屬性:人口統(tǒng)計(jì)學(xué)信息;

    (2)用戶手動(dòng)輸入的信息:包括用戶在搜索引擎中輸入的關(guān)鍵詞,用戶反饋的信息,對(duì)推薦對(duì)象的喜好程度等;

    (3)用戶的瀏覽行為和瀏覽內(nèi)容:包括瀏覽次數(shù)、頻率、停留時(shí)間等,瀏覽頁(yè)面時(shí)的操作(收藏、保存、復(fù)制等)等。服務(wù)器端保存的日志也能較好地記錄用戶的瀏覽行為和內(nèi)容。

    (4)推薦對(duì)象的屬性特征:不同的推薦對(duì)象,用戶建模的輸入數(shù)據(jù)也不同。網(wǎng)頁(yè)等推薦對(duì)象通常考慮對(duì)象的內(nèi)容和用戶之間的相似性,而產(chǎn)品等推薦對(duì)象通常考慮用戶對(duì)產(chǎn)品的評(píng)價(jià)。

    為提高推薦質(zhì)量,推薦對(duì)象的相關(guān)的屬性也要考慮進(jìn)去,比如除網(wǎng)頁(yè)內(nèi)容以外,還要考慮網(wǎng)頁(yè)的發(fā)布人、時(shí)間等。

    產(chǎn)品類的對(duì)象還要考慮產(chǎn)品的品牌、價(jià)格、出售時(shí)間等。

獲取模型輸入數(shù)據(jù)的方式有顯式獲取、隱式獲取和啟發(fā)式獲取三種方式。

用戶模型的建模方法主要有遺傳算法、基于機(jī)器學(xué)習(xí)的 方法,例如 TF-IDF、自動(dòng)聚類、貝葉斯分類器、決策樹歸納和神經(jīng)網(wǎng)絡(luò)方法等。

  • 推薦對(duì)象建模

考慮以下幾個(gè)問題:
(1)提取推薦對(duì)象的什么特征,如何提取,提取的特征用于什么目的。
(2)對(duì)象的特征描述和用戶文件描述之間有關(guān)聯(lián)。
(3)提取到的每個(gè)對(duì)象特征對(duì)推薦結(jié)果會(huì)有什么影響。
(4)對(duì)象的特征描述文件能否自動(dòng)更新。

2. 算法模塊

目前主要的推薦算法,如下圖所示。

推薦算法是整個(gè)推薦系統(tǒng)中最核心的部分,在很大程度上決定了推薦系統(tǒng)類型和性能的優(yōu)劣。

四、推薦算法詳述

1)基于內(nèi)容的推薦

原理是基于用戶感興趣的物品A,找到和A內(nèi)容信息相近的物品B。

利用用戶和物品本身的內(nèi)容特征,如用戶的地理位置、性別、年齡,電影物品的導(dǎo)演、演員、發(fā)布時(shí)間等。
比如你喜歡看《怪奇物語I》,系統(tǒng)會(huì)給你推薦《怪奇物語II》。

所以提取推薦對(duì)象的特征,是內(nèi)容推薦算法的關(guān)鍵。但是對(duì)于多媒體內(nèi)容,如視頻、音樂,很難找到它們之間的特性關(guān)聯(lián)性。

基于內(nèi)容的推薦的優(yōu)點(diǎn)如下:
(1) 簡(jiǎn)單、有效,推薦結(jié)果直觀,容易理解,不需要領(lǐng)域知識(shí)。
(2) 不需要用戶的歷史數(shù)據(jù),如對(duì)對(duì)象的評(píng)價(jià)等。
(3) 沒有關(guān)于新推薦對(duì)象出現(xiàn)的冷啟動(dòng)問題。
(4) 沒有稀疏問題。
(5) 算法成熟,如數(shù)據(jù)挖掘、聚類分析等。

基于內(nèi)容的推薦的缺點(diǎn)如下:
(1) 受到了推薦對(duì)象特征提取能力的限制。
比如圖像、視頻,沒有有效的特征提取方法。即便是文本資源,特征提取也只能反應(yīng)一部分內(nèi)容,難以提取內(nèi)容質(zhì)量,會(huì)影響用戶滿意度。

(2) 很難出現(xiàn)新的推薦結(jié)果。
根據(jù)用戶興趣的喜好進(jìn)行推薦,很難出現(xiàn)驚喜。對(duì)于時(shí)間敏感的內(nèi)容,如新聞,推薦內(nèi)容基本相同,體驗(yàn)度較差。

(3)存在新用戶出現(xiàn)時(shí)的冷啟動(dòng)問題。
當(dāng)新用戶出現(xiàn)時(shí), 系統(tǒng)較難獲得該用戶的興趣偏好,無法進(jìn)行有效推薦。

(4) 推薦對(duì)象內(nèi)容分類方法需要的數(shù)據(jù)量較大。

2)協(xié)同過濾算法

僅僅基于用戶行為數(shù)據(jù)設(shè)計(jì)的推薦算法,稱為協(xié)同過濾算法。此方法主要根據(jù)用戶對(duì)物品的歷史行為,尋找用戶或物品的近鄰集合,以此計(jì)算用戶對(duì)物品的偏好。

主要的算法分3種,最廣泛應(yīng)用的是基于領(lǐng)域的方法:

a) 基于領(lǐng)域的模型算法

主要包含兩種算法:

i) 基于用戶的協(xié)同過濾算法(UserCF)
這種算法給用戶推薦和他興趣相似的其他用戶喜歡的物品。

  • 算法步驟:
    (1) 找到和目標(biāo)用戶興趣相似的用戶集合;
    (2) 找到這個(gè)集合中的用戶喜歡的,且目標(biāo)用戶沒有聽說過的物品,推薦給目標(biāo)用戶。

算法的關(guān)鍵是計(jì)算兩個(gè)用戶的興趣相似度。協(xié)同過濾計(jì)算用戶興趣相似度是利用用戶行為的相似度。

UserCF

  • 計(jì)算用戶相似度的方法有3種:
    • 余弦相似性
    • 相關(guān)相似性(皮爾森系數(shù)相關(guān))
    • 修正的余弦相似性

計(jì)算用戶興趣相似度時(shí),要避免熱門物品自帶馬太效應(yīng)的影響。換句話說,兩個(gè)用戶對(duì)冷門物品采取過同樣行為,更能說明他們的興趣相似。

  • 缺點(diǎn):
    • 用戶數(shù)目越大,計(jì)算用戶興趣相似度越復(fù)雜,時(shí)間、空間復(fù)雜度的增長(zhǎng)和用戶數(shù)的增長(zhǎng)近似于平方關(guān)系。
    • 解釋性不強(qiáng)

ii) 基于物品的協(xié)同過濾算法(ItemCF)
這種算法給用戶推薦和他之前喜歡的物品相似的物品。

該算法是目前業(yè)界應(yīng)用最多的算法,如亞馬遜、Netflix、YouTube,都是以該算法為基礎(chǔ)。

  • ItemCF 與 基于內(nèi)容的推薦算法的區(qū)別

    • 基于內(nèi)容的推薦算法,計(jì)算的是物品內(nèi)容屬性之間的相似度。如,電影的導(dǎo)演是不是同一個(gè)人;
    • ItemCF是通過用戶的行為計(jì)算物品之間的相似度。如,物品A、B具有很大相似度,是因?yàn)橄矚g物品A的用戶也大都喜歡物品B。
  • 算法步驟:
    (1) 根據(jù)用戶的歷史行為,計(jì)算物品之間的相似度;
    (2) 根據(jù)物品的相似度和用戶的歷史行為給用戶生成推薦列表。

兩個(gè)物品產(chǎn)生相似度,是因?yàn)樗鼈児餐缓芏嘤脩粝矚g,也就是說,每個(gè)用戶都可以通過它們的歷史興趣列表給物品“貢獻(xiàn)”相似度。

ItemCF

  • 用戶活躍度對(duì)物品相似度的影響
    IUF(Inverse User Frequence),用戶活躍度對(duì)數(shù)的倒數(shù)的參數(shù)。
    論文提出的觀點(diǎn)是,活躍用戶對(duì)物品相似度的貢獻(xiàn)應(yīng)該小于不活躍的用戶。用IUF修正物品相似度的計(jì)算。

  • 物品相似度的歸一化
    研究表明,將ItemCF的相似度矩陣按最大值歸一,可以提高推薦的準(zhǔn)確率。

  • UserCF 與 ItemCF 的優(yōu)缺點(diǎn)

b) 隱語義模型算法

LFM(latent factor model)隱語義模型是最近幾年推薦系統(tǒng)領(lǐng)域最熱門的話題,它的核心思想是通過隱含特征聯(lián)系用戶興趣和物品。

i)隱語義模型解決了什么問題

比如,用戶A的興趣列表里,有關(guān)于偵探小說、科普?qǐng)D書和計(jì)算機(jī)技術(shù)圖書。用戶B的興趣列表集中在數(shù)學(xué)和機(jī)器學(xué)習(xí)方面。

如何給用戶A和B推薦圖書?

除了UserCF與ItemCF,還可以對(duì)書和物品的興趣進(jìn)行分類。對(duì)于某個(gè)用戶,首先得到他的興趣分類,然后從分類中挑選他可能喜歡的物品。

  • 基于興趣分類的方法,大概需要解決的問題:

    • 如何給物品進(jìn)行分類?
    • 如何確定用戶對(duì)哪類物品感興趣,以及感興趣程度?
    • 對(duì)于一個(gè)給定的分類,選擇哪些屬于這個(gè)類的物品推薦給用戶,以及如何確定這些物品在一個(gè)類中的權(quán)重?
  • 人工編輯分類存在的問題:

    • 編輯的意見不能代表各種用戶的意見。
    • 編輯很難控制分類的粒度。
    • 編輯很難給一個(gè)物品多個(gè)分類。
    • 編輯很難給出多維度的分類。
    • 編輯很難決定一個(gè)物品在某一個(gè)分類的權(quán)重。
  • 隱語義分析技術(shù)解決了上述5個(gè)問題:

    • 用戶的行為代表了用戶對(duì)物品分類的看法。比如,如果兩個(gè)物品被很多用戶同時(shí)喜歡,這個(gè)兩個(gè)物品很可能屬于同一類。
    • 隱語義技術(shù)允許我們指定最終的分類數(shù)目,分類數(shù)越多,分類粒度越細(xì)。
    • 隱語義技術(shù)可以計(jì)算出物品屬于每個(gè)類的權(quán)重,因?yàn)槊總€(gè)物品不是硬性地被分到一個(gè)類目中。
    • 隱語義技術(shù)給出的每個(gè)分類都不是一個(gè)維度,它根據(jù)用戶的共同興趣計(jì)算得出。
    • 隱語義技術(shù)可以通過統(tǒng)計(jì)用戶行為決定物品在每個(gè)類中的權(quán)重,如果喜歡某個(gè)類的用戶都會(huì)喜歡某個(gè)物品,那么這個(gè)物品在這個(gè)類中的權(quán)重就可能較高。

隱語義技術(shù)有很多著名的模型和方法,其中耳熟能詳?shù)拿~有pLSA、LDA、隱含類別模型、隱含主題模型、矩陣分解。這些技術(shù)和方法在本質(zhì)上是相同的,都可以用于個(gè)性化推薦系統(tǒng)。

ii)LFM算法詳解

LFM公式

推薦系統(tǒng)的用戶行為分為顯性反饋和隱性反饋,LFM在顯性反饋數(shù)據(jù)(評(píng)分?jǐn)?shù)據(jù))上解決評(píng)分預(yù)測(cè)問題達(dá)到了很好的精度。

對(duì)于隱性反饋數(shù)據(jù),這種數(shù)據(jù)集的特點(diǎn)是,只有正樣本(用戶喜歡什么物品),沒有負(fù)樣本(用戶對(duì)什么物品不感興趣)。

在隱性反饋數(shù)據(jù)集上應(yīng)用LFM解決TopN推薦,第一個(gè)關(guān)鍵問題是如何給每個(gè)用戶生成負(fù)樣本。

  • 對(duì)于這個(gè)問題,Rong Pan在文章中做了很多探討,對(duì)比了如下幾種方法:
    • 1)對(duì)于一個(gè)用戶,用他所有沒有過行為的物品作為負(fù)樣本。
    • 2)對(duì)于一個(gè)用戶,從他沒有過行為的物品中均勻采樣出一些物品作為負(fù)樣本。
    • 3)對(duì)于一個(gè)用戶,從他沒有過行為的物品中采樣出一些物品作為負(fù)樣本,但采樣時(shí),保證每個(gè)用戶的正負(fù)樣本數(shù)目相當(dāng)。
    • 4)對(duì)于一個(gè)用戶,從他沒有過行為的物品中采樣出一些物品作為負(fù)樣本,但采樣時(shí),偏重采樣不熱門的物品。

對(duì)于1),它的明顯缺點(diǎn)是負(fù)樣本太多,正負(fù)樣本數(shù)目相差懸殊,因而計(jì)算復(fù)雜度很高,最終結(jié)果的精度也很差。另外三種方法的效果,作者表示,3)> 2)> 4)。

  • 對(duì)負(fù)樣本的采樣還應(yīng)該遵循以下原則:
    • 對(duì)每個(gè)用戶,要保證負(fù)樣本的平衡(數(shù)目相似)
    • 對(duì)每個(gè)用戶采樣負(fù)樣本時(shí),要選取那些很熱門,而用戶卻沒有行為的物品。

通過離線實(shí)驗(yàn)對(duì)比LFM在TopN推薦中的性能,在LFM中,有4個(gè)重要參數(shù):

  • 隱特征的個(gè)數(shù)F;
  • 學(xué)習(xí)速率alpha;
  • 正則化參數(shù)lambda;
  • 負(fù)樣本/正樣本比例ratio;
    實(shí)驗(yàn)表明,ratio參數(shù)對(duì)LFM的性能影響最大。

iii)基于LMF的實(shí)際系統(tǒng)的例子

雅虎的研究人員公布過一個(gè)使用LFM進(jìn)行雅虎首頁(yè)個(gè)性化設(shè)計(jì)的方案。

LFM的缺點(diǎn)是,很難實(shí)現(xiàn)實(shí)時(shí)的推薦。
經(jīng)典的LFM模型每次訓(xùn)練時(shí),需要掃描所有用戶的行為記錄,這樣才能計(jì)算出用戶隱類向量和物品隱類向量。所以一般每天只訓(xùn)練一次。

雅虎的解決方案是:

  • 利用新聞鏈接的內(nèi)容屬性(關(guān)鍵詞、類別等)得到鏈接的內(nèi)容特征向量;
  • 實(shí)時(shí)收集用戶對(duì)鏈接的行為,并用這些數(shù)據(jù)得到鏈接的隱特征向量;
  • 利用公式預(yù)測(cè)用戶是否會(huì)單擊鏈接。

iiii)LFM和基于領(lǐng)域的方法區(qū)別

總結(jié)如下圖:

c) 基于圖的模型

用戶行為很容易用二分圖表示,因此很多圖的算法都可以用到推薦系統(tǒng)中。也可以把基于領(lǐng)域的模型看做是基于圖的模型的簡(jiǎn)單形式。

i)用戶行為數(shù)據(jù)的二分圖表示

基于圖的模型(graph-based model)是推薦系統(tǒng)中的重要內(nèi)容,其基本思想是將用戶行為數(shù)據(jù)表示為一系列的二元組。

每一個(gè)二元組(u,i)代表用戶u對(duì)物品 i 產(chǎn)生過行為,這樣便可以將這個(gè)數(shù)據(jù)集表示為一個(gè)二分圖。

下圖是一個(gè)簡(jiǎn)單的用戶物品二分圖模型,其中圓形節(jié)點(diǎn)代表用戶,方形節(jié)點(diǎn)代表物品,圓形節(jié)點(diǎn)和方形節(jié)點(diǎn)之間的邊代表用戶對(duì)物品的行為。比如圖中用戶節(jié)點(diǎn)A和物品節(jié)點(diǎn)a、b、d相連,說明用戶A對(duì)物品a、b、d產(chǎn)生過行為。

ii)基于圖的推薦算法

基于用戶行為二分圖,給用戶u推薦物品,可以轉(zhuǎn)化為計(jì)算用戶頂點(diǎn)u和與所有物品頂點(diǎn)之間的相關(guān)性,然后取與用戶沒有直接邊相連的物品,按照相關(guān)性的高低生成推薦列表。

其實(shí),這是一個(gè)圖上的排名問題,最著名的就是Google的pageRank算法。

  • 度量圖中兩個(gè)頂點(diǎn)之間相關(guān)性,一般取決于3個(gè)因素:

    • 兩個(gè)頂點(diǎn)之間的路徑數(shù);
    • 兩個(gè)頂點(diǎn)之間的路徑長(zhǎng)度;
    • 兩個(gè)頂點(diǎn)之間的路徑經(jīng)過的頂點(diǎn);
  • 相關(guān)性高的兩個(gè)頂點(diǎn),一般具有以下特征:

    • 兩個(gè)頂點(diǎn)之間有很多路徑相連;
    • 鏈接兩個(gè)頂點(diǎn)之間的路徑長(zhǎng)度都比較短;
    • 鏈接兩個(gè)頂點(diǎn)之間的路徑不會(huì)經(jīng)過出度比較大的頂點(diǎn)。

iii)PageRank算法簡(jiǎn)介

PageRank是Larry Page 和 Sergey Brin設(shè)計(jì)的,用來衡量特定網(wǎng)頁(yè)相對(duì)于搜索引擎中其他網(wǎng)頁(yè)的重要性的算法,其計(jì)算結(jié)果作為Google搜索結(jié)果中網(wǎng)頁(yè)排名的重要指標(biāo)。

網(wǎng)頁(yè)之間通過超鏈接相互連接,互聯(lián)網(wǎng)上不計(jì)其數(shù)的網(wǎng)頁(yè)就構(gòu)成了一張超大的圖。

PageRank假設(shè)用戶從所有網(wǎng)頁(yè)中隨機(jī)選擇一個(gè)網(wǎng)頁(yè)進(jìn)行瀏覽,然后通過超鏈接在網(wǎng)頁(yè)直接不斷跳轉(zhuǎn)。到達(dá)每個(gè)網(wǎng)頁(yè)后,用戶有兩種選擇:到此結(jié)束或者繼續(xù)選擇一個(gè)鏈接瀏覽。

算法令用戶繼續(xù)瀏覽的概率為d,用戶以相等的概率在當(dāng)前頁(yè)面的所有超鏈接中隨機(jī)選擇一個(gè)繼續(xù)瀏覽。

這是一個(gè)隨機(jī)游走的過程。
當(dāng)經(jīng)過很多次這樣的游走之后,每個(gè)網(wǎng)頁(yè)被訪問用戶訪問到的概率就會(huì)收斂到一個(gè)穩(wěn)定值。這個(gè)概率就是網(wǎng)頁(yè)的重要性指標(biāo),被用于網(wǎng)頁(yè)排名。算法迭代關(guān)系式如下所示:

上式中PR(i)是網(wǎng)頁(yè)i的訪問概率(也就是重要度),d是用戶繼續(xù)訪問網(wǎng)頁(yè)的概率,N是網(wǎng)頁(yè)總數(shù)。in(i)表示指向網(wǎng)頁(yè)i的網(wǎng)頁(yè)集合,out(j)表示網(wǎng)頁(yè)j指向的網(wǎng)頁(yè)集合。

iiii)PersonalRank算法簡(jiǎn)介

對(duì)于推薦系統(tǒng),我們需要計(jì)算的是物品節(jié)點(diǎn)相對(duì)于某一個(gè)用戶節(jié)點(diǎn)u的相關(guān)性。

Standford的Haveliwala于2002年在他《Topic-sensitive pagerank》一文中提出了PersonalRank算法,該算法能夠?yàn)橛脩魝€(gè)性化的對(duì)所有物品進(jìn)行排序。它的迭代公式如下:

我們發(fā)現(xiàn)PersonalRank跟PageRank的區(qū)別只是用ri替換了1/N,也就是說從不同點(diǎn)開始的概率不同。

我們重新描述一下算法的過程:

假設(shè)要給用戶u進(jìn)行個(gè)性化推薦,可以從用戶u對(duì)應(yīng)的節(jié)點(diǎn)Vu開始在用戶物品二分圖上進(jìn)行隨機(jī)游走。

游走到任何一個(gè)節(jié)點(diǎn)時(shí),首先按照概率α決定是繼續(xù)游走,還是停止這次游走并從Vu節(jié)點(diǎn)開始重新游走。如果決定繼續(xù)游走,那么就從當(dāng)前節(jié)點(diǎn)指向的節(jié)點(diǎn)中按照均勻分布隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為游走下次經(jīng)過的節(jié)點(diǎn)。

這樣,經(jīng)過很多次隨機(jī)游走后,每個(gè)物品節(jié)點(diǎn)被訪問到的概率會(huì)收斂到一個(gè)數(shù)。最終的推薦列表中物品的權(quán)重就是物品節(jié)點(diǎn)的訪問概率。

  • 缺點(diǎn)
    PersonalRank每次都需要在全圖迭代,所以時(shí)間復(fù)雜度非常高。
    解決辦法是,
    • 減少迭代次數(shù),在收斂前停止。會(huì)影響精度,但影響不大。
    • 從矩陣論出發(fā),重新設(shè)計(jì)算法。

3)基于關(guān)聯(lián)規(guī)則的推薦

主要用于購(gòu)物車分析。

(以下內(nèi)容摘自網(wǎng)絡(luò))

關(guān)聯(lián)規(guī)則是反映一個(gè)事物與其他事物之間的相互依存性和關(guān)聯(lián)性,常用于實(shí)體商店或在線電商的推薦系統(tǒng):通過對(duì)顧客的購(gòu)買記錄數(shù)據(jù)庫(kù)進(jìn)行關(guān)聯(lián)規(guī)則挖掘,最終目的是發(fā)現(xiàn)顧客群體的購(gòu)買習(xí)慣的內(nèi)在共性。

例如購(gòu)買產(chǎn)品A的同時(shí)也連帶購(gòu)買產(chǎn)品B的概率,根據(jù)挖掘結(jié)果,調(diào)整貨架的布局陳列、設(shè)計(jì)促銷組合方案,實(shí)現(xiàn)銷量的提升,最經(jīng)典的應(yīng)用案例莫過于<啤酒和尿布>。

關(guān)聯(lián)規(guī)則分析中的關(guān)鍵概念包括:支持度(Support)、置信度(Confidence)與提升度(Lift)。首先,我們簡(jiǎn)單溫故下這3個(gè)關(guān)鍵指標(biāo)~

1、支持度 (Support):支持度是兩件商品(A∩B)在總銷售筆數(shù)(N)中出現(xiàn)的概率,即A與B同時(shí)被購(gòu)買的概率。類似于中學(xué)學(xué)的交集,需要原始同時(shí)滿足條件。

公式:

例子說明:

比如某超市2016年有100w筆銷售,顧客購(gòu)買可樂又購(gòu)買薯片有20w筆,顧客購(gòu)買可樂又購(gòu)買面包有10w筆,那可樂和薯片的關(guān)聯(lián)規(guī)則的支持度是20%,可樂和面包的支持度是10%。

2、置信度 (Confidence):置信度是購(gòu)買A后再購(gòu)買B的條件概率。簡(jiǎn)單來說就是交集部分C在A中比例,如果比例大說明購(gòu)買A的客戶很大期望會(huì)購(gòu)買B商品。

公式:

例子說明:

某超市2016年可樂購(gòu)買次數(shù)40w筆,購(gòu)買可樂又購(gòu)買了薯片是30w筆,顧客購(gòu)買可樂又購(gòu)買面包有10w筆,則購(gòu)買可樂又會(huì)購(gòu)買薯片的置信度是75%,購(gòu)買可樂又購(gòu)買面包的置信度是25%,這說明買可樂也會(huì)買薯片的關(guān)聯(lián)性比面包強(qiáng),營(yíng)銷上可以做一些組合策略銷售。

3、提升度 (Lift):提升度表示先購(gòu)買A對(duì)購(gòu)買B的概率的提升作用,用來判斷規(guī)則是否有實(shí)際價(jià)值,即使用規(guī)則后商品在購(gòu)物車中出現(xiàn)的次數(shù)是否高于商品單獨(dú)出現(xiàn)在購(gòu)物車中的頻率。如果大于1說明規(guī)則有效,小于1則無效。

公式:

例子說明:

可樂和薯片的關(guān)聯(lián)規(guī)則的支持度是20%,購(gòu)買可樂的支持度是3%,購(gòu)買薯片的支持度是5%,則提升度是1.33>1, A-B規(guī)則對(duì)于商品B有提升效果。

4)基于知識(shí)推薦

基于知識(shí)的推薦(Knowledge-based Recommendation),主要應(yīng)用于知識(shí)型的產(chǎn)品中,主要解決的問題是,為你量身定制升級(jí)打怪的進(jìn)階路線圖。

比如你想學(xué)習(xí)鋼琴,如果你是剛?cè)腴T的小白,那你最好從簡(jiǎn)單的譜子學(xué)起。但這樣帶來一個(gè)問題,是因?yàn)槟愕臍v史行為都在初級(jí)范圍之內(nèi),根據(jù)興趣偏好,推薦給你的信息也都在初級(jí)范圍。無法滿足你的升級(jí)需求。

這個(gè)時(shí)候就需要基于知識(shí)的推薦。推薦系統(tǒng)知道你現(xiàn)在所處的知識(shí)級(jí)別(用戶知識(shí)),也知道學(xué)習(xí)鋼琴所有的級(jí)別(產(chǎn)品知識(shí)),然后根據(jù)你現(xiàn)在的情況為你推薦適合你進(jìn)階的信息。

以上為個(gè)人理解,百度百科的解釋為:

使用用戶知識(shí)和產(chǎn)品知識(shí), 通過推理什么產(chǎn)品能滿足用戶需求來產(chǎn)生推薦。這種推薦系統(tǒng)不依賴于用戶評(píng)分等關(guān)于用戶偏好的歷史數(shù)據(jù), 故其不存在冷啟動(dòng)方面的問題?;谥R(shí)的推薦系統(tǒng)響應(yīng)用戶的即時(shí)需求, 當(dāng)用戶偏好發(fā)生變化時(shí)不需要任何訓(xùn)練。

舉例:
針對(duì)海量習(xí)題帶來的信息過載導(dǎo)致學(xué)習(xí)針對(duì)性不強(qiáng)、效率不高等問題,提出了基于知識(shí)點(diǎn)層次圖的個(gè)性化習(xí)題推薦算法(A Personalized Exercises Recommendation Algorithm based on Knowledge Hierarchical Graph,ReKHG)。

首先,借鑒課程知識(shí)點(diǎn)體系結(jié)構(gòu)的特點(diǎn),構(gòu)建了表征知識(shí)點(diǎn)層次關(guān)系的權(quán)重圖,該權(quán)重圖有效反映知識(shí)點(diǎn)間的層次關(guān)系。

然后,根據(jù)學(xué)生對(duì)知識(shí)點(diǎn)的掌握情況,在知識(shí)點(diǎn)層次圖的基礎(chǔ)上提出了一種個(gè)性化習(xí)題推薦算法。該算法通過更新學(xué)生-知識(shí)點(diǎn)失分率矩陣,獲取學(xué)生掌握薄弱的知識(shí)點(diǎn),以此實(shí)現(xiàn)習(xí)題推薦。

ps:以上舉例來自于某論文,沒有用于實(shí)際案例中。關(guān)于知識(shí)推薦,沒有找到太多實(shí)際案例,國(guó)外的論文論述的比較多一些。

5)混合推薦

每個(gè)算法都不是完美的,因此實(shí)際應(yīng)用中,可以混合使用各種推薦算法,各取所長(zhǎng)。

五、推薦算法數(shù)據(jù)來源

1. 利用用戶行為信息

用戶行為數(shù)據(jù)一般存于日志中。
用戶行為可以分為:顯性反饋行為和隱性反饋行為。
互聯(lián)網(wǎng)上的很多數(shù)據(jù)分布滿足一種稱為Power Law的分布,稱為長(zhǎng)尾分布。

2. 利用用戶標(biāo)簽數(shù)據(jù)

推薦系統(tǒng)聯(lián)系用戶和物品的幾種途徑

推薦系統(tǒng)的目的是聯(lián)系用戶的興趣和物品,這種聯(lián)系需要依賴不同的媒介。目前流行的有3種方式:物品、用戶、特征。

前兩種我們都很熟悉,特征有不同的表現(xiàn)形式,可以是物品的屬性集合,可以是隱語義向量,這里我們用標(biāo)簽表示。

  • 標(biāo)簽分兩類
    • 讓作者或者專家給物品打標(biāo)簽
    • 讓普通用戶給物品打標(biāo)簽,即UGC標(biāo)簽應(yīng)用,既描述了用戶的興趣又將表達(dá)了物品的語義。

以豆瓣為例,打標(biāo)簽作為一種用戶重要的行為,蘊(yùn)含了豐富的用戶興趣信息。

  • 標(biāo)簽推薦系統(tǒng)算法

    • 統(tǒng)計(jì)每個(gè)用戶最常用的標(biāo)簽
    • 對(duì)于每個(gè)標(biāo)簽,統(tǒng)計(jì)被打過這個(gè)標(biāo)簽次數(shù)最多的物品
    • 對(duì)于一個(gè)用戶,首先找到他常用的標(biāo)簽,然后找到具有這些標(biāo)簽的最熱門物品推薦給這個(gè)用戶
  • 算法改進(jìn):

    • TF-IDF,降低熱門標(biāo)簽的權(quán)重,使推薦結(jié)果更準(zhǔn)確
    • 數(shù)據(jù)稀疏性:對(duì)于新用戶或者新物品來說,其標(biāo)簽數(shù)量可能過少,需要對(duì)標(biāo)簽進(jìn)行擴(kuò)展,即對(duì)每個(gè)標(biāo)簽找到和它相似的標(biāo)簽,也就是計(jì)算標(biāo)簽相似度。(拓展方法--話題模型)
    • 標(biāo)簽清理:清理掉同義詞、無義詞,方便做出推薦解釋
  • 給用戶推薦標(biāo)簽

    • 推薦的好處

      • 方便用戶輸入標(biāo)簽
      • 提高標(biāo)簽質(zhì)量
    • 推薦方法

      • 推薦系統(tǒng)中最熱門的標(biāo)簽(PopularTags)
      • 推薦物品最熱門的標(biāo)簽(Item PopularTags)
      • 推薦用戶經(jīng)常使用的標(biāo)簽(User PopularTags)
      • 前面兩種融合(Hybrid PopularTags)
    • 冷啟動(dòng)物品的推薦方法

      • 從物品的內(nèi)容數(shù)據(jù)中抽取關(guān)鍵詞作為標(biāo)簽
      • 根據(jù)僅有的標(biāo)簽做拓展

3. 利用上下文信息

用戶所處的上下文,包括用戶訪問推薦系統(tǒng)的時(shí)間、地點(diǎn)、心情等,有助于提高推薦系統(tǒng)的性能。

比如,用戶夏天喜歡過的T恤,冬天再推薦就不合適了。
用戶在中關(guān)村,打開美食推薦,如果給的結(jié)果是國(guó)貿(mào)是不合適了。

1) 時(shí)間上下文信息

  • 時(shí)間對(duì)用戶興趣的影響:

    • 用戶興趣是變化的
    • 物品也是有生命周期的
    • 季節(jié)效應(yīng)
  • 推薦系統(tǒng)的實(shí)時(shí)性
    用戶興趣是不斷變化的,其變化體現(xiàn)在用戶不斷增加的新行為中。一個(gè)實(shí)時(shí)的推薦系統(tǒng)需要能夠?qū)崟r(shí)響應(yīng)用戶新的行為,讓推薦列表不斷變化,從而滿足用戶不斷變化的興趣。

    實(shí)現(xiàn)推薦系統(tǒng)的實(shí)時(shí)性除了對(duì)用戶行為的存取有實(shí)時(shí)性要求,還要求推薦算法本身具有實(shí)時(shí)性,而推薦算法本身的實(shí)時(shí)性意味著:

    • 實(shí)時(shí)推薦系統(tǒng)不能每天都給所有用戶離線計(jì)算推薦結(jié)果,然后在線展示昨天計(jì)算出來的結(jié)果。所以,要求在每個(gè)用戶訪問推薦系統(tǒng)時(shí),都根據(jù)用戶這個(gè)時(shí)間點(diǎn)前的行為實(shí)時(shí)計(jì)算推薦列表
    • 推薦算法需要平衡考慮用戶的近期行為和長(zhǎng)期行為,即要讓推薦列表反應(yīng)出用戶近期行為所體現(xiàn)的興趣變化,又不能讓推薦列表完全受用戶近期行為的影響,要保證推薦列表對(duì)用戶興趣預(yù)測(cè)的延續(xù)性。
  • 推薦算法的時(shí)間多樣性
    推薦系統(tǒng)每天推薦結(jié)果的變化程度被定義為推薦系統(tǒng)的時(shí)間多樣性。時(shí)間多樣性高的推薦系統(tǒng)中用戶會(huì)經(jīng)常看到不同的推薦結(jié)果。

    提高推薦結(jié)果的時(shí)間多樣性需要分兩步解決:

    • 首先,需要保證推薦系統(tǒng)能夠在用戶有了新的行為后及時(shí)調(diào)整推薦結(jié)果,使推薦結(jié)果滿足用戶最近的興趣;
    • 其次,需要保證推薦系統(tǒng)在用戶沒有新的行為時(shí)也能經(jīng)常變化一下結(jié)果,具有一定的時(shí)間多樣性

    如果用戶沒有行為,推薦思路:

    • 在生成推薦結(jié)果時(shí)加入一定的隨機(jī)性。比如從推薦列表前20個(gè)結(jié)果中隨機(jī)挑選10個(gè)結(jié)果展示給用戶,或者按照推薦物品的權(quán)重采樣10個(gè)結(jié)果展示給用戶。
    • 記錄用戶每天看到的推薦結(jié)果,然后在每天給用戶進(jìn)行推薦時(shí),對(duì)他前幾天看到過很多次的推薦結(jié)果進(jìn)行適當(dāng)?shù)亟禉?quán)。
    • 每天給用戶使用不同的推薦算法??梢栽O(shè)計(jì)很多推薦算法,比如協(xié)同過濾算法、內(nèi)容過濾算法等,然后在每天用戶訪問推薦系統(tǒng)時(shí)隨機(jī)挑選一種算法給他進(jìn)行推薦。

協(xié)同過濾算法可以利用時(shí)間信息提高預(yù)測(cè)的準(zhǔn)確度。

  • 時(shí)間上下文相關(guān)的ItemCF算法

    • 物品相似度
      用戶在相隔很短的時(shí)間內(nèi)喜歡的物品具有更高相似度。
    • 在線推薦
      用戶近期的行為比用戶很久之前的行為,更能體現(xiàn)用戶現(xiàn)在的興趣。
  • 時(shí)間上下文相關(guān)的UserCF算法

    • 用戶興趣相似度
      如果兩個(gè)用戶【同時(shí)】喜歡相同的物品,則他們有更大的興趣相似度。
    • 相似興趣用戶的最近行為
      給用戶推薦和他興趣相似的用戶最近喜歡的物品。

2)地點(diǎn)上下文信息

  • 用戶興趣和地點(diǎn)相關(guān)的兩種特征:
    • 興趣本地化,不同地方的用戶興趣存在著很大的差別,不同國(guó)家和地區(qū)用戶的興趣存在著一定的差異性。
    • 活動(dòng)本地化,一個(gè)用戶往往在附近的地區(qū)活動(dòng)。因此,在基于位置的推薦中我們需要考慮推薦地點(diǎn)和用戶當(dāng)前地點(diǎn)的距離,不能給用戶推薦太遠(yuǎn)的地方。

4. 利用社交網(wǎng)絡(luò)數(shù)據(jù)

  • 獲取社交網(wǎng)絡(luò)數(shù)據(jù)的途徑

    • 電子郵件
    • 用戶注冊(cè)信息
    • 用戶位置數(shù)據(jù)
    • 論壇和討論組
    • 即時(shí)聊天工具
    • 社交網(wǎng)站
      • Facebook中的絕大多數(shù)用戶聯(lián)系基于社交圖譜:由于人們之間的親屬關(guān)系、工作關(guān)系而形成;
      • Twitter中的絕大多數(shù)用戶聯(lián)系基于興趣圖譜:通過人們之間的共同興趣和信念形成;
  • 社交網(wǎng)絡(luò)數(shù)據(jù)的分類

    • 雙向確認(rèn)的社交網(wǎng)絡(luò)數(shù)據(jù),以Facebook和人人網(wǎng)為代表,用戶之間形成好友關(guān)系需要通過雙方的確認(rèn);
    • 單向關(guān)注的社交網(wǎng)絡(luò)數(shù)據(jù),以Twitter和新浪微博為代表,用戶A可以關(guān)注用戶B,而不用得到用戶B的允許;
    • 基于社區(qū)的社交網(wǎng)絡(luò)數(shù)據(jù),用戶之間并沒有明確的關(guān)系,但是這種數(shù)據(jù)包含了用戶屬于不同社區(qū)的數(shù)據(jù)。比如豆瓣小組,屬于同一個(gè)小組可能代表了用戶興趣的相似性;
  • 社會(huì)化推薦的優(yōu)點(diǎn)

    • 好友推薦可以增加推薦的信任度
    • 社交網(wǎng)絡(luò)可以解決冷啟動(dòng)問題

六、冷啟動(dòng)問題

1)冷啟動(dòng)主要分3類:

  • 用戶冷啟動(dòng)
    一個(gè)新用戶,沒有任何歷史行為數(shù)據(jù),怎么做推薦。
  • 物品冷啟動(dòng)
    一個(gè)新上線的物品,沒有用戶對(duì)它產(chǎn)生過行為,怎么推薦給感興趣的用戶。
  • 系統(tǒng)冷啟動(dòng)
    一個(gè)新開發(fā)的網(wǎng)站,沒有用戶數(shù)據(jù),怎么做個(gè)性化推薦。

2)解決方案:

  • 提供非個(gè)性化推薦,如熱門排行。等有了數(shù)據(jù)之后再推薦。
  • 利用用戶注冊(cè)信息,做粗粒度的個(gè)性化。
  • 利用用戶的社交網(wǎng)絡(luò)賬號(hào),導(dǎo)入用戶的好友,推薦好友喜歡的物品。
  • 用戶初次登錄時(shí),對(duì)一些物品進(jìn)行反饋,根據(jù)這些信息做個(gè)性化。
  • 對(duì)于新上線的物品,利用內(nèi)容信息,推薦給喜歡類似物品的用戶。
  • 系統(tǒng)冷啟動(dòng),可以引入外部資源,如專家知識(shí),建立起物品的相關(guān)度。

3)冷啟動(dòng),啟動(dòng)用戶興趣的物品需要具有以下特點(diǎn):

  • 比較熱門
  • 具有代表性和區(qū)分性
  • 啟動(dòng)物品集合需要有多樣性

4)選擇啟動(dòng)物品集合的系統(tǒng)

如何設(shè)計(jì)一個(gè)選擇啟動(dòng)物品集合的系統(tǒng)?Nadav Golbandi在論文中提出用一個(gè)決策樹解決。

首先,給定一群用戶,用這群用戶對(duì)物品評(píng)分的方差度量這群用戶興趣的一致程度。如果方差很小,說明這一群用戶的興趣不太一致,也就是物品具有比較大的區(qū)分度,反之則說明這群用戶的興趣比較一致。

再根據(jù)用戶的評(píng)分方差計(jì)算物品的區(qū)分度。

也就是說,對(duì)于物品i,將用戶分為3類--喜歡物品i的用戶,不喜歡物品i的用戶和不知道物品i的用戶。如果這3類用戶集合內(nèi)的用戶對(duì)其他的物品興趣很不一致,說明物品i具有較高的區(qū)分度。

算法首先從所有用戶中找到具有最高區(qū)分度的物品i,然后將用戶分成3類。然后在每類用戶中再找到最具區(qū)分度的物品,然后將每一類用戶又各自分為3類,也就是將總用戶分為9類,然后繼續(xù)這樣下去,最終可以通過對(duì)一系列物品的看法將用戶進(jìn)行分類。

在冷啟動(dòng)時(shí),從根節(jié)點(diǎn)開始詢問用戶對(duì)該節(jié)點(diǎn)物品的看法,然后根據(jù)用戶的選擇將用戶放到不同的分枝,直到進(jìn)入最后的葉子節(jié)點(diǎn),此時(shí)對(duì)用戶的興趣有了比較清楚的了解,從而可以開始對(duì)用戶進(jìn)行比較準(zhǔn)確地個(gè)性化推薦。

5)利用物品的內(nèi)容信息

就是基于內(nèi)容的推薦,很適合解決物品冷啟動(dòng)問題。

物品冷啟動(dòng)對(duì)諸如新聞網(wǎng)站等時(shí)效性很強(qiáng)的網(wǎng)站的推薦非常重要,因?yàn)槟切┚W(wǎng)站中時(shí)時(shí)刻刻都有新加入的物品,而且每個(gè)物品必須能夠在第一時(shí)間展現(xiàn)給用戶,否則經(jīng)過一段時(shí)間后,物品的價(jià)值就大大降低了。

一般來說,物品的內(nèi)容可以通過向量空間模型表示,該模型會(huì)將物品表示成一個(gè)關(guān)鍵詞向量。

如果物品的內(nèi)容是諸如導(dǎo)演、演員等實(shí)體,可以直接將實(shí)體作為關(guān)鍵詞。
如果內(nèi)容是文本,需要引入自然語言的技術(shù)抽取關(guān)鍵詞。如何建立文章、話題和關(guān)鍵詞的關(guān)系是話題模型研究的重點(diǎn),代表性的話題模型有LDA。

LDA有3種元素,文檔、話題、詞語。詳細(xì)內(nèi)容可參考相關(guān)論文。

向量空間模型的優(yōu)點(diǎn)是簡(jiǎn)單,缺點(diǎn)是丟失了一些信息,比如關(guān)鍵詞之間的關(guān)系信息。

七、推薦系統(tǒng)實(shí)例

推薦系統(tǒng)和其他系統(tǒng)之間的關(guān)系

3種聯(lián)系用戶和物品的推薦系統(tǒng)

3)推薦系統(tǒng)架構(gòu)
推薦系統(tǒng)需要由多個(gè)推薦引擎組成,每個(gè)推薦引擎負(fù)責(zé)一類特性和一種任務(wù),推薦系統(tǒng)的任務(wù)是將推薦引擎的結(jié)果按照一定權(quán)重或者優(yōu)先級(jí)合并,排序然后返回。如下圖:

推薦系統(tǒng)架構(gòu)圖

  • 優(yōu)點(diǎn):
    • 方便增加或刪除引擎,控制不同引擎對(duì)推薦結(jié)果的影響。
    • 可以實(shí)現(xiàn)推薦引擎級(jí)別的用戶反饋。對(duì)不同用戶給出不同引擎組合權(quán)重。

4)推薦引擎架構(gòu)

  • 推薦引擎架構(gòu)主要包括三部分:
    • 圖中A部分負(fù)責(zé)從數(shù)據(jù)庫(kù)或緩存中拿到用戶行為數(shù)據(jù),通過分析不同行為,生成當(dāng)前用戶的特征向量,如果使用非行為特征,就不需要行為提取和分析模塊了,該模塊的輸出就是用戶特征向量。
    • 圖中B部分負(fù)責(zé)將用戶的特征向量通過特征-物品相關(guān)矩陣轉(zhuǎn)化為初始推薦物品列表。
    • 圖中C部分負(fù)責(zé)對(duì)初始的推薦列表進(jìn)行過濾、排名等處理,從而生成該引擎的最終推薦結(jié)果。

推薦引擎架構(gòu)圖

  • 生成用戶特性向量

    • 用戶行為的種類
    • 用戶行為產(chǎn)生的時(shí)間
    • 用戶行為的次數(shù)
    • 物品的熱門程度
  • 過濾模塊過濾掉以下物品

    • 用戶已經(jīng)產(chǎn)生過行為的物品
    • 候選物品以外的物品(不符合用戶篩選條件的物品)
    • 某些質(zhì)量很差的物品

以上,就是所有內(nèi)容的總結(jié)。內(nèi)容主要來自于《推薦系統(tǒng)實(shí)踐》,以及相關(guān)論文、博客。

《推薦系統(tǒng)實(shí)踐》中提到的papaer總結(jié):
https://book.douban.com/review/5514664/
參考論文:
http://t.cn/RjXktmC
http://t.cn/RjXkiFP
http://blog.csdn.net/qingqingpiaoguo/article/details/60882309
https://www.zhihu.com/question/27141495/answer/161027882

最后:
我的目的是成為一名人工智能相關(guān)的產(chǎn)品經(jīng)理。我建了一個(gè)AI產(chǎn)品群,如果你和我一樣,愿意分享你的學(xué)習(xí)過程,留言交流,掃我拉你進(jìn)群,記得準(zhǔn)備簡(jiǎn)短的自我介紹~~

-- 原創(chuàng),未經(jīng)授權(quán),禁止轉(zhuǎn)載 2017.11.15 --

愛盈利-運(yùn)營(yíng)小咖秀(aiyingli.com)始終堅(jiān)持研究分享移動(dòng)互聯(lián)網(wǎng)App運(yùn)營(yíng)推廣經(jīng)驗(yàn)、策略、全案、渠道等純干貨知識(shí)內(nèi)容;是廣大App運(yùn)營(yíng)從業(yè)者的知識(shí)啟蒙、成長(zhǎng)指導(dǎo)、進(jìn)階學(xué)習(xí)的集聚平臺(tái);

評(píng)論

相關(guān)文章推薦

SELECT dw_posts.ID,dw_posts.post_title,dw_posts.post_content FROM dw_posts INNER JOIN dw_term_relationships ON (dw_posts.ID = dw_term_relationships.object_id) WHERE 1=1 AND(dw_term_relationships.term_taxonomy_id = 5 ) AND dw_posts.post_type = 'post' AND (dw_posts.post_status = 'publish') GROUP BY dw_posts.ID ORDER BY RAND() LIMIT 0, 6

京ICP備15063977號(hào)-2 ? 2012-2018 aiyingli.com. All Rights Reserved. 京公網(wǎng)安備 11010102003938號(hào)