推薦系統之冷啓動問題

轉自http://blog.csdn.net/zhangjunjie789/article/details/51379127算法

如何在沒有大量用戶數據的狀況下設計個性化推薦系統而且讓用戶對推薦結果滿意從而願意使用推薦系統,就是冷啓動問題。網絡

冷啓動問題主要分爲三類: 
(1) 用戶冷啓動:如何給新用戶作個性化推薦的問題,新用戶剛使用網站的時候,系統並無他的行爲數據; 
(2) 物品冷啓動:解決如何將新的物品推薦給可能對它感興趣的用戶; 
(3) 系統冷啓動:如何在新開發網站設計個性化推薦系統,此時網站上用戶不多,用戶行爲也少,只有一些商品的信息。
數據結構

冷啓動的主要解決方案: 
(1) 提供非個性化推薦:如熱門排行榜推薦,等到用戶數據收集到必定程度時,切換到個性化推薦; 
   用戶的註冊信息分爲3種: 
  1)人口統計學信息:年齡、性別、職業、民族、學歷和居住地等;典型表明是Bruce Krulwich開發的Lifestyle Finder 
  2)用戶興趣的描述:有些網站要求用戶填寫; 
  3)從其餘網站導入的用戶站外行爲數據。 
   有兩個推薦系統數據集包含了人口統計學信息:BookCrossing數據集和Lastfm數據集。 
   利用的用戶人口統計學特徵越多,越能準確地預測用戶興趣。 
(2) 利用用戶註冊信息:如性別,年齡,作粗粒度的個性化; 
   基於註冊信息的個性化推薦流程: 
  1) 獲取用戶的註冊信息; 
  2) 根據用戶的註冊信息對用戶分類; 
  3) 給用戶推薦他所屬分類中用戶喜歡的物品。 
   基於用戶註冊信息的推薦算法其核心問題是計算每種特徵的用戶喜歡的物品。也就是說,對於每種特徵f,計算具備這種特徵的用戶對各個物品的喜愛程度 這裏寫圖片描述. 
   這裏寫圖片描述 能夠簡單定義爲物品i在具備f的特徵的用戶的熱門程度: 
   這裏寫圖片描述 
   其中, 這裏寫圖片描述是喜歡物品i的用戶集合, 這裏寫圖片描述是具備特徵f的用戶集合。 
   可是在這種定義下,熱門的物品會在各類特徵的用戶中都具備比較高的權重,給用戶推薦熱門物品並非推薦系統的主要任務,推薦系統應該幫助用戶發現他們不容易發現的物品。所以,咱們能夠把 這裏寫圖片描述定義爲喜歡物品i的用戶中具備特徵f的比例:
機器學習

   這裏分母中的 這裏寫圖片描述的目的是解決數據稀疏的問題。若是有一個用戶只被1個用戶喜歡過,而這個用戶恰好有特徵f,那麼p(f,i)=1.可是這種狀況並無統計意義。咱們爲分母加上一個比較大的數字,能夠避免對這樣的物品產生比較大的權重。 
(3) 利用用戶的社交網絡帳號登陸(須要用戶進行受權),導入用戶在社交網站上的好友信息,而後給用戶推薦其好友喜歡的物品; 
(4) 選擇合適的物品啓動用戶的興趣:要求用戶在登陸時對一些物品進行反饋,收集用戶對這些物品的興趣信息,而後給用戶推薦那些和這些物品類似的物品; 
   通常來講,可以用來啓動用戶興趣的物品須要具備如下特色: 
  1) 比較熱門:用戶須要知道這個物品是什麼東西,纔會作出準確地反饋; 
  2) 具備表明性和區分性; 
  3) 啓動物品集合須要有多樣性:由於用戶的興趣的可能性可能很是多。 
  Nadav Golbandi在論文中探討了一個基於決策樹算法的選擇啓動物品集合的系統。 
