推薦系統(tǒng)面試

歡迎關(guān)注【機(jī)器學(xué)習(xí)之路】公眾號

1。http://www.voidcn.com/blog/u013713010/article/p-3625549.html

在推薦系統(tǒng)簡介中,我們給出了推薦系統(tǒng)的一般框架。很明顯,推薦方法是整個推薦系統(tǒng)中最核心、最關(guān)鍵的部分,很大程度上決定了推薦系統(tǒng)性能的優(yōu)劣。目前,主要的推薦方法包括:基于內(nèi)容推薦、協(xié)同過濾推薦、基于關(guān)聯(lián)規(guī)則推薦、基于效用推薦、基于知識推薦和組合推薦。

一、基于內(nèi)容推薦

基于內(nèi)容的推薦(Content-based Recommendation)是信息過濾技術(shù)的延續(xù)與發(fā)展,它是建立在項目的內(nèi)容信息上作出推薦的,而不需要依據(jù)用戶對項目的評價意見,更多地需要用機(jī)器學(xué)習(xí)的方法從關(guān)于內(nèi)容的特征描述的事例中得到用戶的興趣資料。在基于內(nèi)容的推薦系統(tǒng)中,項目或?qū)ο笫峭ㄟ^相關(guān)的特征的屬性來定義,系統(tǒng)基于用戶評價對象的特征,學(xué)習(xí)用戶的興趣,考察用戶資料與待預(yù)測項目的相匹配程度。用戶的資料模型取決于所用學(xué)習(xí)方法,常用的有決策樹、神經(jīng)網(wǎng)絡(luò)和基于向量的表示方法等。基于內(nèi)容的用戶資料是需要有用戶的歷史數(shù)據(jù),用戶資料模型可能隨著用戶的偏好改變而發(fā)生變化。

基于內(nèi)容推薦方法的優(yōu)點(diǎn)是:

1)不需要其它用戶的數(shù)據(jù),沒有冷開始問題和稀疏問題。

2)能為具有特殊興趣愛好的用戶進(jìn)行推薦。

3)能推薦新的或不是很流行的項目,沒有新項目問題。

4)通過列出推薦項目的內(nèi)容特征,可以解釋為什么推薦那些項目。

5)已有比較好的技術(shù),如關(guān)于分類學(xué)習(xí)方面的技術(shù)已相當(dāng)成熟。

缺點(diǎn)是要求內(nèi)容能容易抽取成有意義的特征,要求特征內(nèi)容有良好的結(jié)構(gòu)性,并且用戶的口味必須能夠用內(nèi)容特征形式來表達(dá),不能顯式地得到其它用戶的判斷情況。

二、協(xié)同過濾推薦

協(xié)同過濾推薦(Collaborative Filtering Recommendation)技術(shù)是推薦系統(tǒng)中應(yīng)用最早和最為成功的技術(shù)之一。它一般采用最近鄰技術(shù),利用用戶的歷史喜好信息計算用戶之間的距離,然后利用目標(biāo)用戶的最近鄰居用戶對商品評價的加權(quán)評價值來預(yù)測目標(biāo)用戶對特定商品的喜好程度,系統(tǒng)從而根據(jù)這一喜好程度來對目標(biāo)用戶進(jìn)行推薦。協(xié)同過濾最大優(yōu)點(diǎn)是對推薦對象沒有特殊的要求,能處理非結(jié)構(gòu)化的復(fù)雜對象,如音樂、電影。

協(xié)同過濾是基于這樣的假設(shè):為一用戶找到他真正感興趣的內(nèi)容的好方法是首先找到與此用戶有相似興趣的其他用戶,然后將他們感興趣的內(nèi)容推薦給此用戶。其基本思想非常易于理解,在日常生活中,我們往往會利用好朋友的推薦來進(jìn)行一些選擇。協(xié)同過濾正是把這一思想運(yùn)用到電子商務(wù)推薦系統(tǒng)中來,基于其他用戶對某一內(nèi)容的評價來向目標(biāo)用戶進(jìn)行推薦。

