人郵《推薦系統》閱讀筆記

基本概念算法

推薦系統是解決信息過載的工具,根植於信息檢索和信息過濾。網絡

基於知識:函數

推薦系統一般會用到有關當前用戶和有效物品的額外信息,基於約束的推薦(分辨率、重量、價格),喜歡不喜歡,評分高低,價格高低。工具

哪一種領域知識可以表示成知識庫?學習

什麼機制可根據用戶的特色來選擇和排名物品?spa

如何在沒有購買記錄的領域獲取用戶信息?設計

如何處理用戶直接給出的偏好信息?3d

哪一種交互方式可以用於交互式推薦系統?orm

設計對話時,要考慮那些個性化因素才能確保準確得到用戶的偏好信息?對象

混合推薦:

哪一種方法能被組合,特定組合的前提是什麼?

兩個或多個推薦算法是應該順序計算,仍是採用其餘混合方式?

不一樣方法的結果如何賦以權重?

推薦系統的解釋

解釋其推薦結果提升用戶對系統的信任度?

推薦策略如何影響解釋推薦的方式?

可否經過解釋讓用戶相信推薦系統是公正的?

評估推薦系統:

如何衡量推薦系統所給出的建議的質量。

哪些研究設計適用於評估推薦系統?

如何利用歷史數據實驗評估推薦系統?

什麼衡量標準適合不一樣的評估目標?

現有評估技術的侷限是什麼?尤爲是在推薦系統的會話性或商業價值方面。

數據稀疏和冷啓動問題

主要思想:利用假定用戶品味的傳遞性,並由此加強額外信息矩陣。

直接作法是利用用戶的附加信息(年齡、性別、教育程度)

擴展激活的特殊圖搜索方法高效地分析由評分矩陣轉化爲用戶和物品的雙向圖。

缺省投票是處理稀疏評分數據的技術。給那些只有一兩個用戶評分的物品賦以缺省值,就像一種緩衝機制減小那些個別巧合因素對類似度的影響。

冷啓動問題是稀疏問題的一個特例:如何向沒給任何物品評分的新用戶推薦?如何處理從未被評過度或購買過的物品?均可以利用額外的外部信息解決。

1、協同過濾:用戶是在隱式地與其餘人相互協做。

用戶A和用戶B過去有着相同的偏好,那麼能夠用如今A的偏好預測將來B的偏好。

如何發現與要推薦的用戶有着類似偏好的用戶?

如何衡量類似度?

如何處理尚未購買經歷的新用戶?(年齡地區性別特徵?)

若是隻有不多的評分該怎麼辦?

 

基於用戶的最近鄰推薦:給定一個評分數據集合當前活躍用戶做爲輸入,找出和當前用戶過於有類似偏好的其餘用戶(對等用戶/最近鄰用戶)。對當前用戶沒有見過的物品p,利用其近鄰對p的評分計算預測值。

前提:若是用戶過去有類似的偏好,那麼他們將來也會有類似的偏好,用戶偏好不會隨時間而變化。

 

Pearson相關係數(強負相關-1~強正相關+1),Pearson方法考慮到了用戶評分標準不一樣的事實(有人愛打高分),但仍然能夠發現評分值之間至關明顯的線性相關性。用戶ab的類似度:sim(a,b)  2.1

