評価のタイミング¶
オフライン評価:デプロイ前に、過去のログデータを用いて性能を評価する方法
オンライン評価:デプロイ後にA/Bテストで新しい推薦モデルの性能を評価する方法
データの分割方法¶
オフライン評価の際に、データセットをどう分割するか
無作為分割:普通のホールドアウト法。推薦システムには適さない可能性がある。
時間ベースの分割:ある時点を堺にtrain/testを分ける。将来データへの性能を評価したい場合に有効
ユーザーベースの分割:新規ユーザーへの性能を評価したい場合に有効
アイテムベースの分割:新規アイテムへの性能を評価したい場合に有効
ランキング指標¶
大局的ランキング指標¶
**大局的ランキング指標(global ranking metrics)**は、モデルによる推定スコアでテストセットを順序付けしたとき、評価の高いユーザー・アイテム対が低い評価の対より上位に順位付けされる度合いを測るもの。
二値分類の場合¶
二値分類(例:クリック予測)や二値化されうる問題設定の場合、PR曲線やROC曲線を使った評価ができる
それ以外の場合¶
他の方法としては順位相関がある
局所的ランキング指標¶
**局所的ランキング指標(local ranking metrics)**は、各ユーザーについてアイテムを個別に順位付けする方法。高評価アイテムが低評価アイテムよりも上位に順位付けされているかどうかを測定し、その後ユーザー間で平均を取る。
二値分類の場合¶
順位Kでの適合率(P@K)¶
各ユーザーについて、予測したスコアでアイテムを降順に順位付けする。
上位K個のアイテムのうちの性のアイテムの部分集合
平均適合率の平均(mAP: mean average precision)¶
P@Kの平均が平均適合率になり、それをユーザーについて平均したものがmAPになる
正規化割引累積利得(nDCG: normalized discounted cumulative gain)¶
順位のアイテムにユーザーが正のレイティングを与えた場合で、そうでなければとする。
テストセットにおけるユーザーによって評価されたアイテム集合の要素数をとしたとき
割引累積利得(DCG)を次のように定義する
nDCGはユーザーの最大DCGで正規化したDCGである
ここではにおけるユーザーが正のレイティングをしたアイテム数
それ以外の場合¶
二値分類でない場合や二値分類に変換できない場合、平均順位相関を使用する