基于協(xié)同過濾的推薦系統(tǒng)可以說是從用戶的角度來進(jìn)行相應(yīng)推薦的,而且是自動的,即用戶獲得的推薦是系統(tǒng)從購買模式或瀏覽行為等隱式獲得的,不需要用戶努力地找到適合自己興趣的推薦信息,如填寫一些調(diào)查表格等。

和基于內(nèi)容的過濾方法相比,協(xié)同過濾具有如下的優(yōu)點(diǎn):

1)能夠過濾難以進(jìn)行機(jī)器自動內(nèi)容分析的信息,如藝術(shù)品,音樂等。

2)共享其他人的經(jīng)驗,避免了內(nèi)容分析的不完全和不精確,并且能夠基于一些復(fù)雜的,難以表述的概念(如信息質(zhì)量、個人品味)進(jìn)行過濾。

3)有推薦新信息的能力。可以發(fā)現(xiàn)內(nèi)容上完全不相似的信息,用戶對推薦信息的內(nèi)容事先是預(yù)料不到的。這也是協(xié)同過濾和基于內(nèi)容的過濾一個較大的差別,基于內(nèi)容的過濾推薦很多都是用戶本來就熟悉的內(nèi)容,而協(xié)同過濾可以發(fā)現(xiàn)用戶潛在的但自己尚未發(fā)現(xiàn)的興趣偏好。

4)能夠有效的使用其他相似用戶的反饋信息,較少用戶的反饋量,加快個性化學(xué)習(xí)的速度。

雖然協(xié)同過濾作為一種典型的推薦技術(shù)有其相當(dāng)?shù)膽?yīng)用,但協(xié)同過濾仍有許多的問題需要解決。最典型的問題有稀疏問題(Sparsity)和可擴(kuò)展問題(Scalability)。

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

基于關(guān)聯(lián)規(guī)則的推薦(Association Rule-based Recommendation)是以關(guān)聯(lián)規(guī)則為基礎(chǔ),把已購商品作為規(guī)則頭,規(guī)則體為推薦對象。關(guān)聯(lián)規(guī)則挖掘可以發(fā)現(xiàn)不同商品在銷售過程中的相關(guān)性,在零售業(yè)中已經(jīng)得到了成功的應(yīng)用。管理規(guī)則就是在一個交易數(shù)據(jù)庫中統(tǒng)計購買了商品集X的交易中有多大比例的交易同時購買了商品集Y,其直觀的意義就是用戶在購買某些商品的時候有多大傾向去購買另外一些商品。比如購買牛奶的同時很多人會同時購買面包。

算法的第一步關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)最為關(guān)鍵且最耗時,是算法的瓶頸,但可以離線進(jìn)行。其次,商品名稱的同義性問題也是關(guān)聯(lián)規(guī)則的一個難點(diǎn)。

四、基于效用推薦

基于效用的推薦(Utility-based Recommendation)是建立在對用戶使用項目的效用情況上計算的,其核心問題是怎么樣為每一個用戶去創(chuàng)建一個效用函數(shù),因此,用戶資料模型很大程度上是由系統(tǒng)所采用的效用函數(shù)決定的。基于效用推薦的好處是它能把非產(chǎn)品的屬性,如提供商的可靠性(Vendor Reliability)和產(chǎn)品的可得性(Product Availability)等考慮到效用計算中。

五、基于知識推薦

基于知識的推薦(Knowledge-based Recommendation)在某種程度是可以看成是一種推理(Inference)技術(shù),它不是建立在用戶需要和偏好基礎(chǔ)上推薦的。基于知識的方法因它們所用的功能知識不同而有明顯區(qū)別。效用知識(Functional Knowledge)是一種關(guān)于一個項目如何滿足某一特定用戶的知識,因此能解釋需要和推薦的關(guān)系,所以用戶資料可以是任何能支持推理的知識結(jié)構(gòu),它可以是用戶已經(jīng)規(guī)范化的查詢,也可以是一個更詳細(xì)的用戶需要的表示。

