[推薦系統]推薦系統概述

前述

推薦系統本質上是銷售系統的一部分。算法

無論是在便利店,仍是超市,或者電商網站,本質上須要解決兩個問題:ruby

一、幫助用戶得到想要的商品網絡

           A、用戶知道本身想要什麼商品,在什麼位置  用戶主動的行爲架構

                     直接到貨架區域去挑選商品,直接詢問銷售員商品在哪裏dom

           B、用戶不知道本身想要什麼,好比:逛街興致。用戶被動的行爲機器學習

                     

二、幫助商家賣出更多的商品----商品的質量ide

           全部商家中同質同量的商品比較多,如何讓不一樣商家的利益獲得保證。性能

           在線下,哪一個廠家的商品好賣,我就多進點貨。在同等質量保證的而前提下,關係戶的貨物。學習

           在線上,因爲電商網站的利潤通常是抽取銷售額提成,只有更多的商家參與,才能作大市場和品牌。測試

1. 推薦系統是什麼

爲了解決信息過載和用戶無明確需求的問題,找到用戶感興趣的物品,纔有了個性化推薦系統。其實,解決信息過載的問題,表明性的解決方案是分類目錄和搜索引擎,如hao123,電商首頁的分類目錄以及百度,360搜索等。不過度類目錄和搜索引擎只能解決用戶主動查找信息的需求,即用戶知道本身想要什麼,並不能解決用戶沒用明確需求很隨便的問題。經典語錄是:你想吃什麼,隨便!面對這種很隨便又得罪不起的用戶(女朋友和上帝),只能經過分析用戶的歷史行爲給用戶的興趣建模,從而主動給用戶推薦可以知足他們興趣和需求的信息。好比問問女朋友的閨蜜,她通常何時喜歡吃什麼。

推薦系統普遍存在於各種網站中,做爲一個應用爲用戶提供個性化的推薦。它須要一些用戶的歷史數據,通常由三個部分組成:基礎數據、推薦算法系統、前臺展現。基礎數據包括不少維度,包括用戶的訪問、瀏覽、下單、收藏,用戶的歷史訂單信息,評價信息等不少信息;推薦算法系統主要是根據不一樣的推薦訴求由多個算法組成的推薦模型;前臺展現主要是對客戶端系統進行響應,返回相關的推薦信息以供展現。

基礎數據主要包括:

l 要推薦物品或內容的元數據,例如關鍵字,基因描述等;

l 系統用戶的基本信息,例如性別,年齡等

l 用戶對物品或者信息的偏好,根據應用自己的不一樣,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。

其實這些用戶的偏好信息能夠分爲兩類:

  • 顯式的用戶反饋:這類是用戶在網站上天然瀏覽或者使用網站之外,顯式的提供反饋信息,例如用戶對物品的評分,或者對物品的評論。
  • 隱式的用戶反饋:這類是用戶在使用網站是產生的數據,隱式的反應了用戶對物品的喜愛,例如用戶查看了某物品的信息等等。

顯式的用戶反饋能準確的反應用戶對物品的真實喜愛,但須要用戶付出額外的代價,而隱式的用戶行爲,經過一些分析和處理,也能反映用戶的喜愛,只是數 據不是很精確,有些行爲的分析存在較大的噪音。但只要選擇正確的行爲特徵,隱式的用戶反饋也能獲得很好的效果,只是行爲特徵的選擇可能在不一樣的應用中有很 大的不一樣,例如在電子商務的網站上,購買行爲其實就是一個能很好表現用戶喜愛的隱式反饋。

2. 推薦引擎的分類

推薦引擎的分類能夠根據不少指標進行區分:

l 根據目標用戶進行區分:根據這個指標能夠分爲基於大衆行爲的推薦引擎和個性化推薦引擎。

  • 根據大衆行爲的推薦引擎,對每一個用戶都給出一樣的推薦,這些推薦能夠是靜態的由系統管理員人工設定的,或者基於系統全部用戶的反饋統計計算出的當下比較流行的物品。
  • 個性化推薦引擎,對不一樣的用戶,根據他們的口味和喜愛給出更加精確的推薦,這時,系統須要瞭解需推薦內容和用戶的特質,或者基於社會化網絡,經過找到與當前用戶相同喜愛的用戶,實現推薦。

