1. 程式人生 > >從分類,排序,top-k多個方面對推薦演算法穩定性的評價

從分類,排序,top-k多個方面對推薦演算法穩定性的評價

介紹

論文名: “classification, ranking, and top-k stability of recommendation algorithms”.
本文講述比較推薦系統在三種情況下, 推薦穩定性情況.
與常規準確率比較的方式不同, 本文從另一個角度, 即推薦演算法穩定性方面進行比較.

詳細

參與比較的推薦演算法

包括:

  1. baseline
  2. 傳統基於使用者
  3. 傳統基於物品
  4. oneSlope
  5. svd

比較方式

比較的過程分為兩個階段:

階段一, 將原始資料分為兩個部分, 一部分為已知打分, 另一部分為未知打分, 用於預測.
階段二, 在用於預測打分那部分資料中, 取出一部分資料, 加入到已知打分部分, 剩餘部分仍然為預測部分.

比較階段一中的預測結果和階段二中預測結果的比較.
資料劃分情況如圖所是.

資料劃分

比較的方式

預測穩定性

預測性的評價方式有以下幾種:
MAE, RMSE

分類穩定性

分型別的評價方式有以下幾種:
準確率, 召回率, F-分數.

排名穩定性

排名型的評價方式有以下幾種:
排名相關性, Spearman的ρ評價, Kruskal的γ評價, Kendall的τ評價.

前K項穩定性

前k項的評價方式有以下幾種:
點選率穩定性(hit-rate), NDCG(normalized discounted cumulative gain).

比較的場景

稀疏性衝擊

改變資料的稀疏性, 從幾個方面比較這些推薦演算法的穩定性.

結果如圖所是.

這裡寫圖片描述

基於記憶體的推薦演算法和slopeone演算法表現出強烈的不穩定性和對資料敏感性.
svd和baseline演算法相對穩定.

評價數量衝擊

改變第二階段中新加入資料的數量, 比較兩次實驗的差異.

結果如圖所是:

這裡寫圖片描述

橫座標為比例, 即已知打分資料的倍數, 從10%到500%.

從圖中可以看出, 在新加入的資料較少時, 各個推薦演算法表現出高度的穩定性.

當新加入的資料較多時, 基於記憶體的推薦演算法的穩定性不斷下降.
相反, 基於模型的方法相對穩定.

打分分佈衝擊

除了新加入的資料外, 新加入的資料的資料分佈也一定程度上影響了推薦演算法的穩定性.

下表顯示了修改資料分佈的策略:

這裡寫圖片描述

實驗的結果如下:

這裡寫圖片描述

從圖中可以看出, 當加入的資料為隨機時, 各個推薦演算法都表現出相對較高的穩定性.
但是, 當新增的資料出現歪斜時, 基於記憶體的推薦演算法的穩定性降低較快, 基於模型的推薦演算法的穩定性基本保持不變.

演算法引數衝擊

對於推薦演算法而言, 除了資料的因素外, 還有演算法本身引數對演算法穩定性的影響.

對於基於記憶體的演算法, 相似使用者/物品的數量影響著推薦演算法的效果,
對於svd演算法, 隱含屬性的數量影響著推薦演算法的結果.

實驗通過修改推薦演算法引數的方式進行比較, 結果如圖所時:

這裡寫圖片描述

對於top-K的比較, k值的大小也影響推薦演算法的穩定性.
通過修改k的大小, 實驗的結果如圖所時:

這裡寫圖片描述

實驗結果表示:

對於修改演算法的引數, 對svd演算法的影響較少, 對於基於記憶體的演算法影響較大.

修改top-k中k的大小, 對基於模型的推薦演算法影響較小, 對於基於記憶體的推薦演算法的穩定性影響較大.

總結

對於上面多種情況的比較.
基於模型的推薦演算法在多種情況下, 穩定性較高, 特別時svd演算法.
基於記憶體的推薦演算法穩定性較差.