日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

读书笔记 |《推荐系统实践》- 个性化推荐系统总结

發(fā)布時間:2025/3/20 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读书笔记 |《推荐系统实践》- 个性化推荐系统总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

推薦系統(tǒng)實踐

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

推薦系統(tǒng).png

文章很長,你可以跳著看你感興趣的部分。

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

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

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

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

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

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

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

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

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

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

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

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

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

    沒有明確目的時

    • 巴掌大的地兒,靠個性化推薦

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

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

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

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

搜索引擎

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

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

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

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

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

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

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

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

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ā)掘用戶的行為,找到用戶的個性化需求,從而將長尾物品準確推薦給需要它的用戶,幫助用戶找到他們感興趣但很難發(fā)現(xiàn)的物品。

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

二、推薦系統(tǒng)評測

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

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

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

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

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

推薦系統(tǒng)評測.png

1. 實驗方法

獲得評測指標的實驗方法,通常分3種:

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

我們分別介紹3種實驗方法的優(yōu)缺點。

1)離線實驗

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

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

離線實驗的優(yōu)點是:

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

缺點是:

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

2)用戶調(diào)查

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

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

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

  • 可以獲得用戶主觀感受的指標,出錯后容易彌補;

缺點是:

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

3)在線實驗

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

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

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

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

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

AB測試的優(yōu)點是:

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

缺點是:

  • 周期較長,必須進行長期的實驗才能得到可靠的結(jié)果;

大型網(wǎng)站做AB測試,可能會因為不同團隊同時進行各種測試對結(jié)果造成干擾,所以切分流量是AB測試中的關(guān)鍵。

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

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

4)總結(jié)

一般來說,一個新的推薦算法最終上線,需要完成上述的3個實驗。

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

2. 評測指標

評測指標用于評測推薦系統(tǒng)的性能,有些可以定量計算,有些只能定性描述。

1)用戶滿意度

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

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

在線系統(tǒng)中,用戶滿意度通過統(tǒng)計用戶行為得到。比如用戶如果購買了推薦的商品,就表示他們在一定程度上滿意,可以用購買率度量用戶滿意度。

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

2)預(yù)測準確度

預(yù)測準確度,度量的是推薦系統(tǒng)預(yù)測用戶行為的能力。 是推薦系統(tǒng)最重要的離線評測指標。

大部分的關(guān)于推薦系統(tǒng)評測指標的研究,都是針對預(yù)測準確度的。因為該指標可以通過離線實驗計算,方便了學(xué)術(shù)界的研究人員。

由于離線的推薦算法有不同的研究方向,準確度指標也不同,根據(jù)研究方向,可分為:預(yù)測評分準確度和TopN推薦。

a)預(yù)測評分準確度

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

預(yù)測評分的準確度指標,一般通過以下指標計算:

  • 平均絕對誤差(MAE)

  • MAE.png

    MAE因其計算簡單、通俗易懂得到了廣泛的應(yīng)用。但MAE指標也有一定的局限性,因為對MAE指標貢獻比較大的往往是那種很難預(yù)測準確的低分商品。

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

  • 均方根誤差(RMSE)

RMSE.png

Netflix認為RMSE加大了對預(yù)測不準的用戶物品評分的懲罰(平方項的懲罰),因而對系統(tǒng)的評測更加苛刻。

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

b)TopN推薦

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

TopN推薦的預(yù)測準確率,一般通過2個指標度量:

  • 準確率(precision)





  • 召回率(recall)

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

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

3)覆蓋率

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

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


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

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

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

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

  • 信息熵

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

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




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



    • 評測馬太效應(yīng)

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

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

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

4)多樣性

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

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

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

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

5)新穎性

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

評測新穎度最簡單的方法,是利用推薦結(jié)果的平均流行度,因為越不熱門的物品,越可能讓用戶覺得新穎。

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

6)驚喜度

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

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

7)信任度

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

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

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

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

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

8)實時性

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

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

9)健壯性

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

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

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

評測算法的健壯性,主要利用模擬攻擊:

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

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

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

10)商業(yè)目標

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

總結(jié):

作者認為,對于可以離線優(yōu)化的指標,在給定覆蓋率、多樣性、新穎性等限制條件下,應(yīng)盡量優(yōu)化預(yù)測準確度。

3. 評測維度

增加評測維度的目的,就是知道一個算法在什么情況下性能最好。

一般評測維度分3種:

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

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

三、推薦算法通用模型

1. 推薦算法通用模型

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

  • 用戶建模模塊
  • 推薦對象建模模塊
  • 推薦算法模塊

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

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

    (5)模型的輸出是什么。


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

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

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

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

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

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

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

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

  • 推薦對象建模

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

2. 算法模塊

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

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

四、推薦算法詳述

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

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

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

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

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

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

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

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

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

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

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

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

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

主要包含兩種算法:

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

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

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

UserCF

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

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

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

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

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

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

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

兩個物品產(chǎn)生相似度,是因為它們共同被很多用戶喜歡,也就是說,每個用戶都可以通過它們的歷史興趣列表給物品“貢獻”相似度。

ItemCF

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

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

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

b) 隱語義模型算法

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

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

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

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

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

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

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

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

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

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

ii)LFM算法詳解

LFM公式

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

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

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

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

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

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

通過離線實驗對比LFM在TopN推薦中的性能,在LFM中,有4個重要參數(shù):

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

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

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

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

雅虎的解決方案是:

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

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

總結(jié)如下圖:


c) 基于圖的模型

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

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

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

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

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

ii)基于圖的推薦算法

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

其實,這是一個圖上的排名問題,最著名的就是Google的pageRank算法。

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

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

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