(5) 利用物品的內容信息:對於新加入的物品,能夠利用內容信息,將他們推薦給喜歡過和它們類似的物品的用戶; 
物品冷啓動對諸如新聞網站等時效性很強的網站的推薦很是重要,由於那些網站中時時刻刻都有新加入的物品,並且每一個物品必須可以在第一時間展示給用戶,不然通過一段時間後,物品的價值就大大下降了。 
UCF對物品冷啓動問題並不很是敏感。只要有一小部分人可以發現並喜歡新的物品,UCF就能將這些物品擴散到更多的用戶中。可是對於主要靠推薦列表獲取信息的用戶,解決第一推進力(即第一個用戶)的最簡單的方法是將新的物品隨機展現給用戶,也能夠考慮將新物品先投放給曾經喜歡過和它內容類似的其它物品的用戶。 
對於ICF來講,物品冷啓動就是一個比較嚴重的問題了,由於ICF的原理是給用戶推薦與他以前喜歡的物品類似的物品。須要頻繁更新物品類似度表,因爲用戶行爲日誌很是龐大,經過行爲日誌是計算不出包含新物品的相關矩陣的,只有利用物品的內容信息計算物品相關表,而且頻繁地更新相關表。 
通常來講,物品的內容能夠經過內容向量空間模型表示,該模型會將物品表示成一個關鍵詞向量。 
對於物品d,它的內容表示成一個關鍵詞向量以下: 
這裏寫圖片描述 
其中, 這裏寫圖片描述是關鍵詞, 這裏寫圖片描述是關鍵詞對應的權重,若是物品是文本,咱們能夠用信息檢索領域著名的TF-IDF公式計算詞的權重: 
這裏寫圖片描述 
若是物品是電影,咱們能夠根據演員在劇中的重要程度賦予他們權重。 
向量空間模型的優勢是簡單,缺點是丟失了一些信息,好比關鍵詞之間的關係信息。 
在給定物品內容的關鍵詞向量後,物品的內容類似度能夠經過向量之間的餘弦類似度計算: 
這裏寫圖片描述 
可是這種算法的時間複雜度很高,假設有N個物品,每一個物品平均有m個實體表示,那麼這個算法的複雜度是 這裏寫圖片描述,咱們能夠首先創建關鍵詞-物品的倒排表加速這一計算過程。 
內容過濾算法ContentItemKNN忽視用戶行爲,物品的流行度以及用戶行爲中所包含的規律,因此在一些數據集上它的精度較低,可是新穎度卻比較高。 
所數據集中有比較強的內容特徵,算法的各項指標會比較好。 
向量空間模型在內容數據豐富時能夠得到比較好的效果。 
表明性的話題模型有LDA。話題模型的基本思想是,一我的在寫一篇文檔的時候,會首先想這篇文章要討論哪些話題,而後思考這些話題應該用什麼詞描述,從而用詞寫一篇文章。所以,文章和詞之間是經過話題聯繫的。LDA有三種元素:文檔、話題和詞語,每一篇文檔都會表現爲詞的集合,這稱爲詞袋模型(bag of words)。每一個詞在一篇文章中屬於一個話題。令D爲文檔集合,D[i]是第i篇文檔。W[i][j]是第i篇文檔中的第j個詞。Z[i][j]是第i篇文檔中第j個詞屬於的話題。LDA的計算包括初始化和迭代兩部分。LDA能夠很好地將詞組組合成不一樣的話題。在使用LDA計算物品的內容類似度時間,咱們能夠先計算物品在話題上的分佈,而後利用話題的分佈計算物品的類似度。好比,兩個物品的話題分佈類似,咱們則認爲兩個物品具備較高的類似度,反之則認爲兩個物品的類似度較低。計算分佈的類似度能夠利用KL散度: 
這裏寫圖片描述 
其中,p和q是兩個分佈,KL散度越大說明分佈的類似性越低。 
6) 發揮專家的做用:在系統冷啓動時,能夠引入專家的知識,經過必定的高效方式迅速創建起物品的相關度表。 
表明系統是個性化網絡電臺Pandora和電影推薦網站Jinni。 
音樂之間的類似度是比較難計算的,技術門檻比較高,Pandora僱傭了一些懂計算機的音樂人進行了一項稱爲音樂基因的項目,他們使用了400維的向量。 
Jinni經過專家系統和機器學習相結合的方法進行電影基因工程以解決系統冷啓動問題。
學習

相關文章
相關標籤/搜索