六、組合推薦

由于各種推薦方法都有優(yōu)缺點(diǎn),所以在實(shí)際中,組合推薦(Hybrid Recommendation)經(jīng)常被采用。研究和應(yīng)用最多的是內(nèi)容推薦和協(xié)同過濾推薦的組合。最簡單的做法就是分別用基于內(nèi)容的方法和協(xié)同過濾推薦方法去產(chǎn)生一個推薦預(yù)測結(jié)果,然后用某方法組合其結(jié)果。盡管從理論上有很多種推薦組合方法,但在某一具體問題中并不見得都有效,組合推薦一個最重要原則就是通過組合后要能避免或彌補(bǔ)各自推薦技術(shù)的弱點(diǎn)。

在組合方式上,有研究人員提出了七種組合思路:

1)加權(quán)(Weight):加權(quán)多種推薦技術(shù)結(jié)果。

2)變換(Switch):根據(jù)問題背景和實(shí)際情況或要求決定變換采用不同的推薦技術(shù)。

3)混合(Mixed):同時采用多種推薦技術(shù)給出多種推薦結(jié)果為用戶提供參考。

4)特征組合(Feature combination):組合來自不同推薦數(shù)據(jù)源的特征被另一種推薦算法所采用。

5)層疊(Cascade):先用一種推薦技術(shù)產(chǎn)生一種粗糙的推薦結(jié)果,第二種推薦技術(shù)在此推薦結(jié)果的基礎(chǔ)上進(jìn)一步作出更精確的推薦。

6)特征擴(kuò)充(Feature augmentation):一種技術(shù)產(chǎn)生附加的特征信息嵌入到另一種推薦技術(shù)的特征輸入中。

7)元級別(Meta-level):用一種推薦方法產(chǎn)生的模型作為另一種推薦方法的輸入。

七、主要推薦方法的對比

各種推薦方法都有其各自的優(yōu)點(diǎn)和缺點(diǎn),見表1。

表1 主要推薦方法對比

推薦方法

優(yōu)點(diǎn)

缺點(diǎn)

基于內(nèi)容推薦

推薦結(jié)果直觀,容易解釋;

不需要領(lǐng)域知識稀疏問題;新用戶問題;

復(fù)雜屬性不好處理;

要有足夠數(shù)據(jù)構(gòu)造分類器

協(xié)同過濾推薦

新異興趣發(fā)現(xiàn)、不需要領(lǐng)域知識;

隨著時間推移性能提高;

推薦個性化、自動化程度高;

能處理復(fù)雜的非結(jié)構(gòu)化對象稀疏問題;

可擴(kuò)展性問題;

新用戶問題;

質(zhì)量取決于歷史數(shù)據(jù)集;

系統(tǒng)開始時推薦質(zhì)量差;

基于規(guī)則推薦

能發(fā)現(xiàn)新興趣點(diǎn);

不要領(lǐng)域知識規(guī)則抽取難、耗時;

產(chǎn)品名同義性問題;

個性化程度低;

基于效用推薦

無冷開始和稀疏問題;

對用戶偏好變化敏感;

能考慮非產(chǎn)品特性用戶必須輸入效用函數(shù);

推薦是靜態(tài)的,靈活性差;

屬性重疊問題;

基于知識推薦

能把用戶需求映射到產(chǎn)品上;

能考慮非產(chǎn)品屬性知識難獲得;

推薦是靜態(tài)的

協(xié)同過濾

協(xié)同過濾是一種基于一組興趣相同的用戶或項目進(jìn)行的推薦,它根據(jù)鄰居用戶(與目標(biāo)用戶興趣相似的用戶)的偏好信息產(chǎn)生對目標(biāo)用戶的推薦列表。協(xié)同過濾算法主要分為基于用戶的協(xié)同過濾算法和基于項目的協(xié)同過濾算法。

