推薦系統(tǒng)面試

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

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

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

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

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

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

1)不需要其它用戶的數(shù)據(jù)背苦,沒(méi)有冷開(kāi)始問(wèn)題和稀疏問(wèn)題禀忆。

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

3)能推薦新的或不是很流行的項(xiàng)目,沒(méi)有新項(xiàng)目問(wèn)題。

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

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

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

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

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

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

基于協(xié)同過(guò)濾的推薦系統(tǒng)可以說(shuō)是從用戶的角度來(lái)進(jìn)行相應(yīng)推薦的阵面,而且是自動(dòng)的,即用戶獲得的推薦是系統(tǒng)從購(gòu)買(mǎi)模式或?yàn)g覽行為等隱式獲得的,不需要用戶努力地找到適合自己興趣的推薦信息样刷,如填寫(xiě)一些調(diào)查表格等嗽交。

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

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

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

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

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

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

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

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

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

四、基于效用推薦

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

五甘晤、基于知識(shí)推薦

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

六、組合推薦

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

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

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

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

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

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

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

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

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

七权旷、主要推薦方法的對(duì)比

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

表1 主要推薦方法對(duì)比

推薦方法

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

缺點(diǎn)

基于內(nèi)容推薦

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

不需要領(lǐng)域知識(shí)稀疏問(wèn)題它浅;新用戶問(wèn)題;

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

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

協(xié)同過(guò)濾推薦

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

隨著時(shí)間推移性能提高典唇;

推薦個(gè)性化镊折、自動(dòng)化程度高;

能處理復(fù)雜的非結(jié)構(gòu)化對(duì)象稀疏問(wèn)題蚓聘;

可擴(kuò)展性問(wèn)題;

新用戶問(wèn)題盟劫;

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

系統(tǒng)開(kāi)始時(shí)推薦質(zhì)量差;

基于規(guī)則推薦

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

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

產(chǎn)品名同義性問(wèn)題影所;

個(gè)性化程度低蹦肴;

基于效用推薦

無(wú)冷開(kāi)始和稀疏問(wèn)題;

對(duì)用戶偏好變化敏感猴娩;

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

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

屬性重疊問(wèn)題矛双;

基于知識(shí)推薦

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

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

推薦是靜態(tài)的

協(xié)同過(guò)濾

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

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

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

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

①余弦相似性(Cosine):用戶一項(xiàng)目評(píng)分矩陣可以看作是n維空間上的向量茬高,對(duì)于沒(méi)有評(píng)分的項(xiàng)目將評(píng)分值設(shè)為0,余弦相似性度量方法是通過(guò)計(jì)算向量間的余弦?jiàn)A角來(lái)度量用戶間相似性的假抄。設(shè)向量i和j分別表示用戶i和用戶j在n維空間上的評(píng)分怎栽,則用基于協(xié)同過(guò)濾的電子商務(wù)個(gè)性化推薦算法研究戶i和用戶j之間的相似性為:

②修正的余弦相似性 (AdjustedCosine):余弦相似度未考慮到用戶評(píng)分尺度問(wèn)題丽猬,如在評(píng)分區(qū)間[1一5]的情況下,對(duì)用戶甲來(lái)說(shuō)評(píng)分3以上就是自己喜歡的熏瞄,而對(duì)于用戶乙脚祟,評(píng)分4以上才是自己喜歡的。通過(guò)減去用戶對(duì)項(xiàng)的平均評(píng)分强饮,修正的余弦相似性度量方法改善了以上問(wèn)題由桌。用幾表示用戶i和用戶j共同評(píng)分過(guò)的項(xiàng)集合,Ii和壽分別表示用戶i和用戶j評(píng)分過(guò)的項(xiàng)集合邮丰,則用戶i和用戶j之間的相似性為:

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

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

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

