導航:首頁 > 凈水問答 > 協同過濾演算法步驟

協同過濾演算法步驟

發布時間:2023-05-10 13:13:36

『壹』 基於用戶協同過濾(User-CF)的推薦演算法

1. 數學必備知識(向量)

2. 構建矩陣模型

3. User-CF的思想和計算

在一個個性化推薦系統中,當一個用戶A需要個性化推薦時,可以先找和他有相似興趣的其他用戶,然後把那些用戶喜歡的、而用戶A沒有聽說過的物品推薦給A。這種方法成為基於用戶的協同過濾演算法(User-CF)

根據問題域中構建出來的用戶-行為評分矩陣(圖1-1),我們可以構建出用戶的向量.首先,把每一個用戶用一個向量表示,每個向量里有6個數字,分別代表該用戶對6本書喜愛程度的評分.0代表用戶沒看過這本書.圖示:

接下來,計算倆個用戶的相似性,這里使用的指標叫作餘弦相似度,計算公式如下:

其中,分子部分a·b表示兩個向量的點積,計算方法就是兩個向量對應元素先相乘再求和,比如:

用戶a=[4 3 0 0 5 0]和用戶b=[5 0 4 0 4 0]

a·b=4x5+3x0+0x4+0x0+5x4+0x0=40

分母部分的 代表向量a的模長, 就是a,b兩個向量模長的乘積.向量模長的計算方法就是把向量

中的每個元素平方後再求和最後再開根號.

於是,第一個用戶和第二個用戶的相似度就可以進行如下計算:

餘弦相似度的值在[0,1]閉區間內,值越大說明越相似,值越小說明越不相似.根據上面的計算公式,分別計算小白和其他5個同事的相似度,然後根據從大到小的順序排列.可以看到小白和前倆個同事相似度高而和最後一個同事完全不相似.

比如,和小白最相似的兩個同事的閱讀列表編號有1,3,4,5共4本書.其中1,5這兩本書小白已經看過,3,4這兩本書哪本可能更適合小白的口味呢?

可以計算這兩個同事對這兩本書的加權評分並作為小白的可能評分,權重就是他們之間的相似度,具體計算如

下圖.通過計算可以看出編號為3的書可能更適合小白的口味.

計算步驟:

1. 先確定第一個同事擁有的閱讀列表的圖書編號為1,3,5

2. 再確定第二個同事擁有的閱讀列表的圖書編號為1,3,4,5

3. 小白自己已經擁有的閱讀的圖書列表是1,2,5[這也是打叉的意義,自己已經有的,不需要再推薦給自己了]

4. 最後剩餘的只有編號為3和編號為4的兩本書了

5. 計算公式說明,0.75和0.63代表權重,也就是相似值.4,3,5代表的是該用戶對這本書的評分.

1. 性能:適用於用戶較少的場合,如果用戶過多,計算用戶相似度矩陣的代價較大

2. 領域:實效性要求高,用戶個性化興趣要求不高

3. 實時性:用戶有新行為,不一定需要推薦結果立即變化

4. 冷啟動:在新用戶對少的物品產生行為後,不能立即對他進行個性化推薦,因為用戶相似度是離線計算的 

新物品上線後一段時間,一旦有用戶對物品產生行為,就可以將新物品推薦給其他用戶

『貳』 推薦演算法的基於協同過濾的推薦

基於協同過濾的推薦演算法理論上可以推薦世界上的任何一種東西。圖片、音樂、樣樣可以。 協同過濾演算法主要是通過對未評分項進行評分 預測來實現的。不同的協同過濾之間也有很大的不同。
基於用戶的協同過濾演算法: 基於一個這樣的假設「跟你喜好相似的人喜歡的東西你也很有可能喜歡。」所以基於用戶的協同過濾主要的任務就是找出用戶的最近鄰居,從而根據最近鄰 居的喜好做出未知項的評分預測。這種演算法主要分為3個步驟:
一,用戶評分。可以分為顯性評分和隱形評分兩種。顯性評分就是直接給項目評分(例如給網路里的用戶評分),隱形評分就是通過評價或是購買的行為給項目評分 (例如在有啊購買了什麼東西)。
二,尋找最近鄰居。這一步就是尋找與你距離最近的用戶,測算距離一般採用以下三種演算法:1.皮爾森相關系數。2.餘弦相似性。3調整餘弦相似性。調整餘弦 相似性似乎效果會好一些。
三,推薦。產生了最近鄰居集合後,就根據這個集合對未知項進行評分預測。把評分最高的N個項推薦給用戶。 這種演算法存在性能上的瓶頸,當用戶數越來越多的時候,尋找最近鄰居的復雜度也會大幅度的增長。
因而這種演算法無法滿足及時推薦的要求。基於項的協同過濾解決了這個問題。 基於項的協同過濾演算法 根基於用戶的演算法相似,只不過第二步改為計算項之間的相似度。由於項之間的相似度比較穩定可以在線下進行,所以解決了基於用戶的協同過濾演算法存在的性能瓶頸。