這是一個最基本的推薦引擎分類,其實大部分人們討論的推薦引擎都是將個性化的推薦引擎,由於從根本上說,只有個性化的推薦引擎纔是更加智能的信息發現過程。

l 根據數據源進行區分:主要是根據數據之間的相關性進行推薦,由於大部分推薦引擎的工做原理仍是基於物品或者用戶的類似集進行推薦。

  • 根據系統用戶的基本信息發現用戶的相關程度,這種被稱爲基於人口統計學的推薦(Demographic-based Recommendation)
  • 根據推薦物品或內容的元數據,發現物品或者內容的相關性,這種被稱爲基於內容的推薦(Content-based Recommendation)
  • 根據用戶對物品或者信息的偏好,發現物品或者內容自己的相關性,或者是發現用戶的相關性,這種被稱爲基於協同過濾的推薦(Collaborative Filtering-based Recommendation)。

l 根根據推薦模型進行區分:能夠想象在海量物品和用戶的系統中,推薦引擎的計算量是至關大的,要實現實時的推薦務必須要創建一個推薦模型,關於推薦模型的創建方式能夠分爲如下幾種:

  • 基於物品和用戶自己的,這種推薦引擎將每一個用戶和每一個物品都看成獨立的實體,預測每一個用戶對於每一個物品的喜愛程度,這些信息每每 是用一個二維矩陣描述的。因爲用戶感興趣的物品遠遠小於總物品的數目,這樣的模型致使大量的數據空置,即咱們獲得的二維矩陣每每是一個很大的稀疏矩陣。同 時爲了減少計算量,咱們能夠對物品和用戶進行聚類, 而後記錄和計算一類用戶對一類物品的喜愛程度,但這樣的模型又會在推薦的準確性上有損失。
  • 基於關聯規則的推薦(Rule-based Recommendation):關聯規則的挖掘已是數據挖掘中的一個經典的問題,主要是挖掘一些數據的依賴關係,典型的場景就是「購物籃問題」,經過關聯規則的挖掘,咱們能夠找到哪些物品常常被同時購買,或者用戶購買了一些物品後一般會購買哪些其餘的物品,當咱們挖掘出這些關聯規則以後,咱們能夠基於這些規則給用戶進行推薦。
  • 基於模型的推薦(Model-based Recommendation):這是一個典型的機器學習的問題,能夠將已有的用戶喜愛信息做爲訓練樣本,訓練出一個預測用戶喜愛的模型,這樣之後用戶在 進入系統,能夠基於此模型計算推薦。這種方法的問題在於如何將用戶實時或者近期的喜愛信息反饋給訓練好的模型,從而提升推薦的準確度。

其實在如今的推薦系統中,不多有隻使用了一個推薦策略的推薦引擎,通常都是在不一樣的場景下使用不一樣的推薦策略從而達到最好的推薦效果,例如 Amazon 的推薦,它將基於用戶自己歷史購買數據的推薦,和基於用戶當前瀏覽的物品的推薦,以及基於大衆喜愛的當下比較流行的物品都在不一樣的區域推薦給用戶,讓用戶 能夠從全方位的推薦中找到本身真正感興趣的物品。

3. 常見推薦算法

迄今爲止,在個性化推薦系統中,協同過濾技術是應用最成功的技術。目前國內外有許多大型網站應用這項技術爲用戶更加智能的推薦內容。

3.1 基於用戶的協同過濾算法

第一代協同過濾技術是基於用戶的協同過濾算法,基於用戶的協同過濾算法在推薦系統中得到了極大的成功,但它有自身的侷限性。由於基於用戶的協同過濾算法先計算的是用戶與用戶的類似度(興趣相投,人以羣分物以類聚),而後將類似度比較接近的用戶A購買的物品推薦給用戶B,專業的說法是該算法用最近鄰居(nearest-neighbor)算法找出一個用戶的鄰居集合,該集合的用戶和該用戶有類似的喜愛,算法根據鄰居的偏好對該用戶進行預測。

基於用戶的推薦邏輯有兩個問題:冷啓動與計算量巨大。基於用戶的算法只有已經被用戶選擇(購買)的物品纔有機會推薦給其餘用戶。在大型電商網站上來說,商品的數量實在是太多了,沒有被至關數量的用戶購買的物品實在是太多了,直接致使沒有機會推薦給用戶了,這個問題被稱之爲協同過濾的「冷啓動」。另外,由於計算用戶的類似度是經過目標用戶的歷史行爲記錄與其餘每個用戶的記錄相比較的出來的,對於一個擁有千萬級活躍用戶的電商網站來講,每計算一個用戶都涉及到了上億級別的計算,雖然咱們能夠先經過聚類算法經用戶先分羣,可是計算量也是足夠的大。