通過(guò)數(shù)據(jù)分析發(fā)現(xiàn)揭朝,電影《暮色3:月食》的評(píng)分與《槍王之王》評(píng)分非常相似,前三個(gè)用戶對(duì)《暮色3:月食》的評(píng)分分別為4色冀、3潭袱、2,前三個(gè)用戶對(duì)《槍王之王》的評(píng)分分別為4锋恬、3屯换、3,他們二者相似度最高与学,因此電影《暮色3:月食》是電影《槍王之王》的最佳鄰居彤悔,因此《暮色3:月食》對(duì)《槍王之王》的評(píng)分對(duì)預(yù)測(cè)值的影響占據(jù)最大比例。而《唐山大地震》和《阿凡達(dá)》不是《槍王之王》的好鄰居索守,因?yàn)橛脩羧后w對(duì)它們的評(píng)分存在很大差距晕窑,所以電影《唐山大地震》和《阿凡達(dá)》對(duì)《槍王之王》的評(píng)分對(duì)預(yù)測(cè)值的影響相對(duì)小一些。在真實(shí)的預(yù)測(cè)中卵佛,推薦系統(tǒng)只對(duì)前若干個(gè)鄰居進(jìn)行搜索杨赤,并根據(jù)這些鄰居的評(píng)分為目標(biāo)用戶預(yù)測(cè)指定項(xiàng)目的評(píng)分敞斋。

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

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

分離出相似的項(xiàng)目之后,下一步就要為目標(biāo)項(xiàng)目預(yù)測(cè)評(píng)分谴忧,通過(guò)計(jì)算用戶u對(duì)與項(xiàng)目i相似的項(xiàng)目集合的總評(píng)價(jià)分值來(lái)計(jì)算用戶u對(duì)項(xiàng)目i的預(yù)期很泊。這兩個(gè)階段的具體公式和操作步驟與基于用戶的協(xié)同過(guò)濾推薦算法類似,所以在此不再贅述沾谓。

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

然而爬虱,協(xié)同過(guò)濾也存在著以下的缺點(diǎn):用戶對(duì)商品的評(píng)價(jià)非常稀疏,這樣基于用戶的評(píng)價(jià)所得到的用戶間的相似性可能不準(zhǔn)確(即稀疏性問(wèn)題)腾它;隨著用戶和商品的增多跑筝,系統(tǒng)的性能會(huì)越來(lái)越低(即可擴(kuò)展性問(wèn)題);如果從來(lái)沒(méi)有用戶對(duì)某一商品加以評(píng)價(jià)瞒滴,則這個(gè)商品就不可能被推薦(即最初評(píng)價(jià)問(wèn)題)曲梗。

混合推薦系統(tǒng)

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

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

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

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

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

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

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

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

(其中,Ri,j是用戶i對(duì)商品j的總體評(píng)價(jià)值,Xi,j,k是用戶i對(duì)商品j的第k個(gè)屬性的評(píng)價(jià)值,m是需要評(píng)價(jià)的商品的屬性總個(gè)數(shù)仅胞。)

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

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

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末屎即,一起剝皮案震驚了整個(gè)濱河市庙睡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌技俐,老刑警劉巖乘陪,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異雕擂,居然都是意外死亡暂刘,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)捂刺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谣拣,“玉大人,你說(shuō)我怎么就攤上這事族展∩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵仪缸,是天一觀的道長(zhǎng)贵涵。 經(jīng)常有香客問(wèn)我,道長(zhǎng)恰画,這世上最難降的妖魔是什么宾茂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮拴还,結(jié)果婚禮上跨晴,老公的妹妹穿的比我還像新娘。我一直安慰自己片林,他們只是感情好端盆,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著费封,像睡著了一般焕妙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上弓摘,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天焚鹊,我揣著相機(jī)與錄音,去河邊找鬼韧献。 笑死末患,一個(gè)胖子當(dāng)著我的面吹牛爷抓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阻塑,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蓝撇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了陈莽?” 一聲冷哼從身側(cè)響起渤昌,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎走搁,沒(méi)想到半個(gè)月后独柑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡私植,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年忌栅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曲稼。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡索绪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贫悄,到底是詐尸還是另有隱情瑞驱,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布窄坦,位于F島的核電站唤反,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鸭津。R本人自食惡果不足惜彤侍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望逆趋。 院中可真熱鬧盏阶,春花似錦、人聲如沸父泳。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惠窄。三九已至,卻和暖如春漾橙,著一層夾襖步出監(jiān)牢的瞬間杆融,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工霜运, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脾歇,地道東北人蒋腮。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像藕各,于是被迫代替她去往敵國(guó)和親池摧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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