『叄』 推薦系統(一):基於物品的協同過濾演算法

協同過濾(collaborative filtering)演算法是最經典、最常用的推薦演算法。其基本思想是收集用戶偏好,找到相似的用戶或物品,然後計算並推薦。
基於物品的協同過濾演算法的核心思想就是:給用戶推薦那些和他們之前喜歡的物品相似的物品。主要可分為兩步:
(1) 計算物品之間的相似度,建立相似度矩陣。
(2) 根據物品的相似度和用戶的歷史行為給用戶生成推薦列表。

相似度的定義有多種方式,下面簡要介紹其中幾種:

其中,分母 是喜歡物品 的用戶數,而分子 是同時喜歡物品 和物品 的用戶數。因此,上述公式可以理解為喜歡物品 的用戶中有多少比例的用戶也喜歡物品 。
上述公式存在一個問題。如果物品 很熱門, 就會很大,接近1。因此,該公式會造成任何物品都會和熱門的物品有很大的相似度,為了避免推薦出熱門的物品,可以用下面的公式:

這個公式懲罰了物品 的權重,因此減輕了熱門物品會和很多物品相似的可能性。
另外為減小活躍用戶對結果的影響,考慮IUF(nverse User Frequence) ,即用戶活躍度對數的倒數的參數,認為活躍用戶對物品相似度的貢獻應該小於不活躍的用戶。

為便於計算,還需要進一步將相似度矩陣歸一化 。

其中 表示用戶 對物品 的評分。 在區間 內,越接近1表示相似度越高。

表示空間中的兩個點,則其歐幾里得距離為:

當 時,即為平面上兩個點的距離,當表示相似度時,可採用下式轉換:

距離越小,相似度越大。

一般表示兩個定距變數間聯系的緊密程度,取值范圍為[-1,1]

其中 是 和 的樣品標准差

將用戶行為數據按照均勻分布隨機劃分為M份,挑選一份作為測試集,將剩下的M-1份作為訓練集。為防止評測指標不是過擬合的結果,共進行M次實驗,每次都使用不同的測試集。然後將M次實驗測出的評測指標的平均值作為最終的評測指標。

對用戶u推薦N個物品(記為 ),令用戶u在測試集上喜歡的物品集合為 ,召回率描述有多少比例的用戶-物品評分記錄包含在最終的推薦列表中。

准確率描述最終的推薦列表中有多少比例是發生過的用戶-物品評分記錄。

覆蓋率反映了推薦演算法發掘長尾的能力,覆蓋率越高,說明推薦演算法越能夠將長尾中的物品推薦給用戶。分子部分表示實驗中所有被推薦給用戶的物品數目(集合去重),分母表示數據集中所有物品的數目。

採用GroupLens提供的MovieLens數據集, http://www.grouplens.org/node/73 。本章使用中等大小的數據集,包含6000多用戶對4000多部電影的100萬條評分。該數據集是一個評分數據集,用戶可以給電影評1-5分5個不同的等級。本文著重研究隱反饋數據集中TopN推薦問題,因此忽略了數據集中的評分記錄。

該部分定義了所需要的主要變數,集合採用字典形式的數據結構。

讀取原始CSV文件,並劃分訓練集和測試集,訓練集佔比87.5%,同時建立訓練集和測試集的用戶字典,記錄每個用戶對電影評分的字典。

第一步循環讀取每個用戶及其看過的電影,並統計每部電影被看過的次數,以及電影總數;第二步計算矩陣C,C[i][j]表示同時喜歡電影i和j的用戶數,並考慮對活躍用戶的懲罰;第三步根據式\ref{similarity}計算電影間的相似性;第四步進行歸一化處理。

