個性化推薦系統技術總結

1 概述

個性化推薦系統 作爲一種信息過濾系統,個性化推薦系統在近幾年得到了學術界和工業界的廣泛關注。這與互聯網的信息爆炸是分不開的,只有信息量超過了用戶的處理能力,推薦系統才能發揮重要作用。

個性化推薦算法都來自於傳統的機器學習和數據挖掘的算法,並沒有什麼特殊的地方。個性化推薦系統的特殊之處在於對用戶行爲和用戶心理的研究。

推薦系統的架構基本上可以劃分爲:用戶特徵提取模塊,相關物品檢索模塊,推薦結果排序模塊。

2 用戶特徵提取

爲了方便機器處理高效,首先需要對於用戶特徵降維。例如根據用戶的歷史興趣將用戶分成不同的類別,諸如歷史愛好者、科技愛好者等等。

降維的第一種方法是聚類。機器學習中的聚類算法大體分爲硬聚類(hard clustering)和軟聚類(soft clustering)。

硬聚類的代表算法是K-Means 和層次聚類,硬聚類的缺陷是結果只屬於一種類別,現實中用戶的特徵屬於多種類別。

推薦中的常用軟聚類算法是主題模型。。在主題模型中,每個類被稱爲隱類(latent class),而每個文檔在不同的隱類上都有一個概率分佈來表示文檔屬於該類的概率。

3 相關物品檢索模塊

在獲得用戶興趣特徵後,系統需要根據特徵找到和用戶相關的物品。即計算相關度。

有兩種算法可以用來計算物
品的相關度:
● 基於內容的物品相關度算法;
● 基於用戶行爲的物品相關度算
法(collaborative filtering)。

我們可以從多種角度建立相關度。但是需要用戶/專家反饋來融合多種相關度,從而得到用戶認可的相關度。

4 推薦結果排序

雖然相關物品檢索會得到物品--用戶的相關度,但是卻不能簡單的按照相關度排序。因爲不同的特徵得到的相關度不同,彼此之間不能比較。需要有統一的指標來表明用戶對物品的興趣,進行排序。

常用的排序指標是點擊率,點擊率預估模塊的任務就是計算用戶對每個候選物品的點擊率,然後將物品按照點擊率排序並輸出。

點擊率預估問題可以轉化爲傳統的兩類分類問題(這是因爲可以分爲“會不會點擊”其實是一個分類問題)。通過分類得到特徵權重,然後排序。

兩類分類問題首先要生成數據集。數據集由樣本組成,樣本有特徵和類標組成。

例如,用戶A 在2013 年1 月1 日在首頁看到了書b,但沒有點擊。根據日誌, 發現用戶A 在2013 年1 月1 日之前購買過圖書a、c,給圖書e 評過5 分。圖書b 的作者是x。從用戶行爲出發,可以得到如下用戶特徵:

{uid_A, buy_a, buy_c, vote_e_5}
從圖書出發,可以得到如下的特徵:
{book_b, author_x}

然後得到聯合特徵,如表1所示:
{ u i d _A- b o o k _ b , u i d _A-author_x, buy_a-book_b, buy_a-author_x, buy_c-book_b, buy_cauthor_x, vote_e_5-book_b, vote_e_5-author_x}

最終可以從這條日誌得到一個樣本,該樣本的類標是0(負樣本),特徵是:

{uid_A, buy_a, buy_c, vote_e_5, book_b, author_x, uid_Abook_b, uid_A-author_x, buy_a-book_b, buy_a-author_x, buy_cbook_b, buy_c-author_x, vote_e_5-book_b, vote_e_5-author_x}

掃描日誌得到數據集。假設用線性分類器,可以得到特徵的權重:如果分類器學習到buy_a-book_b 這個特徵有比較大的權重,這就代表購買過圖書a 的用戶傾向於點擊圖書b

用於點擊率預估的分類算法主要是邏輯迴歸LR。


附註:

(1)主題模型包含了一類模型,其中著名的模型有基於概率的主題模型, 其中有pLSA、LDA,也有基於矩陣分解的主題模型,包括傳統的奇異值分解(singular value decomposition,SVD)、非負矩陣分解等等。

(2)機器學習算法中的兩類分類器,比如:邏輯迴歸(LogisticRegression)、支持向量機(SVM)、決策樹/ 促進樹(Decision Tree /Boosting Tree)和神經網絡(NeuralNetwork)。


摘要自《機器學習,數據挖掘在個性化推薦系統中的應用》--項亮

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章