基于用戶的(User based)協(xié)同過濾算法是根據(jù)鄰居用戶的偏好信息產(chǎn)生對目標(biāo)用戶的推薦。它基于這樣一個假設(shè):如果一些用戶對某一類項目的打分比較接近,則他們對其它類項目的打分也比較接近。協(xié)同過濾推薦系統(tǒng)采用統(tǒng)計計算方式搜索目標(biāo)用戶的相似用戶,并根據(jù)相似用戶對項目的打分來預(yù)測目標(biāo)用戶對指定項目的評分,最后選擇相似度較高的前若干個相似用戶的評分作為推薦結(jié)果,并反饋給用戶。這種算法不僅計算簡單且精確度較高,被現(xiàn)有的協(xié)同過濾推薦系統(tǒng)廣泛采用。User-based協(xié)同過濾推薦算法的核心就是通過相似性度量方法計算出最近鄰居集合,并將最近鄰的評分結(jié)果作為推薦預(yù)測結(jié)果返回給用戶。例如,在下表所示的用戶一項目評分矩陣中,行代表用戶,列代表項目(電影),表中的數(shù)值代表用戶對某個項目的評價值。現(xiàn)在需要預(yù)測用戶Tom對電影《槍王之王》的評分(用戶Lucy對電影《阿凡達(dá)》的評分是缺失的數(shù)據(jù))。

由上表不難發(fā)現(xiàn),Mary和Pete對電影的評分非常接近,Mary對《暮色3:月食》、《唐山大地震》、《阿凡達(dá)》的評分分別為3、4、4,Tom的評分分別為3、5、4,他們之間的相似度最高,因此Mary是Tom的最接近的鄰居,Mary對《槍王之王》的評分結(jié)果對預(yù)測值的影響占據(jù)最大比例。相比之下,用戶John和Lucy不是Tom的最近鄰居,因為他們對電影的評分存在很大差距,所以JohLn和Lucy對《槍王之王》的評分對預(yù)測值的影響相對小一些。在真實(shí)的預(yù)測中,推薦系統(tǒng)只對前若干個鄰居進(jìn)行搜索,并根據(jù)這些鄰居的評分為目標(biāo)用戶預(yù)測指定項目的評分。由上面的例子不難知道,User一based協(xié)同過濾推薦算法的主要工作內(nèi)容是用戶相似性度量、最近鄰居查詢和預(yù)測評分。

目前主要有三種度量用戶間相似性的方法,分別是:余弦相似性、相關(guān)相似性以及修正的余弦相似性。

①余弦相似性(Cosine):用戶一項目評分矩陣可以看作是n維空間上的向量,對于沒有評分的項目將評分值設(shè)為0,余弦相似性度量方法是通過計算向量間的余弦夾角來度量用戶間相似性的。設(shè)向量i和j分別表示用戶i和用戶j在n維空間上的評分,則用基于協(xié)同過濾的電子商務(wù)個性化推薦算法研究戶i和用戶j之間的相似性為:

②修正的余弦相似性 (AdjustedCosine):余弦相似度未考慮到用戶評分尺度問題,如在評分區(qū)間[1一5]的情況下,對用戶甲來說評分3以上就是自己喜歡的,而對于用戶乙,評分4以上才是自己喜歡的。通過減去用戶對項的平均評分,修正的余弦相似性度量方法改善了以上問題。用幾表示用戶i和用戶j共同評分過的項集合,Ii和壽分別表示用戶i和用戶j評分過的項集合,則用戶i和用戶j之間的相似性為:

③相關(guān)相似性(Correlation)此方法是采用皮爾森(Pearson)相關(guān)系數(shù)來進(jìn)行度量。設(shè)Iij表示用戶i和用戶j共同評分過的項目集合,則用戶i和用戶j之間相似性為:

在得到目標(biāo)用戶的最近鄰居以后,接著就要產(chǎn)生相應(yīng)的推薦結(jié)果。設(shè)NNu為用戶u的最近鄰居集合,則用戶u對項j的預(yù)測評分Puj計算公式如下:

基于項目的(Item一based)協(xié)同過濾是根據(jù)用戶對相似項目的評分?jǐn)?shù)據(jù)預(yù)測目標(biāo)項目的評分,它是建立在如下假設(shè)基礎(chǔ)上的:如果大部分用戶對某些項目的打分比較相近,則當(dāng)前用戶對這些項的打分也會比較接近。ltem一based協(xié)同過濾算法主要對目標(biāo)用戶所評價的一組項目進(jìn)行研究,并計算這些項目與目標(biāo)項目之間的相似性,然后從選擇前K個最相似度最大的項目輸出,這是區(qū)別于User-based協(xié)同過濾。仍拿上所示的用戶一項目評分矩陣作為例子,還是預(yù)測用戶Tom對電影《槍王之王》的評分(用戶Lucy對電影《阿凡達(dá)》的評分是缺失的數(shù)據(jù))。

通過數(shù)據(jù)分析發(fā)現(xiàn),電影《暮色3:月食》的評分與《槍王之王》評分非常相似,前三個用戶對《暮色3:月食》的評分分別為4、3、2,前三個用戶對《槍王之王》的評分分別為4、3、3,他們二者相似度最高,因此電影《暮色3:月食》是電影《槍王之王》的最佳鄰居,因此《暮色3:月食》對《槍王之王》的評分對預(yù)測值的影響占據(jù)最大比例。而《唐山大地震》和《阿凡達(dá)》不是《槍王之王》的好鄰居,因為用戶群體對它們的評分存在很大差距,所以電影《唐山大地震》和《阿凡達(dá)》對《槍王之王》的評分對預(yù)測值的影響相對小一些。在真實(shí)的預(yù)測中,推薦系統(tǒng)只對前若干個鄰居進(jìn)行搜索,并根據(jù)這些鄰居的評分為目標(biāo)用戶預(yù)測指定項目的評分。

由上面的例子不難知道,Item一based協(xié)同過濾推薦算法的主要工作內(nèi)容是最近鄰居查詢和產(chǎn)生推薦。因此,Item一based協(xié)同過濾推薦算法可以分為最近鄰查詢和產(chǎn)生推薦兩個階段。最近鄰查詢階段是要計算項目與項目之間的相似性,搜索目標(biāo)項目的最近鄰居;產(chǎn)生推薦階段是根據(jù)用戶對目標(biāo)項目的最近鄰居的評分信息預(yù)測目標(biāo)項目的評分,最后產(chǎn)生前N個推薦信息。

ltem一based協(xié)同過濾算法的關(guān)鍵步驟仍然是計算項目之間的相似性并選出最相似的項目,這一點(diǎn)與user一based協(xié)同過濾類似。計算兩個項目i和j之間相似性的基本思想是首先將對兩個項目共同評分的用戶提取出來,并將每個項目獲得的評分看作是n維用戶空間的向量,再通過相似性度量公式計算兩者之間的相似性。

分離出相似的項目之后,下一步就要為目標(biāo)項目預(yù)測評分,通過計算用戶u對與項目i相似的項目集合的總評價分值來計算用戶u對項目i的預(yù)期。這兩個階段的具體公式和操作步驟與基于用戶的協(xié)同過濾推薦算法類似,所以在此不再贅述。

與基于內(nèi)容的推薦算法相比,協(xié)同過濾有下列優(yōu)點(diǎn):能夠過濾難以進(jìn)行機(jī)器自動基于內(nèi)容分析的信息。如藝術(shù)品、音樂;能夠基于一些復(fù)雜的,難以表達(dá)的概念(信息質(zhì)量、品位)進(jìn)行過濾;推薦的新穎性。