針對目標用戶U,找到K部相似的電影,並推薦其N部電影,如果用戶已經看過該電影則不推薦。

產生推薦並通過准確率、召回率和覆蓋率進行評估。

結果如下所示,由於數據量較大,相似度矩陣為 維,計算速度較慢,耐心等待即可。

[1]. https://blog.csdn.net/m0_37917271/article/details/82656158
[2]. 推薦系統與深度學習. 黃昕等. 清華大學出版社. 2019.
[3]. 推薦系統演算法實踐. 黃美靈. 電子工業出版社. 2019.
[4]. 推薦系統演算法. 項亮. 人民郵電出版社. 2012.
[5]. 美團機器學習實踐. 美團演算法團隊. 人民郵電出版社. 2018.

『肆』 協同過濾演算法有哪些 slope

協同過濾演算法是這一領域的主流。作為基於內容的演算法執行方式內,協同過濾在准確性上具容有相當的優勢,但無法冷啟動、同質化和運算效率低使其依然存在很多不足。
協同過濾演算法的名稱來源於化學上的過濾操作。
原理
利用物質的溶解性差異,將液體和不溶於液體的固體分離開來的一種方法。如用過濾法除去粗食鹽中少量的泥沙

過濾實驗儀器
漏斗、燒杯、玻璃棒、鐵架台(含鐵圈)、濾紙。

過濾操作要領
要做到「一貼、二低、三靠」。
一貼
即使濾紙潤濕,緊貼漏斗內壁,中間不要留下氣泡。(防止氣泡減慢過濾速度。)
二低
1.濾紙邊緣略低於漏斗邊緣。
2.液面低於濾紙邊緣。(防止液體過濾不凈。)
三靠
1.傾倒時燒杯杯口要緊靠玻璃棒上。
2.玻璃棒下端抵靠在三層濾紙處。
3.漏斗下端長的那側管口緊靠燒杯內壁。

過濾注意事項
1.燒杯中的混合物在過濾前應用玻璃棒攪拌,然後進行過濾。
2.過濾後若溶液還顯渾濁,應再過濾一次,直到溶液變得透明為止。
3.過濾器中的沉澱的洗滌方法:用燒瓶或滴管向過濾器中加蒸餾水,使水面蓋沒沉澱物,待溶液全部濾出後,重復2~3次。
希望我能幫助你解疑釋惑。

『伍』 基於物品的協同過濾

參考書本: 項亮, 推薦系統實踐. 2012
本文系閱讀筆記

1.網站用戶基數增多,矩陣難以構造,時空復雜度增加。

2.難以對推薦結果做出解釋。

該演算法會因為你購買過《數據挖掘導論》而給你推薦《機器學習》。不過, ItemCF 演算法並不利用物品的內容屬性計算物品之間的相似度,它主要通過分析用戶的行為記錄計算物品之間的相似度。 該演算法認為,物品 A 和物品 B 具有很大的相似度是因為喜歡物品 A 的用戶大都也喜歡物品B

基於物品的協同過濾演算法可以利用用戶的歷史行為給推薦結果提供推薦解釋,比如給用戶推薦《天龍八部》的解釋可以是因為用戶之前喜歡《射鵰英雄傳》。

基於物品的協同過濾演算法主要分為兩步。
(1) 計算物品之間的相似度。
(2) 根據物品的相似度和用戶的歷史行為給用戶生成推薦列表。

具體公式(ij直接的相似度):

N(i)表示喜歡物品i的用戶數。

但是如果物品j很熱門,幾乎每個人都喜歡,則關系度會接近於1。(如可能很多人都會買《新華字典》或《哈利波特》)

為了避免推薦熱門物品,則有公式:

這個公式懲罰了物品j的權重,減輕了熱門物品會和很多物品相似的可能性。
盡管上面的公式分母已經考慮到了 j 的流行度,但在實際應用中,熱門的 j 仍然會獲得比較大的相似度。因此可在分母上進行懲罰。

但不能完全解決,兩個不同領域的最熱門物品之間往往具有比較高的相似度。這個時候,僅僅靠用戶行為數據是不能解決這個問題的,因為用戶的行為表示這種物品之間應該相似度很高。此時,我們只能依靠引入物品的內容數據解決這個問題,比如對不同領域的物品降低權重等。這些就不是協同過濾討論的范疇了。