用戶a對物品p的預測值:pred(a,p)。(2.3

最初概念(inverse document frequency)反文檔頻率。

Pearson不能解決,可是方差權重因子能夠解決高方差評分值的物品。

樣本擴展指強調那些接近+1-1的值,對原始數值乘以一個常量p來調整近鄰的權值。

 

下降近鄰集合規模的方法:爲用戶類似度定義一個具體的最小閾值,或者將規模大小限制爲一個固定值,並且只考慮k個最近鄰。(問題:類似度閾值太高,近鄰規模就會很小,則不少物品沒法預測;類似度閾值太高,近鄰規模就會很小)

基於物品的最近鄰推薦:很是適合作線下預處理,在評分矩陣很是大的狀況下也能作到實時計算推薦。

主要思想:利用物品間的類似度,而不是用戶間的類似度來計算預測值。

餘弦類似度度量:用兩個n維向量之間的夾角來測算類似度。(用於信息檢索和文本挖掘,比較兩份文檔)

sim(向量a,向量b) (2.5)

類似度值介於0~1,改進後像Pearson方法同樣,在評分值中減去平均值。則能夠在原始的評分數據集上用評分值相對於平均值的誤差取代原始值。

肯定了物品的類似度之後,pred(u,p) (2.9)

 

基於物品過濾的數據預處理

事先構建一個物品類似度矩陣,描述物品兩兩之間的類似度。

二次採樣:隨機選取數據的子集,或者忽略那些僅有很是少許評分或僅包含很是熱門物品的用戶記錄。

 

隱式和顯式評分

數據稀疏和冷啓動問題

 

 

協同推薦技術通常分爲兩類:基於記憶(傳統,原始評分保存在內存中,直接生成結果。)和基於模型(離線處理原始數據,運行時預計算或學習過的模型就能預測)

矩陣因子分解

奇異值分解(SVD)

語義分析(LSA)

潛在語義索引(LSI)

簡單的檢索方法沒法檢索同義詞,SVD將高度相關且一塊兒出現過的詞語做爲單獨因子,把一般很大的文檔向量矩陣拆解爲更小階的近似矩陣。

 

 

 

 

 

 

 

 

主成分分析(Eigentaste)主成分分析(PCA對評分數據預處理,過濾得出數據中最重要的方面,以解釋大多數變量。

討論。

 

關聯規則挖掘

是一種在大規模交易中識別相似關聯規則模式的通用技術。例如買尿布就有可能買奶粉。

規則挖掘算法

目標是自動發現這樣的規則,並計算這些規則的質量。

關聯規則的衡量標準是支持度可信度

 

 

 

 

 

基於機率分析的推薦方法

用機率方法實現協同過濾,將預測問題看作分類問題,將一個對象分配給幾個事先定義好的類別的任務。分類任務能夠被當作是從訓練示例中學習映射函數(分類模型)的問題。

貝葉斯分類器是數據挖掘領域用到的一種標準技術。計算用戶給定的每一個可能的評分值的條件機率,而後選擇一個最大機率值得評分做爲預測值。計算預測某物品評分爲1的機率,則必須計算條件機率P(某物品=1|X),X是其餘評分(a=2 b=3.....

 

利用到了貝葉斯理論,計算類條件機率P

 

 

 

能夠用m估值或Laplace平滑技術來平滑條件機率。

依賴機率模型最經常使用方法基於的思想是將類似的用戶組成一個聚類。

貝葉斯分類方法的優點數據中的個別噪聲點被平均化,不相關的屬性對計算後驗機率只有不多或沒有影響。貝葉斯網絡沒有過擬合模型的強烈傾向。還適用於不完整的數據。

 

Slope One 預測器

 

 

 

 

 

 

 

====================================================================

 

 

2、基於內容的推薦

基於內容

核心:可以獲得物品的描述和這些特徵的重要記錄。

方法:分析用戶的行爲和反饋,或直接詢問用戶的興趣和偏好。

系統如何自動獲取並持續改進用戶記錄?

如何決定哪一個物品匹配或者至少能竭盡、符合用戶的興趣?

什麼技術能自動抽取或學習物品的描述,從而減小人工標註?

 

推薦系統只要兩類信息物品特徵的描述和描述了用戶(歷史)興趣的用戶記錄(喜好物品的特色等),就能完成推薦任務(包括肯定最能匹配用戶喜好的物品)。這個過程被稱爲基於內容的推薦。

關注的算法側重於推薦文本描述的物品,並能自動學習用戶的記錄。

 

內容表示和類似度

描述物品目錄最簡單的方法就是維護每一個物品特徵的詳細列表(屬性集/特徵集/物品記錄),推薦要作的就是將物品特徵和用戶偏好匹配起來。

 

工做原理:評估用戶還沒看到的物品與當前用戶過去喜歡的物品的類似程度。

方法不一:1.給定一本圖書B,能夠檢查B的體裁是否在Alice喜歡的體裁中,類似度爲0/1

                    2.計算相關關鍵詞的類似度或重疊度。典型類似度度量方法會用到Dice係數,它比較適合多值特徵集合。

Dice計算bibj類似度的公式爲:2|keywords(bi)keywords(bj)|/(|keywords(bi)|+|keywords(bj)|)

 

向量空間模型和TF-IDF

基於內容推薦的標準方法不是去維護一列元信息的特徵,而是使用一列出如今文檔中的相關關鍵詞。

主要思想:可以從文檔內容自己或沒有限制的文字描述中生成這樣的列表。

簡單布爾方法:將出如今全部文檔的全部詞語設爲一個列表,而後用一個布爾型向量描述每一個文檔,1表示出現,0表示沒有出現。若是用戶記錄用一個類似的列表描述(1表示感興趣),計算興趣和文檔的重合程度就能夠找到匹配的文檔。缺點:假如文檔過長就會重合頻率高,則傾向於推薦長文檔。

TF-IDF:解決簡單布爾方法缺陷。表明詞頻和反文檔頻率。文本文檔能夠經過TF-IDF轉換成多位歐幾里得空間中的向量。空間維度(詞(term)/標記(token))對應文檔中出現的關鍵詞,給定文檔在每維(每一個詞)的座標由兩個子量(詞頻和反文檔頻率)的乘積得出。

詞頻描述某個詞在一篇文檔中出現的頻繁程度(假設重要的詞語出現得更多)。必須將文檔長度的某種歸一化:將詞出現的實際次數/文檔中其餘關鍵詞出現的最屢次數。

例如:找出文檔j中關鍵詞i的歸一化詞頻值TFi,j)。設freq(i,j)ij中出現的絕對頻率。給定關鍵詞i,Otherkeywordsi,j)表示其餘關鍵詞集合。

最大頻率maxOthers(i,j)計算爲max(freq(i,j)),z∈Otherkeywords(i,j)

TF(i,j)=freq(i,j)/maxOthers(i,j)  (3.2)

反文檔頻率是組合了詞頻後的第二個衡量值,旨在下降全部文檔中幾乎都會出現的關鍵詞的權重。

思想:常見詞語對區分文檔沒用,應給僅出如今某些文檔中的詞更高的權值。

N爲全部可推薦文檔的數量,n(i)N關鍵詞i出現過文檔的數量。

i的反文檔頻率爲:IDF(i)=log(N/n(i))  (3.3)

 

文檔j中的關鍵詞i組合TF-IDF權值能夠計算爲這兩個子量的乘積:TF-IDF(i,j)=TF(i,j)*IDF(i)  (3.4)

 

向量空間模型的改進及侷限

使得TF-IDF向量緊湊並刪除不相干的信息。

1.停用詞(a,the)和詞幹還原或合併go,went,stem,stemming)(英語)