然而,協(xié)同過濾也存在著以下的缺點(diǎn):用戶對商品的評價非常稀疏,這樣基于用戶的評價所得到的用戶間的相似性可能不準(zhǔn)確(即稀疏性問題);隨著用戶和商品的增多,系統(tǒng)的性能會越來越低(即可擴(kuò)展性問題);如果從來沒有用戶對某一商品加以評價,則這個商品就不可能被推薦(即最初評價問題)。

混合推薦系統(tǒng)

目前有很多學(xué)者都在研究基于多種方法的混合推薦系統(tǒng),最常見的為基于內(nèi)容和基于協(xié)同過濾的混合。本博文將詳細(xì)介紹提于對這兩種推薦系統(tǒng)同構(gòu)化整合的混合推薦模型,該算法同時擁有協(xié)同過濾推薦系統(tǒng)和基于內(nèi)容推薦系統(tǒng)的優(yōu)點(diǎn),并且在一定程度上避免了基于內(nèi)容或協(xié)同過濾的傳統(tǒng)推薦系統(tǒng)各自的缺點(diǎn)。

該混合推薦算法的模型及結(jié)構(gòu)如下圖所示:

該模型與其他推薦模型的不同在于:1)構(gòu)建了完善的模型輸入模塊。該模塊包含可以根據(jù)需要向模型中一次或多次輸入用戶個人資料、查詢(檢索)時需要的關(guān)鍵詞和句子、商品對象的各項屬性值、用戶使用推薦系統(tǒng)時和使用推薦系統(tǒng)后的評價,以及來自第三方對商品對象的評價等參數(shù)。2)構(gòu)建了基于內(nèi)容和協(xié)同過濾的整合推薦實(shí)施模塊。該模塊以回歸模型為基本依據(jù),以用戶信息庫、商品信息庫、歷史信息庫和在線信息庫為基礎(chǔ),分別將基于內(nèi)容推薦的算法和協(xié)同過濾推薦算法應(yīng)用于一般預(yù)測值的計算及其隨機(jī)誤差項的計算。3)構(gòu)建了較完備的推薦結(jié)果輸出模塊。該模塊依據(jù)系統(tǒng)的不同表現(xiàn)形式,將商品信息庫中的資源“主動”推薦給用戶。推薦方法包括搜索排序優(yōu)先、郵件以及各種隱式信息傳遞等。

該混合模型的主要過程和核心是,先利用回歸算法提取商品的內(nèi)容屬性,再對用戶進(jìn)行基于內(nèi)容的協(xié)同過濾,最后同構(gòu)化整合二者結(jié)論,并進(jìn)行加權(quán)求和與有序化。

在詳細(xì)闡述模型之前,有必要分析一下模型的輸入數(shù)據(jù)。推薦系統(tǒng)典型的輸入數(shù)據(jù)是給每個商品及其屬性的評價。例如,表1是一個代表用戶對電影優(yōu)劣評價的m×n用戶電影評價矩陣,該表的主要功能是在基于已經(jīng)評價元素的基礎(chǔ)上對空缺值進(jìn)行預(yù)測。在評價矩陣中,用戶1已經(jīng)對電影1、電影2、電影4、電影5做了評價,那么用戶1會對電影3、電影6做何評價呢?同樣地,用戶2對電影3,以及用戶3對電影4和電影5該做何評價呢?

本混合推薦模型的算法由6個主要步驟組成:

首先,需要有一份存有所有商品(或?qū)ο?評價值(可能含有空缺值)的表格,初始表格中的評價值主要由用戶直接或間接給出。例如,www.movielens.org就是一個電影推薦網(wǎng)站,網(wǎng)站訪問者只要注冊并提供對15部以上的電影進(jìn)行評價,那么他(她)就可以獲得網(wǎng)站的推薦服務(wù)。像電影類別(例如動作、戲劇、愛情等)、導(dǎo)演、主要演員、制片商等關(guān)鍵信息都有助于對用戶進(jìn)行推薦。因此,用戶在獲得推薦服務(wù)之前應(yīng)當(dāng)盡可能向網(wǎng)站提供此類信息。