可以首先建立用戶-物品倒排表,即每一個用戶建立一個包含他喜歡的物品的列表。

比如電影,一般來說,同系列的電影、同主角的電影、同風格的電影、同國家和地區的電影會有比較大的相似度。

在得到物品之間相似度後,itemCF運用以下公式計算用戶u對一個物品j的興趣:

S(j,K) 與物品j最相似的K個物品的集合

為物品相似度。 即用戶u對物品i的興趣程度,這里可看做有過行為為1。

對既屬於用戶喜歡的物品,又在與j物品相似的物品集合內的每一個物品,得到權重相加和(即相似度乘感興趣程度)。

 精度(准確率和召回率) 可以看到 ItemCF 推薦結果的精度也是不和 K 成正相關或者負相關的,因此選擇合適的 K 對獲得最高精度是非常重要的。
 流行度 和 UserCF 不同,參數 K 對 ItemCF 推薦結果流行度的影響也不是完全正相關的。
隨著 K 的增加(流行物品相對增多),結果流行度會逐漸提高,但當 K 增加到一定程度,流行度就不會再有明顯變化。
 覆蓋率 K 增加會降低系統的覆蓋率(流行率增加)。

A.

假設有這么一個用戶,他是開書店的,並且買了當當網上 80% 的書准備用來自己賣。那麼,他的購物車里包含當當網 80% 的書。假設當當網有 100 萬本書,也就是說他買了 80 萬本。從前面對 ItemCF 的討論可以看到,這意味著因為存在這么一個用戶,有 80 萬本書兩兩之間就產生了相似度,也就是說,內存里即將誕生一個 80 萬乘 80 萬的稠密矩陣。

John S. Breese 在論文中提出了一個稱為 IUF ( Inverse User Frequence ),即用戶活躍度對數的倒數的參數,他也認為活躍用戶對物品相似度的貢獻應該小於不活躍的用戶,他提出應該增加 IUF參數來修正物品相似度的計算公式:ItemCF-IUF演算法

同ItemCF相比,降低了流行度,提高了推薦結果的覆蓋率。

B.

物品相似度歸一化。

Karypis 在研究中發現如果將 ItemCF 的相似度矩陣按最大值歸一化,可以提高推薦的准確率。
其研究表明,如果已經得到了物品相似度矩陣 w ,那麼可以用如下公式得到歸一化之後的相似度矩陣 w' :

相似度的歸一化可以提高推薦的多樣性。[解釋看原書]

『陸』 基於用戶的協同過濾演算法怎麼計算

協同過濾(Collaborative Filtering)的基本概念野宴就是把這種推薦方式變成自動化的流程

協同過濾此返主要是以屬性或興趣相近的用戶經驗與建議作為提供個性化推薦的基礎。透過協同過濾,有助於搜集具有類似偏好或屬性的用戶,並將其意見提供給同一集群中的用戶作為參考,以滿足人們通常在決策之前參考他人意見的心態。

本人認為,協同過濾技術應包括如下幾方面:(1)一種比對和搜集每個用頌扒銀戶興趣偏好的過程;(2)它需要許多用戶的信息去預測個人的興趣偏好;(3)通過對用戶之間興趣偏好相關程度的統計去發展建議那些有相同興趣偏好的用戶。

『柒』 個性化推薦演算法——協同過濾

有三種:協同過濾
用戶歷史行為
物品相似矩陣

『捌』 協同過濾演算法

用戶行為數據在網站上最簡單的存在形式就是日誌,比如用戶在電子商務網站中的網頁瀏覽、購買、點擊、評分和評論等活動。 用戶行為在個性化推薦系統中一般分兩種——顯性反饋行為(explicit feedback)和隱性反饋 行為(implicit feedback)。顯性反饋行為包括用戶明確表示對物品喜好的行為。網站中收集顯性反饋的主要方式就是評分和喜歡/不喜歡。隱性反饋行為指的是那些不能明確反應用戶喜好 的行為。最具代表性的隱性反饋行為就是頁面瀏覽行為。 按照反饋的明確性分,用戶行為數據可以分為顯性反饋和隱性反饋,但按照反饋的方向分, 又可以分為正反饋和負反饋。正反饋指用戶的行為傾向於指用戶喜歡該物品,而負反饋指用戶的 行為傾向於指用戶不喜歡該物品。在顯性反饋中,很容易區分一個用戶行為是正反饋還是負反饋, 而在隱性反饋行為中,就相對比較難以確定。