3.2 基於物品的協同過濾算法

第二代協同過濾技術是基於物品的協同過濾算法,基於物品的協同過濾算法與基於用戶的協同過濾算法基本相似。他使用全部用戶對物品或者信息的偏好,發現物品和物品之間的類似度,而後根據用戶的歷史偏好信息,將相似的物品推薦給用戶。這聽起來比較拗口,簡單的說就是幾件商品同時被人購買了,就能夠認爲這幾件商品是類似的,可能這幾件商品的商品名稱風馬牛不相及,產品屬性有天壤之別,但經過模型算出來以後就是認爲他們是類似的。什麼?你以爲難以想象,沒法理解。是的,就是這麼神奇

舉個例子:假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 A,物品 B 和物品 C,用戶 C 喜歡物品 A,從這些用戶的歷史喜愛能夠分析出物品 A 和物品 C 時比較相似的,喜歡物品 A 的人都喜歡物品 C,基於這個數據能夠推斷用戶 C 頗有可能也喜歡物品 C,因此係統會將物品 C 推薦給用戶 C。

其實基於項目的協同過濾推薦機制是 Amazon 在基於用戶的機制上改良的一種策略,由於在大部分的 Web 站點中,物品的個數是遠遠小於用戶的數量的,並且物品的個數和類似度相對比較穩定,同時基於項目的機制比基於用戶的實時性更好一些。但也不是全部的場景都 是這樣的狀況,能夠設想一下在一些新聞推薦系統中,也許物品,也就是新聞的個數可能大於用戶的個數,並且新聞的更新程度也有很快,因此它的形似度依然不穩 定。因此,其實能夠看出,推薦策略的選擇其實和具體的應用場景有很大的關係。 

3.3 基於人口統計學的推薦

基於人口統計學的推薦機制(Demographic-based Recommendation)是一種最易於實現的推薦方法,它只是簡單的根據系統用戶的基本信息發現用戶的相關程度,而後將類似用戶喜好的其餘物品推薦給當前用戶。基於人口統計學的推薦機制的好處在於:由於不使用當前用戶對物品的喜愛歷史數據,因此對於新用戶來說沒有「冷啓動(Cold Start)」的問題。這個方法不依賴於物品自己的數據,因此這個方法在不一樣物品的領域均可以使用,它是領域獨立的(domain-independent)。

3.4 基於內容的推薦

基於內容的推薦是在推薦引擎出現之初應用最爲普遍的推薦機制,它的核心思想是根據推薦物品或內容的元數據,發現物品或者內容的相關性,而後基於用戶以往的喜愛記錄,推薦給用戶類似的物品。基於內容的推薦機制的好處在於它能很好的建模用戶的口味,能提供更加精確的推薦。

但它也存在如下幾個問題: 

  • 須要對物品進行分析和建模,推薦的質量依賴於對物品模型的完整和全面程度。在如今的應用中咱們能夠觀察到關鍵詞和標籤(Tag)被認爲是描述物品元數據的一種簡單有效的方法;
  • 物品類似度的分析僅僅依賴於物品自己的特徵,這裏沒有考慮人對物品的態度;
  • 由於須要基於用戶以往的喜愛歷史作出推薦,因此對於新用戶有「冷啓動」的問題。

雖然這個方法有不少不足和問題,但他仍是成功的應用在一些電影,音樂,圖書的社交站點,有些站點還請專業的人員對物品進行基因編碼,好比潘多拉,在一份報告中說道,在潘多拉的推薦引擎中,每首歌有超過 100 個元數據特徵,包括歌曲的風格,年份,演唱者等等。

3.5 如何解決冷啓動問題

1.提供非個性化的推薦,好比熱門排行版。

2.基於人口統計學信息,或者讓用戶本身選擇興趣標籤。

3.從其餘網站導入用戶的站外數據,好比用社交帳號登陸。

參考:https://blog.csdn.net/misterbobo/article/details/79435095

 

Item CF和基於內容的推薦的區別,能夠詳見http://www.javashuo.com/article/p-feqqtbkv-he.html

