推薦系統多樣性問題 20200409
多樣性包含三個方面的含義,
-
個體多樣性:從單個用戶的角度來衡量的推薦系統多樣性,主要考察系統能夠找到用戶喜歡的冷門項目的能力。
-
與個體多樣性不同,總體多樣性主要強調對不同用戶有不同的推薦。
可以通過長尾理論考察推薦系統多樣性對產品銷售的影響。多樣性程度高的系統可以帶動不太流行的商品的銷量。 -
時序多樣性:推薦隨着用戶偏好(隨時間)變化而改變。
提高多樣性的方法:
-
信息物理方法:
將物理學中的物質擴散和熱傳導理論應用到推薦系統中。利用二階關聯法快速去除帶權重的用戶-物品二部圖網絡結構中可能存在的對於同一個對象的推薦的冗余信息。 -
社會化標簽系統:
用戶 項目 標簽 -
二次優化方法
主題多樣性:在協同過濾得到推薦列表,然后根據ILS(intra -list similarity)進行物品之間兩兩相似性的判斷,分別計算相似性排名和不相似性排名,然后分配權重得到最終排名。
二次優化方法
-
目標函數優化
y為推薦集合R的向量表示,D為y的距離矩陣,p為R集合的項目個數,則R的多樣性為二次式:
然后找到$y^*$,使得目標函數最大化
$\theta$是用來平衡精確性和多樣性的參數。 -
目標模型分割
用戶的興趣是很難找到完全相似的,所以吧用戶的興趣模型分割為M個聚類,每一個聚類都可以被定義為:
對每一個聚類產生推薦列表,然后聚合。聚類前可以用SVD降維。 -
推薦解釋多樣性
推薦解釋告訴用戶為什么會被推薦,一般是基於-
項目解釋
-
用戶群解釋
-
功能解釋
然后對不同的解釋性做多樣性距離計算。
-
-
用戶相似性冪律調節
通過冪函數調整協同過濾方法中用戶的相似性得分。 -
優先-中心點
對推薦列表進行聚類分析,找到聚類中中心點,然后再選出$rep(i)$,得分大於等於$i$,且距離接近,那么我們稱$rep(i)$組成的項目集合為這個聚類的優先-中心點。這個方法提高推薦列表的多樣性。 -
二次排序算法
標准排序后,做流行程度排序。再基於之前結果參考再做一次參數排序。
社會化網絡方法
- 通過社會過濾機制,融入社會網絡信任到推薦系統。通過主題多樣性好的信任鄰居來平衡准確性和多樣性。
時間感知方法
- 連續時間感應推薦方法將時間信息作為變量,使用KNN方法。
- 分類時間感知推薦算法,把時間作為離散變量,做時間向前過濾和時間向后過濾算法,前者過濾無關信息,后者用二維推薦方法生成推薦。