溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CF推薦算法的概念是什么

發(fā)布時(shí)間:2022-01-14 16:48:17 來源:億速云 閱讀:279 作者:iii 欄目:云計(jì)算

這篇文章主要介紹“CF推薦算法的概念是什么”,在日常操作中,相信很多人在CF推薦算法的概念是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”CF推薦算法的概念是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

一、協(xié)同過濾算法描述

        推薦系統(tǒng)應(yīng)用數(shù)據(jù)分析技術(shù),找出用戶最可能喜歡的東西推薦給用戶,現(xiàn)在很多電子商務(wù)網(wǎng)站都有這個(gè)應(yīng)用。目前用的比較多、比較成熟的推薦算法是協(xié)同過濾(Collaborative Filtering,簡稱CF)推薦算法,CF的基本思想是根據(jù)用戶之前的喜好以及其他興趣相近的用戶的選擇來給用戶推薦物品。

CF推薦算法的概念是什么
 

        如圖1所示,在CF中,用m×n的矩陣表示用戶對(duì)物品的喜好情況,一般用打分表示用戶對(duì)物品的喜好程度,分?jǐn)?shù)越高表示越喜歡這個(gè)物品,0表示沒有買過該物品。圖中行表示一個(gè)用戶,列表示一個(gè)物品,Uij表示用戶i對(duì)物品j的打分情況。CF分為兩個(gè)過程,一個(gè)為預(yù)測過程,另一個(gè)為推薦過程。預(yù)測過程是預(yù)測用戶對(duì)沒有購買過的物品的可能打分值,推薦是根據(jù)預(yù)測階段的結(jié)果推薦用戶最可能喜歡的一個(gè)或Top-N個(gè)物品。

        二、User-based算法與Item-based算法對(duì)比

        CF算法分為兩大類,一類為基于memory的(Memory-based),另一類為基于Model的(Model-based),User-based和Item-based算法均屬于Memory-based類型,具體細(xì)分類可以參考wikipedia的說明。

        User-based的基本思想是如果用戶A喜歡物品a,用戶B喜歡物品a、b、c,用戶C喜歡a和c,那么認(rèn)為用戶A與用戶B和C相似,因?yàn)樗麄兌枷矚ga,而喜歡a的用戶同時(shí)也喜歡c,所以把c推薦給用戶A。該算法用最近鄰居(nearest-neighbor)算法找出一個(gè)用戶的鄰居集合,該集合的用戶和該用戶有相似的喜好,算法根據(jù)鄰居的偏好對(duì)該用戶進(jìn)行預(yù)測。

        User-based算法存在兩個(gè)重大問題:
 

        1. 數(shù)據(jù)稀疏性。一個(gè)大型的電子商務(wù)推薦系統(tǒng)一般有非常多的物品,用戶可能買的其中不到1%的物品,不同用戶之間買的物品重疊性較低,導(dǎo)致算法無法找到一個(gè)用戶的鄰居,即偏好相似的用戶。

        2. 算法擴(kuò)展性。最近鄰居算法的計(jì)算量隨著用戶和物品數(shù)量的增加而增加,不適合數(shù)據(jù)量大的情況使用。

        Iterm-based的基本思想是預(yù)先根據(jù)所有用戶的歷史偏好數(shù)據(jù)計(jì)算物品之間的相似性,然后把與用戶喜歡的物品相類似的物品推薦給用戶。還是以之前的例子為例,可以知道物品a和c非常相似,因?yàn)橄矚ga的用戶同時(shí)也喜歡c,而用戶A喜歡a,所以把c推薦給用戶A。

        因?yàn)槲锲分苯拥南嗨菩韵鄬?duì)比較固定,所以可以預(yù)先在線下計(jì)算好不同物品之間的相似度,把結(jié)果存在表中,當(dāng)推薦時(shí)進(jìn)行查表,計(jì)算用戶可能的打分值,可以同時(shí)解決上面兩個(gè)問題。

        三、Item-based算法詳細(xì)過程

        (1)相似度計(jì)算

        Item-based算法首選計(jì)算物品之間的相似度,計(jì)算相似度的方法有以下幾種:

        1. 基于余弦(Cosine-based)的相似度計(jì)算,通過計(jì)算兩個(gè)向量之間的夾角余弦值來計(jì)算物品之間的相似性,公式如下:

CF推薦算法的概念是什么
 

        其中分子為兩個(gè)向量的內(nèi)積,即兩個(gè)向量相同位置的數(shù)字相乘。

        2. 基于關(guān)聯(lián)(Correlation-based)的相似度計(jì)算,計(jì)算兩個(gè)向量之間的Pearson-r關(guān)聯(lián)度,公式如下:

CF推薦算法的概念是什么
 

        其中CF推薦算法的概念是什么表示用戶u對(duì)物品i的打分,CF推薦算法的概念是什么表示第i個(gè)物品打分的平均值。

        3. 調(diào)整的余弦(Adjusted Cosine)相似度計(jì)算,由于基于余弦的相似度計(jì)算沒有考慮不同用戶的打分情況,可能有的用戶偏向于給高分,而有的用戶偏向于給低分,該方法通過減去用戶打分的平均值消除不同用戶打分習(xí)慣的影響,公式如下:

CF推薦算法的概念是什么
 

        其中CF推薦算法的概念是什么表示用戶u打分的平均值。

        (2)預(yù)測值計(jì)算

        根據(jù)之前算好的物品之間的相似度,接下來對(duì)用戶未打分的物品進(jìn)行預(yù)測,有兩種預(yù)測方法:

        1. 加權(quán)求和。

        用過對(duì)用戶u已打分的物品的分?jǐn)?shù)進(jìn)行加權(quán)求和,權(quán)值為各個(gè)物品與物品i的相似度,然后對(duì)所有物品相似度的和求平均,計(jì)算得到用戶u對(duì)物品i打分,公式如下:

CF推薦算法的概念是什么
 

        其中CF推薦算法的概念是什么為物品i與物品N的相似度,CF推薦算法的概念是什么為用戶u對(duì)物品N的打分。

        2. 回歸。

        和上面加權(quán)求和的方法類似,但回歸的方法不直接使用相似物品N的打分值CF推薦算法的概念是什么,因?yàn)橛糜嘞曳ɑ騊earson關(guān)聯(lián)法計(jì)算相似度時(shí)存在一個(gè)誤區(qū),即兩個(gè)打分向量可能相距比較遠(yuǎn)(歐氏距離),但有可能有很高的相似度。因?yàn)椴煌脩舻拇蚍至?xí)慣不同,有的偏向打高分,有的偏向打低分。如果兩個(gè)用戶都喜歡一樣的物品,因?yàn)榇蚍至?xí)慣不同,他們的歐式距離可能比較遠(yuǎn),但他們應(yīng)該有較高的相似度。在這種情況下用戶原始的相似物品的打分值進(jìn)行計(jì)算會(huì)造成糟糕的預(yù)測結(jié)果。通過用線性回歸的方式重新估算一個(gè)新的CF推薦算法的概念是什么值,運(yùn)用上面同樣的方法進(jìn)行預(yù)測。重新計(jì)算CF推薦算法的概念是什么的方法如下:

CF推薦算法的概念是什么
 

        其中物品N是物品i的相似物品,CF推薦算法的概念是什么CF推薦算法的概念是什么通過對(duì)物品N和i的打分向量進(jìn)行線性回歸計(jì)算得到,CF推薦算法的概念是什么為回歸模型的誤差。具體怎么進(jìn)行線性回歸文章里面沒有說明,需要查閱另外的相關(guān)文獻(xiàn)。

到此,關(guān)于“CF推薦算法的概念是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

cf
AI