https://www.zhihu.com/question/19971859

4. 混合推薦機制

在現行的 Web 站點上的推薦每每都不是單純只採用了某一種推薦的機制和策略,他們每每是將多個方法混合在一塊兒,從而達到更好的推薦效果。關於如何組合各個推薦機制,這裏講幾種比較流行的組合方法。

l 加權的混合(Weighted Hybridization): 用線性公式(linear formula)將幾種不一樣的推薦按照必定權重組合起來,具體權重的值須要在測試數據集上反覆實驗,從而達到最好的推薦效果。

l 切換的混合(Switching Hybridization):前面也講到,其實對於不一樣的狀況(數據量,系統運行情況,用戶和物品的數目等),推薦策略可能有很大的不一樣,那麼切換的混合方式,就是容許在不一樣的狀況下,選擇最爲合適的推薦機制計算推薦。

l 分區的混合(Mixed Hybridization):採用多種推薦機制,並將不一樣的推薦結果分不一樣的區顯示給用戶。其實,Amazon,噹噹網等不少電子商務網站都是採用這樣的方式,用戶能夠獲得很全面的推薦,也更容易找到他們想要的東西。

l 分層的混合(Meta-Level Hybridization): 採用多種推薦機制,並將一個推薦機制的結果做爲另外一個的輸入,從而綜合各個推薦機制的優缺點,獲得更加準確的推薦。

5. 推薦系統應用場景