在利用用戶行為數據設計推薦演算法之前,研究人員首先需要對用戶行為數據進行分析,了解 數據中蘊含的一般規律,這樣才能對演算法的設計起到指導作用。

(1) 用戶活躍度和物品流行度

(2) 用戶活躍度和物品流行度的關系

一般認為,新用戶傾向於瀏覽熱門的物品,因為他 們對網站還不熟悉,只能點擊首頁的熱門物品,而老用戶會逐漸開始瀏覽冷門的物品。如果用橫坐標表示用戶活躍度,縱坐標表示具有某個活躍度的所有用戶評過分的物品的平均流行度。圖中曲線呈明顯下 降的趨勢,這表明用戶越活躍,越傾向於瀏覽冷門的物品。

僅僅基於用戶行為數據設計的推薦演算法一般稱為協同過濾演算法。學術界對協同過濾演算法進行了深入研究,提出了很多方法,比如基於鄰域的方法(neighborhood-based)、隱語義模型 (latent factor model)、基於圖的隨機遊走演算法(random walk on graph)等。在這些方法中, 最著名的、在業界得到最廣泛應用的演算法是基於鄰域的方法,而基於鄰域的方法主要包含下面兩種演算法。

基於用戶的協同過濾演算法 :這種演算法給用戶推薦和他興趣相似的其他用戶喜歡的物品

基於物品的協同過濾演算法: 這種演算法給用戶推薦和他之前喜歡的物品相似的物品

基於鄰域的演算法是推薦系統中最基本的演算法,該演算法不僅在學術界得到了深入研究,而且在 業界得到了廣泛應用。基於鄰域的演算法分為兩大類,一類是基於用戶的協同過濾演算法,另一類是 基於物品的協同過濾演算法。現在我們所說的協同過濾,基本上就就是指基於用戶或者是基於物品的協同過濾演算法,因此,我們可以說基於鄰域的演算法即是我們常說的協同過濾演算法

(1) 基於用戶的協同過濾演算法(UserCF)

基於用戶的協同過濾演算法的基本思想是:在一個在線個性化推薦系統中,當一個用戶A需要個性化推薦 時,可以先找到和他有相似興趣的其他用戶,然後把那些用戶喜歡的、而用戶A沒有聽說過的物品推薦給A。

Ø 從上面的描述中可以看到,基於用戶的協同過濾演算法主要包括兩個步驟。 第一步:找到和目標用戶興趣相似的用戶集合。 第二步: 找到這個集合中的用戶喜歡的,且目標用戶沒有聽說過的物品推薦給目標用戶。

這里,步驟1的關鍵是計算兩個用戶的興趣相似度,協同過濾演算法主要利用行為的相似度計算興趣的相似度。給定用戶u和用戶v,令N(u)表示用戶u曾經有過正反饋的物品集合,令N(v) 為用戶v曾經有過正反饋的物品集合。那麼我們可以通過以下方法計算用戶的相似度:

基於餘弦相似度

(2) 基於物品的協同過濾演算法(itemCF)
與UserCF同理
(3) UserCF和itemCF的比

首先我們提出一個問題,為什麼新聞網站一般使用UserCF,而圖書、電商網站一般使用ItemCF呢? 首先回顧一下UserCF演算法和ItemCF演算法的推薦原理。UserCF給用戶推薦那些和他有共同興 趣愛好的用戶喜歡的物品,而ItemCF給用戶推薦那些和他之前喜歡的物品類似的物品。從這個算 法的原理可以看到,UserCF的推薦結果著重於反映和用戶興趣相似的小群體的熱點,而ItemCF 的推薦結果著重於維系用戶的歷史興趣。換句話說,UserCF的推薦更社會化,反映了用戶所在的小型興趣群體中物品的熱門程度,而ItemCF的推薦更加個性化,反映了用戶自己的興趣傳承。 在新聞網站中,用戶的興趣不是特別細化,絕大多數用戶都喜歡看熱門的新聞。個性化新聞推薦更加強調抓住 新聞熱點,熱門程度和時效性是個性化新聞推薦的重點,而個性化相對於這兩點略顯次要。因 此,UserCF可以給用戶推薦和他有相似愛好的一群其他用戶今天都在看的新聞,這樣在抓住熱 點和時效性的同時,保證了一定程度的個性化。同時,在新聞網站中,物品的更新速度遠遠快於新用戶的加入速度,而且 對於新用戶,完全可以給他推薦最熱門的新聞,因此UserCF顯然是利大於弊。