iii)PageRank算法簡介

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

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

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

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

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

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

iiii)PersonalRank算法簡介

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

Standford的Haveliwala于2002年在他《Topic-sensitive pagerank》一文中提出了PersonalRank算法,該算法能夠為用戶個性化的對所有物品進行排序。它的迭代公式如下:

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

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

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

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

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

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

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

主要用于購物車分析。

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

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

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

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

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

公式:

例子說明:

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

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

公式:

例子說明:

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

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

公式:

例子說明:

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

4)基于知識推薦

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

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

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

以上為個人理解,百度百科的解釋為:

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

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

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

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

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

5)混合推薦

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

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

1. 利用用戶行為信息

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

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

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

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

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

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

以豆瓣為例,打標簽作為一種用戶重要的行為,蘊含了豐富的用戶興趣信息。

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

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

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

    • 推薦的好處

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

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

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

3. 利用上下文信息

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

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

1) 時間上下文信息

  • 時間對用戶興趣的影響:

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

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

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

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

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

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

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

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

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

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

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

2)地點上下文信息

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

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

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

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

    • 雙向確認的社交網(wǎng)絡(luò)數(shù)據(jù),以Facebook和人人網(wǎng)為代表,用戶之間形成好友關(guā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ù)。比如豆瓣小組,屬于同一個小組可能代表了用戶興趣的相似性;
  • 社會化推薦的優(yōu)點

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

六、冷啟動問題

1)冷啟動主要分3類:

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

2)解決方案:

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

3)冷啟動,啟動用戶興趣的物品需要具有以下特點:

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

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

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

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

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

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

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

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

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

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

物品冷啟動對諸如新聞網(wǎng)站等時效性很強的網(wǎng)站的推薦非常重要,因為那些網(wǎng)站中時時刻刻都有新加入的物品,而且每個物品必須能夠在第一時間展現(xiàn)給用戶,否則經(jīng)過一段時間后,物品的價值就大大降低了。

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 生成用戶特性向量

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

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

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

《推薦系統(tǒng)實踐》中提到的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)理。我建了一個AI產(chǎn)品群,如果你和我一樣,愿意分享你的學(xué)習過程,留言交流,掃我拉你進群,進群后記得自我介紹呀~~(留言里有我的微信號...)

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


ps:收藏時別忘了點喜歡~ 收藏對你有用,喜歡對我有用,互幫互助多愉快

總結(jié)

以上是生活随笔為你收集整理的读书笔记 |《推荐系统实践》- 个性化推荐系统总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩亚洲区 | 99热99热 | 曰曰操 | 污污的网站在线免费观看 | 涩涩爱影院 | 日本少妇xxx| 亚洲国产精品成人综合 | 伊人自拍视频 | 免费20分钟超爽视频 | 日本h视频在线观看 | 成人在线免费观看网址 | 欧美日韩一区不卡 | 黄a网站| 亚洲综合一区在线 | 伊人综合影院 | 桥本有菜aⅴ一区二区三区 在线午夜电影 | 日韩人妻精品一区二区 | 亚洲一区二区久久 | 日批免费网站 | 免费久久av | 免费av网站在线播放 | 午夜电影网站 | 日本天堂在线观看 | 男人干女人视频 | 女人又爽又黄免费女仆 | 国产极品美女高潮无套在线观看 | 欧美四虎 | 日韩毛片视频 | 亚洲成人一区二区在线观看 | 日韩欧美小视频 | av十大美巨乳 | 日韩高清在线 | 91黑丝美女| 中文字幕日韩av | 黄色大片儿 | 蜜臀av一区二区三区有限公司 | 日本精品在线播放 | 国产福利不卡视频 | 日批在线 | 天天操婷婷 | 亚洲熟妇无码一区二区三区导航 | 色综合天天综合网天天看片 | 日韩在线不卡视频 | 日韩一区二区三区在线免费观看 | 欧美高清一区二区三区四区 | 国产精品桃色 | 亚洲综合久久av一区二区三区 | 成人av在线看 | 综合天堂av久久久久久久 | 岛国精品一区 | 免费的黄色av | 97人人模人人爽人人少妇 | 女同性做爰三级 | 少妇偷人精品无码人妻 | 白洁av| 中文字幕亚洲国产 | 性生活视屏 | 免费av网站观看 | 国产91在线 | 亚洲 | 免费久久久久 | 天天操天天操天天操天天 | 日韩美女福利视频 | 亚洲女优在线 | 韩国伦理片观看 | 天天做日日干 | 六月丁香激情综合 | 亚洲一区二区三区久久久 | 欧美少妇喷水 | 亚洲琪琪 | 成人在线观看av | 色综合激情 | 成人免费无码大片a毛片抽搐色欲 | 精品人妻午夜一区二区三区四区 | 高潮喷水一区二区三区 | 欧亚乱熟女一区二区在线 | 国产特黄大片aaaa毛片 | 午夜影院一区二区 | 800av凹凸| 国产三级av在线 | 欧洲毛片 | 欧美巨大荫蒂茸毛毛人妖 | 亚洲第9页 | 久久xx| 九九福利视频 | 日本一区二区三区在线观看视频 | 欧美午夜视频在线观看 | 国产伦精品一区二区三区视频孕妇 | 99爱这里只有精品 | 日韩视频h | 久久国产精品久久久 | 国产又黄又大又爽 | 欧美成人精品欧美一级乱 | 成人免费在线观看 | 日本一二区视频 | 黄色尤物视频 | 动漫美女被到爽 | 男女网站在线观看 | 日本老熟妇毛茸茸 | 香蕉网站视频 |