推荐算法--总结(08)
- 一、推薦系統(tǒng)結(jié)構(gòu)
- 二、推薦引擎算法(Algorithm)
- 1、協(xié)同過(guò)濾推薦算法
- 1.1 關(guān)系矩陣與矩陣計(jì)算
- 1.1.1 用戶(hù)與用戶(hù)(U-U矩陣)
- 1.1.2 物品與物品(V-V矩陣)
- 1.1.3 用戶(hù)與物品(U-V矩陣)
- 1.1.4 奇異值分解(SVD)
- 1.1.5 主成分分析(PCA)
- 目標(biāo):PCA目標(biāo)是使用使用另一組基去重新描繪得到的數(shù)據(jù)空間,新的基要盡可能揭示原有數(shù)據(jù)的關(guān)系。
- 本質(zhì):實(shí)際上是K-L變換(卡洛南-洛伊(Karhunen-Loeve)變換),又名:最優(yōu)正交變換
- 1.2 基于記憶的協(xié)同過(guò)濾算法
- 1.2.1 基于用戶(hù)的協(xié)同過(guò)濾算法
- 基于用戶(hù)的協(xié)同過(guò)濾算法主要包含以下兩個(gè)步驟:
- 適用性
- 1.2.2 基于物品的協(xié)同過(guò)濾算法
- 基于物品的協(xié)同過(guò)濾算法主要分為兩步:
- 適用性
- U-CF與I-CF比較
- 1.2.1 基于用戶(hù)的協(xié)同過(guò)濾算法
- 1.3 基于模型的協(xié)同過(guò)濾算法
- 1.3.1 基于隱語(yǔ)義模型的協(xié)同過(guò)濾算法(LFM)
- 主要用于:填充用戶(hù)打分矩陣的缺失值
- 思路來(lái)源:應(yīng)該有一些隱藏的因素(不一定是人可以理解的)影響用戶(hù)的評(píng)分,找到隱藏因子,可以對(duì)U和I進(jìn)行關(guān)聯(lián);假定隱藏因子的個(gè)數(shù)小于U和I的數(shù)目,,因?yàn)槿绻總€(gè)User都關(guān)聯(lián)一個(gè)獨(dú)立的隱藏因子,那就沒(méi)法預(yù)測(cè)了;
- 離線計(jì)算的空間復(fù)雜度
- 離線計(jì)算的時(shí)間復(fù)雜度
- 在線實(shí)時(shí)推薦
- 推薦解釋
- 1.3.2 基于樸素貝葉斯分離的推薦算法
- 適用性
- 1.3.1 基于隱語(yǔ)義模型的協(xié)同過(guò)濾算法(LFM)
- 1.1 關(guān)系矩陣與矩陣計(jì)算
- 2、基于內(nèi)容的推薦算法(CB)
- 2.1 基礎(chǔ)CB推薦算法
- 算法流程
- 適用場(chǎng)景
- 2.2 基于TF-IDF的CB推薦算法
- 算法原理
- 算法流程
- 2.3 基于KNN的CB推薦算法
- 2.4 基于Rocchio的CB推薦算法
- 2.5 基于決策樹(shù)的CB推薦算法
- 2.6 基于線性分類(lèi)的CB推薦算法
- 2.7 基于樸素貝葉斯的CB推薦算法
- 2.1 基礎(chǔ)CB推薦算法
- 3、 基于知識(shí)的推薦算法
- 3.1 概述
- 3.2 約束知識(shí)與約束推薦算法
- 創(chuàng)建推薦任務(wù)
- 3.3 關(guān)聯(lián)知識(shí)與關(guān)聯(lián)推薦算法
- 算法原理
- 算法流程
- 適用場(chǎng)景
- 4、 混合推薦算法
- 4.1 加權(quán)式
- 4.2 切換式
- 4.3 混雜式
- 4.4 特征組合
- 4.5 特征補(bǔ)充
- 4.6 級(jí)聯(lián)式
- 1、協(xié)同過(guò)濾推薦算法
- 三、推薦系統(tǒng)評(píng)估
- 1、打分系統(tǒng)-評(píng)分誤差率
- 2、Top-N推薦系統(tǒng)
- 2.1 準(zhǔn)確率
- 2.2 召回率
- 2.3、覆蓋率
- 2.4、多樣性
- 2.5、其他(新穎度、驚喜度、信任度、實(shí)時(shí)性)
一、推薦系統(tǒng)結(jié)構(gòu)
盡管不同的網(wǎng)站使用不同的推薦系統(tǒng),但是總的來(lái)說(shuō),幾乎所有的推薦系統(tǒng)的結(jié)構(gòu)都是類(lèi)似的,都由線上和線下兩部分組成。線下部分包括后臺(tái)的日志系統(tǒng)和推薦算法系統(tǒng),線上部分就是我們看到的前臺(tái)頁(yè)面展示。線下部分通過(guò)學(xué)習(xí)用戶(hù)資料和行為日志建立模型,在新的上下文背景之下,計(jì)算相應(yīng)的推薦內(nèi)容,呈現(xiàn)于線上頁(yè)面中。
二、推薦引擎算法(Algorithm)
1、協(xié)同過(guò)濾推薦算法
1.1 關(guān)系矩陣與矩陣計(jì)算
1.1.1 用戶(hù)與用戶(hù)(U-U矩陣)
使用原理:Pearson相關(guān)系數(shù)主要用于度量?jī)蓚€(gè)變量 i 和 j 之間的相關(guān)性,取值范圍是+1(強(qiáng)正相關(guān))到-1(強(qiáng)負(fù)相關(guān))
算法輸入:用戶(hù)行為日志。
算法輸出:基于協(xié)同的用戶(hù)相似度矩陣。
A. 從用戶(hù)行為日志中獲取用戶(hù)與物品之間的關(guān)系數(shù)據(jù),即用戶(hù)對(duì)物品的評(píng)分?jǐn)?shù)據(jù)。
B. 對(duì)于n個(gè)用戶(hù),依次計(jì)算用戶(hù)1與其他n-1個(gè)用戶(hù)的相似度;再計(jì)算用戶(hù)2與其他n-2個(gè)用戶(hù)的相似度。
對(duì)于其中任意兩個(gè)用戶(hù) i 和 j :
a) 查找兩個(gè)用戶(hù)共同評(píng)價(jià)過(guò)的物品集;
b) 分別計(jì)算用戶(hù) i 和對(duì)物品 j 的平均評(píng)價(jià)和;
c) 計(jì)算用戶(hù)間相似度,得到用戶(hù) i 和 j 的相似度。
C. 將計(jì)算得到的相似度結(jié)果存儲(chǔ)于數(shù)據(jù)庫(kù)中。
1.1.2 物品與物品(V-V矩陣)
使用原理:將物品的評(píng)價(jià)數(shù)值抽象為n維用戶(hù)空間中的列向量 和,使用修正的余弦相似度
算法輸入:用戶(hù)行為日志。
算法輸出:基于協(xié)同的物品相似度矩陣。
A. 從用戶(hù)行為日志中獲取用戶(hù)與物品之間的關(guān)系數(shù)據(jù),即用戶(hù)對(duì)物品的評(píng)分?jǐn)?shù)據(jù)。
B.對(duì)于n個(gè)物品,依次計(jì)算物品1與其他n-1個(gè)物品的相似度;再計(jì)算物品2與其他n-2個(gè)物品的相似度。
對(duì)于其中任意兩個(gè)物品 i 和 j:
a)查找對(duì)物品 i 和 j 共同評(píng)價(jià)過(guò)的用戶(hù)集;
b)分別計(jì)算用戶(hù)對(duì)物品 i 和 j 的平均評(píng)價(jià)和;
c) 計(jì)算物品間相似度,得到物品 i 和 j 的相似度。
C. 將計(jì)算得到的相似度結(jié)果存儲(chǔ)于數(shù)據(jù)庫(kù)中。
1.1.3 用戶(hù)與物品(U-V矩陣)
1.1.4 奇異值分解(SVD)
SVD將給定矩陣分解為3個(gè)矩陣的乘積:
式中,矩陣為對(duì)角陣,其對(duì)角線上的值 為矩陣M的奇異值,按大小排列,代表著矩陣M的重要特征。將SVD用在推薦系統(tǒng)上,其意義是將一個(gè)系數(shù)的評(píng)分矩陣M分解為表示用戶(hù)特性的U矩陣,表示物品特性的V矩陣,以及表示用戶(hù)和物品相關(guān)性的矩陣。
1.1.5 主成分分析(PCA)
在推薦系統(tǒng)中,對(duì)于有較多屬性的物品(物品的信息用向量 表示)可用PCA處理進(jìn)行降維,將m×n的物品矩陣轉(zhuǎn)化為m×k的新矩陣。
主成分分析(Principal Component Analysis,PCA), 是一種統(tǒng)計(jì)方法。通過(guò)正交變換將一組可能存在相關(guān)性的變量轉(zhuǎn)換為一組線性不相關(guān)的變量,轉(zhuǎn)換后的這組變量叫主成分。
目標(biāo):PCA目標(biāo)是使用使用另一組基去重新描繪得到的數(shù)據(jù)空間,新的基要盡可能揭示原有數(shù)據(jù)的關(guān)系。
本質(zhì):實(shí)際上是K-L變換(卡洛南-洛伊(Karhunen-Loeve)變換),又名:最優(yōu)正交變換
有了K-L變換(最優(yōu)正交變換 )的知識(shí)做鋪墊后,接下來(lái)提供PCA具體的計(jì)算過(guò)程
1、數(shù)據(jù)標(biāo)準(zhǔn)化
為什么要進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化,最主要的原因是消除量綱(即單位)帶來(lái)的差異。常見(jiàn)的數(shù)據(jù)標(biāo)準(zhǔn)化方法有 0-1標(biāo)準(zhǔn)化,最大最小標(biāo)準(zhǔn)化。
2、計(jì)算協(xié)方差矩陣
設(shè)標(biāo)準(zhǔn)化的數(shù)據(jù)矩陣為X,則協(xié)方差矩陣cov(X,X)=1nXTX
3、求取協(xié)方差矩陣的特征值和特征向量
在matlab或者python里面都有相應(yīng)的求特征值和特征向量的函數(shù)
4、對(duì)特征值從大到小排序,依據(jù)主元貢獻(xiàn)率賀主元個(gè)數(shù)得到相應(yīng)的的特征向量
1.2 基于記憶的協(xié)同過(guò)濾算法
1.2.1 基于用戶(hù)的協(xié)同過(guò)濾算法
舉個(gè)簡(jiǎn)單的例子,我們知道櫻桃小丸子喜歡葡萄、草莓、西瓜和橘子,而我們通過(guò)某種方法了解到小丸子和花倫有相似的喜好,所以我們會(huì)把小丸子喜歡的而花倫還未選擇的水果(葡萄和橘子)推薦給花倫。
基于用戶(hù)的協(xié)同過(guò)濾算法主要包含以下兩個(gè)步驟:
A. 搜集用戶(hù)和物品的歷史信息,計(jì)算用戶(hù)u和其他用戶(hù)的相似度,找到和目標(biāo)用戶(hù)Ui興趣相似的用戶(hù)集合N(u)
B.找到這個(gè)集合中用戶(hù)喜歡的,且目標(biāo)用戶(hù)還沒(méi)有聽(tīng)說(shuō)過(guò)的物品推薦給目標(biāo)用戶(hù)。
適用性
由于需計(jì)算用戶(hù)相似度矩陣,基于用戶(hù)的協(xié)同過(guò)濾算法適用于用戶(hù)較少的場(chǎng)合; 由于時(shí)效性較強(qiáng),該方法適用于用戶(hù)個(gè)性化興趣不太明顯的領(lǐng)域。
1.2.2 基于物品的協(xié)同過(guò)濾算法
基于物品的協(xié)同過(guò)濾算法是目前業(yè)界應(yīng)用最多的算法。無(wú)論是亞馬遜網(wǎng),還是Netflix、Hulu、Youtube,其推薦算法的基礎(chǔ)都是該算法。
基于物品的協(xié)同過(guò)濾算法給用戶(hù)推薦那些和他們之前喜歡的物品相似的物品。比如,我們知道櫻桃小丸子和小玉都喜歡葡萄和西瓜,那么我們就認(rèn)為葡萄和西瓜有較高的相似度,在花倫選擇了西瓜的情況下,我們會(huì)把葡萄推薦給花倫。
ItemCF算法并不利用物品的內(nèi)容屬性計(jì)算物品之間的相似度,它主要通過(guò)分析用戶(hù)的行為記錄計(jì)算物品之間的相似度。該算法認(rèn)為,物品A和物品B具有很大的相似度是因?yàn)橄矚g物品A的用戶(hù)大都也喜歡物品B。
基于物品的協(xié)同過(guò)濾算法主要分為兩步:
A.對(duì)于目標(biāo)用戶(hù)及其待評(píng)分的物品,根據(jù)用戶(hù)對(duì)物品的歷史偏好數(shù)據(jù),計(jì)算物品與其他已評(píng)分物品之間的相似度 Sim(j,i),找到與物品相似度的物品合集N(u);
B. 根據(jù)所有物品 N(u) 的評(píng)分情況,選出N(u)中目標(biāo)用戶(hù)可能喜歡的且沒(méi)有觀看過(guò)的推薦給目標(biāo)用戶(hù)并預(yù)測(cè)評(píng)分。
適用性
適用于物品數(shù)明顯小于用戶(hù)數(shù)的場(chǎng)合; 長(zhǎng)尾物品豐富,用戶(hù)個(gè)性化需求強(qiáng)烈的領(lǐng)域。
U-CF與I-CF比較
1.3 基于模型的協(xié)同過(guò)濾算法
1.3.1 基于隱語(yǔ)義模型的協(xié)同過(guò)濾算法(LFM)
主要用于:填充用戶(hù)打分矩陣的缺失值
思路來(lái)源:應(yīng)該有一些隱藏的因素(不一定是人可以理解的)影響用戶(hù)的評(píng)分,找到隱藏因子,可以對(duì)U和I進(jìn)行關(guān)聯(lián);假定隱藏因子的個(gè)數(shù)小于U和I的數(shù)目,,因?yàn)槿绻總€(gè)User都關(guān)聯(lián)一個(gè)獨(dú)立的隱藏因子,那就沒(méi)法預(yù)測(cè)了;
其實(shí)是使用ALS(交替最小二乘法)
隱語(yǔ)義模型的進(jìn)一步優(yōu)化(例如y=kx+b比y=kx擁有更好的擬合能力)
離線計(jì)算的空間復(fù)雜度
基于鄰域的方法需要維護(hù)一張離線的相關(guān)表。在離線計(jì)算相關(guān)表的過(guò)程中,如果用戶(hù)/物品數(shù)很多,將會(huì)占據(jù)很大的內(nèi)存。而LFM在建模過(guò)程中,可以很好地節(jié)省離線計(jì)算的內(nèi)存。
離線計(jì)算的時(shí)間復(fù)雜度
在一般情況下,LFM的時(shí)間復(fù)雜度要稍微高于UserCF和ItemCF,這主要是因?yàn)樵撍惴ㄐ枰啻蔚5傮w上,這兩種算法在時(shí)間復(fù)雜度上沒(méi)有質(zhì)的差別。
在線實(shí)時(shí)推薦
UserCF和ItemCF在線服務(wù)算法需要將相關(guān)表緩存在內(nèi)存中,然后可以在線進(jìn)行實(shí)時(shí)的預(yù)測(cè)。LFM在給用戶(hù)生成推薦列表時(shí),需要計(jì)算用戶(hù)對(duì)所有物品的興趣權(quán)重,然后排名,不太適合用于物品數(shù)非常龐大的系統(tǒng),如果要用,我們也需要一個(gè)比較快的算法給用戶(hù)先計(jì)算一個(gè)比較小的候選列表,然后再用LFM重新排名。另一方面,LFM在生成一個(gè)用戶(hù)推薦列表時(shí)速度太慢,因此不能在線實(shí)時(shí)計(jì)算,而需要離線將所有用戶(hù)的推薦結(jié)果事先計(jì)算好存儲(chǔ)在數(shù)據(jù)庫(kù)中。因此,LFM不能進(jìn)行在線實(shí)時(shí)推薦,也就是說(shuō),當(dāng)用戶(hù)有了新的行為后,他的推薦列表不會(huì)發(fā)生變化。
推薦解釋
ItemCF算法支持很好的推薦解釋,它可以利用用戶(hù)的歷史行為解釋推薦結(jié)果。但LFM無(wú)法提供這樣的解釋,它計(jì)算出的隱類(lèi)雖然在語(yǔ)義上確實(shí)代表了一類(lèi)興趣和物品,卻很難用自然語(yǔ)言描述并生成解釋展現(xiàn)給用戶(hù)。
1.3.2 基于樸素貝葉斯分離的推薦算法
貝葉斯
適用性
樸素貝葉斯分類(lèi)實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,準(zhǔn)確率高,但是分類(lèi)的時(shí)候需要學(xué)習(xí)全部樣本的信息。因此,樸素貝葉斯分類(lèi)適用于數(shù)據(jù)量不大,類(lèi)別較少的分類(lèi)問(wèn)題。
2、基于內(nèi)容的推薦算法(CB)
2.1 基礎(chǔ)CB推薦算法
基礎(chǔ)CB推薦算法利用物品的基本信息和用戶(hù)偏好內(nèi)容的相似性進(jìn)行物品推薦。通過(guò)分析用戶(hù)已經(jīng)瀏覽過(guò)的物品內(nèi)容,生成用戶(hù)的偏好內(nèi)容,然后推薦與用戶(hù)感興趣的物品內(nèi)容相似度高的其他物品。
比如,用戶(hù)近期瀏覽過(guò)馮小剛導(dǎo)演的電影“非誠(chéng)勿擾”,主演是葛優(yōu);那么如果用戶(hù)沒(méi)有看過(guò)“私人訂制”,則可以推薦給用戶(hù)。因?yàn)檫@兩部電影的導(dǎo)演都是馮小剛,主演都有葛優(yōu)。
算法流程
算法輸入:物品信息,用戶(hù)行為日志。
算法輸出:初始推薦結(jié)果。
A.物品表示:每個(gè)物品使用特征向量表示;
B. 從用戶(hù)行為日志中,獲取該用戶(hù)所瀏覽、收藏、評(píng)價(jià)、分享的物品集合M,根據(jù)物品集合M中物品的特征數(shù)據(jù),可以學(xué)到用戶(hù)的內(nèi)容偏好;
C.保存Top-K個(gè)物品到初始推薦結(jié)果中。
適用場(chǎng)景
適用于基礎(chǔ)CB架構(gòu)的搭建,尤其是對(duì)新上線物品會(huì)馬上被推薦非常有效,被推薦的機(jī)會(huì)與老的物品是相同的。
2.2 基于TF-IDF的CB推薦算法
TF-IDF在CB推薦算法中的應(yīng)用于在CF推薦算法中的應(yīng)用極為相似,唯一不同的是:
CF推薦算法中的KNN是根據(jù)用戶(hù)對(duì)物品的評(píng)分來(lái)計(jì)算物品間相似度的,而TF-IDF在CB推薦算法是根據(jù)【物品的詞語(yǔ)的TF-ID值構(gòu)成的向量】來(lái)計(jì)算相似度的;
TF-IDF是自然語(yǔ)言處理領(lǐng)域中計(jì)算文檔中詞或短語(yǔ)的權(quán)值的方法,是詞頻(Term Frequency, TF)和逆轉(zhuǎn)文檔頻率(Inverse Document Frequency, IDF)的乘積。
TF指的是某一個(gè)給定的詞語(yǔ)在該文件中出現(xiàn)的次數(shù),IDF是一個(gè)詞語(yǔ)普遍重要性的度量;
算法原理
TF-IDF算法基于這樣一個(gè)假設(shè):若一個(gè)詞語(yǔ)在目標(biāo)文檔中出現(xiàn)的頻率高而在其他文檔中出現(xiàn)的頻率低,那么這個(gè)詞語(yǔ)就可以用來(lái)區(qū)分出目標(biāo)文檔。
算法流程
算法輸入:物品信息,用戶(hù)行為日志。
算法輸出:初始推薦結(jié)果。
A. 物品表示:向量表示 描述物品的詞語(yǔ)的TF-IDF值;
B.使用上面的向量計(jì)算物品的相似度,保存Top-K個(gè)物品到初始推薦結(jié)果中;
C. 從用戶(hù)行為日志中,獲取該用戶(hù)所瀏覽、收藏、評(píng)價(jià)、分享的物品集合M,根據(jù)物品集合M中物品的特征數(shù)據(jù),可以學(xué)到用戶(hù)的內(nèi)容偏好;
例如:
2.3 基于KNN的CB推薦算法
KNN在CB推薦算法中的應(yīng)用于在CF推薦算法中的應(yīng)用極為相似,唯一不同的是:
CF推薦算法中的KNN是根據(jù)用戶(hù)對(duì)物品的評(píng)分來(lái)計(jì)算物品間相似度的,而CB推薦算法中KNN是根據(jù)物品畫(huà)像來(lái)計(jì)算相似度的;
所以對(duì)于后者來(lái)說(shuō),如何通過(guò)物品畫(huà)像來(lái)計(jì)算物品間的相似度是算法中的關(guān)鍵步驟。
相似度的計(jì)算可以使用余弦相似度或Pearson相關(guān)系數(shù)的計(jì)算方法。
2.4 基于Rocchio的CB推薦算法
2.5 基于決策樹(shù)的CB推薦算法
基于決策樹(shù)的推薦算法在訓(xùn)練階段會(huì)生成一個(gè)顯示的決策模型。決策樹(shù)可以通過(guò)訓(xùn)練數(shù)據(jù)構(gòu)建并有效判斷一個(gè)新的物品是否可能受到歡迎。當(dāng)物品的特征屬性較少時(shí),采用決策樹(shù)算法能夠取得不錯(cuò)的效果,另外,決策樹(shù)學(xué)習(xí)的思想也比較容易被理解,在物品推薦時(shí)的可解釋性較好。
2.6 基于線性分類(lèi)的CB推薦算法
將基于內(nèi)容的物品推薦問(wèn)題視為分類(lèi)問(wèn)題時(shí),可以采用多種機(jī)器學(xué)習(xí)方法。從一個(gè)更抽象的角度上看,大部分學(xué)習(xí)方法致力于找到一個(gè)可以準(zhǔn)確區(qū)分用戶(hù)喜歡和不喜歡的物品的線性分類(lèi)模型系數(shù)。
將物品數(shù)據(jù)用n維特征向量來(lái)表示,線性分類(lèi)器試圖在給定的物品特征空間中找到一個(gè)能夠?qū)⑽锲氛_分類(lèi)的平面,一類(lèi)點(diǎn)盡可能在平面的某一邊(喜歡),另一類(lèi)在平面的另一邊(不喜歡)。
2.7 基于樸素貝葉斯的CB推薦算法
3、 基于知識(shí)的推薦算法
3.1 概述
基于知識(shí)(Knowledge-based, KB)的推薦算法,是區(qū)別于基于CB和基于CF的常見(jiàn)推薦方法。如果說(shuō)CB和CF像通用搜索引擎的話,KB好比某個(gè)領(lǐng)域的垂直搜索引擎,可以提供該領(lǐng)域的特殊需求,包括專(zhuān)業(yè)性的優(yōu)質(zhì)特征,幫助提高搜索引擎在特定領(lǐng)域的服務(wù)。
基于知識(shí)的推薦,也更容易滿(mǎn)足主觀個(gè)性化需求。例如,對(duì)于VIP用戶(hù),如果配置好了偏好,就可以為其提供更加精準(zhǔn)的推薦服務(wù)。
3.2 約束知識(shí)與約束推薦算法
如今網(wǎng)上購(gòu)物所能涵蓋的物品越來(lái)越豐富,人們逐漸發(fā)現(xiàn)推薦系統(tǒng)的CF和CB推薦算法并不能很好地適應(yīng)某些特殊物品的推薦需求。例如,更新?lián)Q代非常快的而人們又通常不會(huì)經(jīng)常更換的電子產(chǎn)品。對(duì)于這些產(chǎn)品來(lái)說(shuō),其各方面的性能參數(shù)在幾年間就會(huì)有很大變化,代表歷史偏好的用戶(hù)畫(huà)像并不能很好地反映用戶(hù)當(dāng)前的購(gòu)買(mǎi)需求,于是就需要推薦系統(tǒng)將用戶(hù)當(dāng)前的需求作為重要信息參考源。
人們發(fā)現(xiàn)可以利用物品的參數(shù)特征等屬性形成約束知識(shí),再將用戶(hù)對(duì)物品的特定刻畫(huà)為約束條件,然后經(jīng)過(guò)對(duì)物品集合的約束滿(mǎn)足問(wèn)題的求解,就可以得到用戶(hù)所期望的物品了。
創(chuàng)建推薦任務(wù)
推薦任務(wù)是以元組(R,I)的形式表示出來(lái),其中用集合 R 表示目標(biāo)用戶(hù)對(duì)物品的特定需求,即對(duì)物品的約束條件,用集合 I 表示一個(gè)物品集合。推薦的任務(wù)就是從集合 I 中確定出能夠滿(mǎn)足集合 R 要求的物品。
3.3 關(guān)聯(lián)知識(shí)與關(guān)聯(lián)推薦算法
算法原理
關(guān)聯(lián)知識(shí)以關(guān)聯(lián)規(guī)則為表現(xiàn)形式,用以描述數(shù)據(jù)庫(kù)中數(shù)據(jù)之間關(guān)聯(lián)性的知識(shí)。在推薦系統(tǒng)領(lǐng)域,可以通過(guò)對(duì)用戶(hù)畫(huà)像中關(guān)聯(lián)規(guī)則的挖掘分析來(lái)分析用戶(hù)的習(xí)慣,發(fā)現(xiàn)物品之間的關(guān)聯(lián)性,并利用這種關(guān)聯(lián)性指導(dǎo)系統(tǒng)做出推薦。
算法流程
算法輸入:n個(gè)用戶(hù)畫(huà)像。
算法輸出:針對(duì)目標(biāo)用戶(hù)u的Top-N推薦列表。
A. 從系統(tǒng)中的n個(gè)用戶(hù)畫(huà)像中挖掘出所有的強(qiáng)關(guān)聯(lián)規(guī)則,建立集合以表示目標(biāo)用戶(hù)u尚未觀看但極有可能感興趣的物品。
B.再次使用置信度對(duì)集合中的物品進(jìn)行高低排序。
C.取出排序列表中的前N個(gè)物品構(gòu)成Top-N推薦列表。
適用場(chǎng)景
由于對(duì)系統(tǒng)中全體用戶(hù)的畫(huà)像進(jìn)行規(guī)則關(guān)聯(lián)挖掘意義不明顯且計(jì)算量大,所以基于關(guān)聯(lián)規(guī)則的推薦算法常與CF推薦算法混合使用。在這類(lèi)混合方案中,使用了CF推薦算法中的最近鄰算法將用戶(hù)畫(huà)像數(shù)目n限定在目標(biāo)用戶(hù)的最鄰近范圍內(nèi),使得關(guān)聯(lián)規(guī)則挖掘算法處理的數(shù)據(jù)規(guī)模被有針對(duì)性地限定在一定范圍內(nèi)。
4、 混合推薦算法
各種推薦方法都有優(yōu)缺點(diǎn),為了揚(yáng)長(zhǎng)補(bǔ)短,在實(shí)際中常常采用混合推薦。
研究和應(yīng)用最多的是內(nèi)容推薦和協(xié)同過(guò)濾推薦的組合。最簡(jiǎn)單的做法就是分別用基于內(nèi)容的方法和協(xié)同過(guò)濾推薦方法去產(chǎn)生一個(gè)推薦預(yù)測(cè)結(jié)果,然后用某方法組合其結(jié)果。
組合推薦一個(gè)最重要原則就是通過(guò)組合后要能避免或彌補(bǔ)各自推薦技術(shù)的弱點(diǎn)。
4.1 加權(quán)式
加權(quán)多種推薦技術(shù)結(jié)果:
4.2 切換式
根據(jù)問(wèn)題背景和實(shí)際情況或要求決定變換采用不同的推薦技術(shù)。
4.3 混雜式
同時(shí)采用多種推薦技術(shù)給出多種推薦結(jié)果為用戶(hù)提供參考。
4.4 特征組合
4.5 特征補(bǔ)充
一種技術(shù)產(chǎn)生附加的特征信息嵌入到另一種推薦技術(shù)的特征輸入中。
4.6 級(jí)聯(lián)式
三、推薦系統(tǒng)評(píng)估
1、打分系統(tǒng)-評(píng)分誤差率
2、Top-N推薦系統(tǒng)
2.1 準(zhǔn)確率
2.2 召回率
2.3、覆蓋率
2.4、多樣性
2.5、其他(新穎度、驚喜度、信任度、實(shí)時(shí)性)
總結(jié)
以上是生活随笔為你收集整理的推荐算法--总结(08)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《Python Cookbook 3rd
- 下一篇: 算法(15)-leetcode-expl