但是,在圖書、電子商務和電影網站,比如亞馬遜、豆瓣、Netflix中,ItemCF則能極大地發 揮優勢。首先,在這些網站中,用戶的興趣是比較固定和持久的。一個技術人員可能都是在購買 技術方面的書,而且他們對書的熱門程度並不是那麼敏感,事實上越是資深的技術人員,他們看 的書就越可能不熱門。此外,這些系統中的用戶大都不太需要流行度來輔助他們判斷一個物品的 好壞,而是可以通過自己熟悉領域的知識自己判斷物品的質量。因此,這些網站中個性化推薦的 任務是幫助用戶發現和他研究領域相關的物品。因此,ItemCF演算法成為了這些網站的首選演算法。 此外,這些網站的物品更新速度不會特別快,一天一次更新物品相似度矩陣對它們來說不會造成 太大的損失,是可以接受的。同時,從技術上考慮,UserCF需要維護一個用戶相似度的矩陣,而ItemCF需要維護一個物品 相似度矩陣。從存儲的角度說,如果用戶很多,那麼維護用戶興趣相似度矩陣需要很大的空間, 同理,如果物品很多,那麼維護物品相似度矩陣代價較大

下表是對二者的一個全面的表較:

『玖』 協同過濾

協同過濾(Collaborative Filtering,CF)——經典/老牌
只用戶行為數據得到。對於 個用戶, 個物品,則有共現矩陣 :
對於有正負反饋的情況,如「贊」是1和「踩」是-1,無操作是0:

對於只有顯示反饋,如點擊是1,無操作是0:

演算法步驟:
1)得到共現矩陣 ;
2)計算 任意兩行 用戶相似度,得到用戶相似度矩陣 ;
3)針對某個用戶 選出與其最相似的 個用戶, 是超參數;——召回階段
4)基於這 個用戶,計算 對每個物品的得分;
5)按照用戶 的物品得分進行排序,過濾已推薦的物品,推薦剩下得分最高的 個。——排序階段

第2步中,怎麼計算用戶相似度?——使用共現矩陣的行
以餘弦相似度為標准,計算 和 之間的相似度:


第4步中,怎麼每個用戶對每個物品的得分?
假如和用戶 最相似的2個為 和 :


對物品 的評分為1,用戶 對物品 的評分也為1,那麼用戶 對 的評分為:

也就是說:利用用戶相似度對用戶評分進行加權平均:

其中, 為用戶 和用戶 之間的相似度, 為用戶 和物品 之間的相似度。

UserCF的缺點
1、現實中用戶數遠遠大於物品數,所以維護用戶相似度矩陣代價很大;
2、共現矩陣是很稀疏的,那麼計算計算用戶相似度的准確度很低。

演算法步驟:
1)得到共現矩陣 ;
2)計算 任意兩列 物品相似度,得到物品相似度矩陣 ;
3)對於有正負反饋的,獲得用戶 正反饋的物品;
4)找出用戶 正反饋的物品最相似的 個物品,組成相似物品集合;——召回階段
5)利用相似度分值對相似物品集合進行排序,生產推薦列表。——排序階段
最簡單情況下一個物品(用戶未接觸的)只出現在另一個物品(用戶已反饋的)的最相似集合中,那麼每個用戶對每個物品的得分就是相似度。如果一個物品和多個物品最相似怎麼辦?
如用戶正反饋的是 和 ,對於物品 其最相似的是 ,相似度為0.7,對於物品 其最相似的也是 ,相似度為0.6,那麼 相似度為:

也就是說:如果一個物品出現在多個物品的 個最相似的物品集合中,那麼該物品的相似度為多個相似度乘以對應評分的累加。

其中, 是物品p與物品h的相似度, 是用戶u對物品p的評分。

第2步中,怎麼計算物品相似度?——使用共現矩陣的列
以餘弦相似度為標准,計算 和 之間的相似度:


餘弦相似度
皮爾遜相關系數
基於皮爾遜相關系數的改進