缺點:1.詞幹還原增長匹配不相關文檔的風險。

         2.技術文檔的縮略語或文本具備雙關語。

2.精簡規模。僅用n個信息量最大的詞語來減小文檔描述的規模。

缺點:1.增長模型複雜度。

             2.這種基於學習的方法可能傾向於過擬合描述訓練數據的樣本。

能夠用外部詞典只是來刪除該領域不相關的詞語。

3.短語。比單詞更能描述文本。(查找人工定義的列表或採用統計分析技術來識別短語)

4.侷限。沒有考慮到關鍵詞所處的上下文。(故前提是這篇文檔中的詞一般適合刻畫文檔,而不多在文檔中出現相反語境,例如:本菜單不會有素食者喜歡的事物。可能素食者檢索時就會搜到這家餐廳)

 

基於內容類似度檢索

最近鄰

估計用戶對某文檔的興趣程度。查一下用戶過去是否喜歡類似的文檔,須要兩類信息:1.用戶對之前物品喜歡/不喜歡"的記錄。2.一個標準衡量兩個文檔的類似度。通常用餘弦類似度方法。

k最近鄰方法(kNN)用於用戶短時間興趣規模)

優勢:1.相對易於實現。2.快速適應新近變化。3.只要有較少評分數據就可以獲得必定的推薦質量。

缺點:純粹kNN方法比其餘更復雜技術的預測精準度更低。

相關性反饋——Rocchio方法

 

主要思想:首先將評分文檔劃分爲兩組:D+D-,分別對應喜歡(感興趣/相關)和不喜歡的文檔,並計算這些分類的初始(平均)向量。這些初始向量也能夠被看做是相關和不相關文檔聚類的重心。當前查詢詞Qi像文檔同樣表示爲多維單詞向量,而後重複地

相關文章
相關標籤/搜索