Amazon 利用能夠記錄的全部用戶在站點上的行爲,根據不一樣數據的特色對它們進行處理,並分紅不一樣區爲用戶推送推薦:

  • 今日推薦 (Today's Recommendation For You): 一般是根據用戶的近期的歷史購買或者查看記錄,並結合時下流行的物品給出一個折中的推薦。
  • 新產品的推薦 (New For You): 採用了基於內容的推薦機制 (Content-based Recommendation),將一些新到物品推薦給用戶。在方法選擇上因爲新物品沒有大量的用戶喜愛信息,因此基於內容的推薦能很好的解決這個「冷啓動」的問題。
  • 捆綁銷售 (Frequently Bought Together): 採用數據挖掘技術對用戶的購買行爲進行分析,找到常常被一塊兒或同一我的購買的物品集,進行捆綁銷售,這是一種典型的基於項目的協同過濾推薦機制。

別人購買 / 瀏覽的商品 (Customers Who Bought/See This Item Also Bought/See): 這也是一個典型的基於項目的協同過濾推薦的應用,經過社會化機制用戶能更快更方便的找到本身感興趣的物品。

6. 推薦系統架構

6.1 京東推薦系統架構

6.2 淘寶推薦系統架構  

6.3 通用架構

7. 協同過濾的實現

7.1 收集用戶偏好及標準化處理

要從用戶的行爲和偏好中發現規律,並基於此給予推薦,如何收集用戶的偏好信息成爲系統推薦效果最基礎的決定因素。用戶有不少方式向系統提供本身的偏好信息,並且不一樣的應用也可能大不相同,下面舉例進行介紹:

A 1*0.5 +1*0.3+ 1*0.3+ 0.2*0.1+ 0.3*0.2 +1*1.0 = ?     

以上列舉的用戶行爲都是比較通用的,推薦引擎設計人員能夠根據本身應用的特色添加特殊的用戶行爲,並用他們表示用戶對物品的喜愛。在通常應用中,咱們提取的用戶行爲通常都多於一種,關於如何組合這些不一樣的用戶行爲,基本上有如下兩種方式:

  • 將不一樣的行爲分組:通常能夠分爲「查看」和「購買」等等,而後基於不一樣的行爲,計算不一樣的用戶 / 物品類似度。好比:「購買了該圖書的人還購買了 ...」,「查看了圖書的人還查看了 ...」
  • 根據不一樣行爲反映用戶喜愛的程度將它們進行加權,獲得用戶對於物品的整體喜愛。通常來講,顯式的用戶反饋比隱式的權值大,但比較稀疏,畢竟進行顯示反饋的用戶是少數;同時相對於「查看」,「購買」行爲反映用戶喜愛的程度更大,但這也因應用而異。

7.2 數據減噪和歸一化

收集了用戶行爲數據,咱們還須要對數據進行必定的預處理,其中最核心的工做就是:減噪和歸一化。

  • 減噪:用戶行爲數據是用戶在使用應用過程當中產生的,它可能存在大量的噪音和用戶的誤操做,咱們能夠經過經典的數據挖掘算法過濾掉行爲數據中的噪音,這樣能夠是咱們的分析更加精確。
  • 歸一化:如前面講到的,在計算用戶對物品的喜愛程度時,可能須要對不一樣的行爲數據進行加權。但能夠想象,不一樣行爲的數據取值可能相差很 大,好比,用戶的查看數據必然比購買數據大的多,如何將各個行爲的數據統一在一個相同的取值範圍中,從而使得加權求和獲得的整體喜愛更加精確,就須要咱們 進行歸一化處理。最簡單的歸一化處理,就是將各種數據除以此類中的最大值,以保證歸一化後的數據取值在 [0,1] 範圍中。

進行的預處理後,根據不一樣應用的行爲分析方法,能夠選擇分組或者加權處理,以後咱們能夠獲得一個用戶偏好的二維矩陣,一維是用戶列表,另外一維是物品列表,值是用戶對物品的偏好,通常是 [0,1] 或者 [-1, 1] 的浮點數值。

7.3 找到類似的用戶或物品

當已經對用戶行爲進行分析獲得用戶喜愛後,咱們能夠根據用戶喜愛計算類似用戶和物品,而後基於類似用戶或者物品進行推薦,這就是最典型的 CF 的兩個分支:基於用戶的 CF 和基於物品的 CF。這兩種方法都須要計算類似度。關於類似度的計算,現有的幾種基本方法都是基於向量(Vector)的,其實也就是計算兩個向量的距離,距離越近類似度越大。在推薦的場景中,在用 戶 - 物品偏好的二維矩陣中,咱們能夠將一個用戶對全部物品的偏好做爲一個向量來計算用戶之間的類似度,或者將全部用戶對某個物品的偏好做爲一個向量來計算物品之間的類似度。

類似度計算方法:

  • 歐幾里德距離(Euclidean Distance)
  • 皮爾遜相關係數(Pearson Correlation Coefficient)
  • Tanimoto 係數(Tanimoto Coefficient)

類似鄰居的計算:

  • 固定數量的鄰居:K-neighborhoods 或者 Fix-size neighborhoods
  • 基於類似度門檻的鄰居:Threshold-based neighborhoods

7.4 User CF和Item CF的對比

計算複雜度:

Item CF 和 User CF 是基於協同過濾推薦的兩個最基本的算法,User CF 是很早之前就提出來了,Item CF 是從 Amazon 的論文和專利發表以後(2001 年左右)開始流行,你們都以爲 Item CF 從性能和複雜度上比 User CF 更優,其中的一個主要緣由就是對於一個在線網站,用戶的數量每每大大超過物品的數量,同時物品的數據相對穩定,所以計算物品的類似度不但計算量較小,同時也沒必要頻繁更新。但咱們每每忽略了這種狀況只適應於提供商品的電子商務網站,對於新聞,博客或者微內容的推薦系統,狀況每每是相反的,物品的數量是海量 的,同時也是更新頻繁的,因此單從複雜度的角度,這兩個算法在不一樣的系統中各有優點,推薦引擎的設計者須要根據本身應用的特色選擇更加合適的算法。

適用場景:

在非社交網絡的網站中,內容內在的聯繫是很重要的推薦原則,它比基於類似用戶的推薦原則更加有效。好比在購書網站上,當你看一本書的時候,推薦引擎會給你推薦相關的書籍,這個推薦的重要性遠遠超過了網站首頁對該用戶的綜合推薦。能夠看到,在這種狀況下,Item CF 的推薦成爲了引導用戶瀏覽的重要手段。同時 Item CF 便於爲推薦作出解釋,在一個非社交網絡的網站中,給某個用戶推薦一本書,同時給出的解釋是某某和你有類似興趣的人也看了這本書,這很難讓用戶信服,由於用戶可能根本不認識那我的;但若是解釋說是由於這本書和你之前看的某本書類似,用戶可能就以爲合理而採納了此推薦。相反的,在現今很流行的社交網絡站點中,User CF 是一個更不錯的選擇,User CF 加上社會網絡信息,能夠增長用戶對推薦解釋的信服程度。

推薦多樣性和精度:

研究推薦引擎的學者們在相同的數據集合上分別用 User CF 和 Item CF 計算推薦結果,發現推薦列表中,只有 50% 是同樣的,還有 50% 徹底不一樣。可是這兩個算法確有類似的精度,因此能夠說,這兩個算法是很互補的。

關於推薦的多樣性,有兩種度量方法:

第一種度量方法是從單個用戶的角度度量,就是說給定一個用戶,查看系統給出的推薦列表是否多樣,也就是要比較推薦列表中的物品之間兩兩的類似度,不 難想到,對這種度量方法,Item CF 的多樣性顯然不如 User CF 的好,由於 Item CF 的推薦就是和之前看的東西最類似的。

第二種度量方法是考慮系統的多樣性,也被稱爲覆蓋率 (Coverage),它是指一個推薦系統是否可以提供給全部用戶豐富的選擇。在這種指標下,Item CF 的多樣性要遠遠好於 User CF, 由於 User CF 老是傾向於推薦熱門的,從另外一個側面看,也就是說,Item CF 的推薦有很好的新穎性,很擅長推薦長尾裏的物品。因此,儘管大多數狀況,Item CF 的精度略小於 User CF, 但若是考慮多樣性,Item CF 卻比 User CF 好不少。

若是你對推薦的多樣性還心存疑惑,那麼下面咱們再舉個實例看看 User CF 和 Item CF 的多樣性到底有什麼差異。

首先,假設每一個用戶興趣愛好都是普遍的,喜歡好幾個領域的東西,不過每一個用戶確定也有一個主要的領域,對這個領域會比其餘領域更加關心。

給定一個用戶,假設他喜歡 3 個領域 A,B,C,A 是他喜歡的主要領域,這個時候咱們來看 User CF 和 Item CF 傾向於作出什麼推薦:若是用 User CF, 它會將 A,B,C 三個領域中比較熱門的東西推薦給用戶;而若是用 ItemCF,它會基本上只推薦 A 領域的東西給用戶。因此咱們看到由於 User CF 只推薦熱門的,因此它在推薦長尾裏項目方面的能力不足;而 Item CF 只推薦 A 領域給用戶,這樣他有限的推薦列表中就可能包含了必定數量的不熱門的長尾物品,同時 Item CF 的推薦對這個用戶而言,顯然多樣性不足。可是對整個系統而言,由於不一樣的用戶的主要興趣點不一樣,因此係統的覆蓋率會比較好。

從上面的分析,能夠很清晰的看到,這兩種推薦都有其合理性,但都不是最好的選擇,所以他們的精度也會有損失。其實對這類系統的最好選擇是,若是系統 給這個用戶推薦 30 個物品,既不是每一個領域挑選 10 個最熱門的給他,也不是推薦 30 個 A 領域的給他,而是好比推薦 15 個 A 領域的給他,剩下的 15 個從 B,C 中選擇。因此結合 User CF 和 Item CF 是最優的選擇,結合的基本原則就是當採用 Item CF 致使系統對我的推薦的多樣性不足時,咱們經過加入 User CF 增長我的推薦的多樣性,從而提升精度,而當由於採用 User CF 而使系統的總體多樣性不足時,咱們能夠經過加入 Item CF 增長總體的多樣性,一樣一樣能夠提升推薦的精度。

用戶對推薦算法的適應度:

前面咱們大部分都是從推薦引擎的角度考慮哪一個算法更優,但其實咱們更多的應該考慮做爲推薦引擎的最終使用者 -- 應用用戶對推薦算法的適應度。

對於 User CF,推薦的原則是假設用戶會喜歡那些和他有相同喜愛的用戶喜歡的東西,但若是一個用戶沒有相同喜愛的朋友,那 User CF 的算法的效果就會不好,因此一個用戶對的 CF 算法的適應度是和他有多少共同喜愛用戶成正比的。

Item CF 算法也有一個基本假設,就是用戶會喜歡和他之前喜歡的東西類似的東西,那麼咱們能夠計算一個用戶喜歡的物品的自類似度。一個用戶喜歡物品的自類似度大,就 說明他喜歡的東西都是比較類似的,也就是說他比較符合 Item CF 方法的基本假設,那麼他對 Item CF 的適應度天然比較好;反之,若是自類似度小,就說明這個用戶的喜愛習慣並不知足 Item CF 方法的基本假設,那麼對於這種用戶,用 Item CF 方法作出好的推薦的可能性很是低。

相關文章
相關標籤/搜索