UserCF適用於用戶興趣比較分散變換較快的場景,如新聞推薦。
IteamCF適用於用戶情趣不叫穩定的場景,如電商推薦。

優點:直觀,可解釋性強。
缺點:

『拾』 推薦演算法之模型協同過濾(1)-關聯規則

關聯規則是數據挖掘中的典型問題之一,又被稱為購物籃分析,這是因為傳統的關聯規則案例大多發生在超市中,例如所謂的啤酒與尿布傳說。事實上,「購物籃」這個詞也揭示了關聯規則挖掘的一個重要特點:以交易記錄為研究對象,每一個購物籃(transaction)就是一條記錄。關聯規則希望挖掘的規則就是:哪些商品會經常在同一個購物籃中出現,其中有沒有因果關系。為了描述這種「經常性」及「因果關系」,分析者定義了幾個指標,基於這些指標來篩選關聯規則,從而得到那些不平凡的規律。

(1)計算支持度
支持度計數:一個項集出現在幾個事務當中,它的支持度計數就是幾。例如{Diaper, Beer}出現在事務 002、003和004中,所以它的支持度計數是3
支持度:支持度計數除於總的事務數。例如上例中總的事務數為4,{Diaper, Beer}的支持度計數為3,所以它的支持度是3÷4=75%,說明有75%的人同時買了Diaper和Beer。

(2)計算置信度
置信度:對於規則{Diaper}→{Beer},{Diaper, Beer}的支持度計數除於{Diaper}的支持度計數,為這個規則的置信度。例如規則{Diaper}→{Beer}的置信度為3÷3=100%。說明買了Diaper的人100%也買了Beer。

一般地,關聯規則被劃分為動態推薦,而協同過濾則更多地被視為靜態推薦。
所謂動態推薦,就是推薦的基礎是且只是當前一次(最近一次)的購買或者點擊。譬如用戶在網站上看了一個啤酒,系統就找到與這個啤酒相關的關聯規則,然後根據這個規則向用戶進行推薦。而靜態推薦則是在對用戶進行了一定分析的基礎上,建立了這個用戶在一定時期內的偏好排序,然後在這段時期內持續地按照這個排序來進行推薦。由此可見,關聯規則與協同過濾的策略思路是完全不同的類型。
事實上,即便在當下很多能夠拿到用戶ID的場景,使用動態的關聯規則推薦仍然是值得考慮的一種方法(尤其是我們經常把很多推薦方法的結果綜合起來做一個混合的推薦),因為這種方法的邏輯思路跟協同過濾有著本質的不同,問題似乎僅僅在於:個人的偏好到底有多穩定,推薦到底是要迎合用戶的長期偏好還是用戶的當下需求。

挖掘關聯規則主要有Apriori演算法和FP-Growth演算法。後者解決了前者由於頻繁的掃描數據集造成的效率低下缺點。以下按照Apriori演算法來講解。

step 1: 掃描數據集生成滿足最小支持度的頻繁項集。
step 2: 計算規則的置信度,返回滿足最小置信度的規則。

如下所示,當用戶購買1商品時推薦2、3商品

閱讀全文

與協同過濾演算法步驟相關的資料

熱點內容
樹脂和木結合的學名 瀏覽:53
生物鹼蒸餾 瀏覽:714
櫻慈凈水器怎麼拆卸圖解 瀏覽:605
檸檬酸廢水是什麼水 瀏覽:861
變頻器40hz轉矩提升 瀏覽:423
環氧塗料增韌樹脂 瀏覽:904
超濾膜的切割分子量 瀏覽:433
凈水軟水超濾反滲透 瀏覽:886
樹脂砂輪片尺寸 瀏覽:384
黑水凈化污水的方法 瀏覽:801
對生活污水處理廠的理解 瀏覽:713
污水沉降比例是多少 瀏覽:598
揚子吸塵器怎麼清濾芯 瀏覽:937
把烈酒蒸餾術帶到美國新大陸 瀏覽:71
超濾膜安裝方向圖解 瀏覽:352
天之藍凈水器價格多少 瀏覽:125
污水處理設計資質等級如何規定 瀏覽:731
水蒸氣蒸餾原理及適用體系 瀏覽:414
拖拉機液壓提升器套 瀏覽:382
福建電鍍廢水如何處置 瀏覽:337