其次,一旦用戶提交了推薦模型所需要的關(guān)鍵信息,那么對用戶的電影推薦就可以應(yīng)用式(1)來計算:

(其中,Ri,j是用戶i對商品j的總體評價值,Xi,j,k是用戶i對商品j的第k個屬性的評價值,m是需要評價的商品的屬性總個數(shù)。)

在回歸模型(1)中,需要測量的各個參數(shù)αi,x(x∈[0,m])決定了各個屬性的數(shù)值對用戶的重要性。用戶過去的評價值都應(yīng)用到模型(1)中,一旦用戶i的模型中各個參數(shù)被估計出來,那么他(她)的空缺值就可以通過模型計算出來。例如,在表1中,用戶1的回歸模型通過他(她)已經(jīng)看過的電影來構(gòu)造,模型構(gòu)造出來后,用戶1對電影3的期望值就可以通過電影3和模型中的各個參數(shù)αi,x(x∈[0,m])預(yù)測出來。

第三步,基于回歸模型(1),計算適合所有用戶和商品及其屬性的預(yù)測值R*i,j。該預(yù)測值既適合實(shí)際已經(jīng)發(fā)生的評價結(jié)果檢驗,也適合用戶實(shí)際未發(fā)生或丟失的空缺值的預(yù)測。

第四步,構(gòu)建一個預(yù)測誤差的數(shù)據(jù)矩陣。該誤差矩陣的值由實(shí)際發(fā)生的數(shù)據(jù)與預(yù)測數(shù)據(jù)之間的差值計算出來,即εi,j=Ri,j-R*i,j(2),公式中的εi,j實(shí)際上就是模型(1)中的隨機(jī)誤差項。由于對于需要預(yù)測的商品沒有實(shí)際發(fā)生評價值Ri,j,因此該商品的隨機(jī)誤差項就無法計算。這樣,通過實(shí)際的評價值和回歸模型計算值之差構(gòu)建的預(yù)測誤差數(shù)據(jù)矩陣的形式也就和表1類似,與表1相對應(yīng)的空白處也是沒有數(shù)據(jù)的。

第五步,將協(xié)作過濾技術(shù)用于第四步構(gòu)建的預(yù)測誤差數(shù)據(jù)矩陣,我們在此采用基于鄰居的協(xié)同推薦算法。為了計算用戶的空缺值,采用式(3)來計算用戶的隨機(jī)誤差項εi,j:Ra,j=λ∑ni=1wa,i(εi,j-εa)+εa(3)其中,Ra,j是用戶a對商品j的評價,n是協(xié)同過濾數(shù)據(jù)矩陣中已經(jīng)對商品j評價過的用戶的數(shù)量,Wa,i是用戶i和目標(biāo)用戶a之間的相似性,λ是一個總和值為1的正太化因素。在表1的電影評價例子中,假設(shè)對用戶1而言,電影3是·143·需要通過預(yù)測來判斷是否值得推薦的。在基于鄰居的算法中,需要獲得用戶2、用戶3等其他用戶對電影3評價的加權(quán)平均數(shù)。另外,權(quán)重(Wa,i)的大小取決于用戶1在電影評價方面與其他用戶的相似性,包括皮爾森(Pearson)相關(guān)系數(shù)法、斯皮爾曼(Spearman)秩相關(guān)系數(shù)法和向量相似度等諸多方法均可以用來測定該值。在協(xié)同過濾的算法方面還有很多其他重要的文獻(xiàn),本文就不探討了。

第六步,把第三步和第五步的計算結(jié)果求和,即第三步中利用基于內(nèi)容推薦方法得出的R*i,j和第五步基于協(xié)同過濾推薦方法得出的εi,j,通過對式(2)進(jìn)行變化并計算,得Ri,j=R*i,j+εi,j,即用戶i對商品j的預(yù)測評價值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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