1.オフライン評価とオンライン評価の違い
オフライン評価
ECサイトを例にしてみましょう
消費者が『購入した』『購入しなかった』や『クリックした』『クリックしなかった』
などのサーバーに置かれた行動ログを使って評価を行うのがオフライン評価になります。
オンライン評価
例えば、既存の予測モデルが既にデプロイされているとします。
それに対して、新たにモデリングしたモデルをデプロイしたいとします。
これらをA/Bテストなどで、実際の新たなモデルの効果を評価するのが
オンライン評価になります。
オンライン評価とオフライン評価のメリットとデメリット
どちらも実際のECサイトで使われる評価にはなるのですが、
一長一短にはなります。
オフライン評価のメリットデメリット
大規模なECサイトであれば、利用ユーザーも多く、行動ログが多いと思います。
そのため、利用できるデータが多く、バイアスも少ないです。
ですが、実際にオフライン評価が良くても実ビジネスにおいてあまり効果をなさないことが多いです
実装コストは安いが、正確なモデルになるかどうかは不透明ということです。
オンライン評価のデメリット
対して、オンライン評価のメリットとしては、オフライン評価のデメリットをカバーしているとでも言えます。
なぜなら、実際に、A/Bテストなどを行って、モデルの実際の有意性を確かめることができるからです。
ですが、A/Bテストはオフライン評価のメリットをなくしているとでも言えます。
実装コストとモデル評価の正確性は反比例しています。
2.オフライン評価指標のユースケース
ECサイトにおいて、ユーザーの行動意図というのは3つに分類されます。
・誘導型
・情報収集型
・取引型
まず、誘導型というのは、1つの適合アイテムを得たい場合です。
時刻表のウェブサイトを検索する場合ですね。
1つ適合すれば、似たようなサイトは不必要ですよね。
情報収集型ですが、1つ以上の適合アイテムを得たい場合です。
大学の卒業論文などで、情報はあればあるほど嬉しいですよね。
複数のウェブサイトを行き来するような行動です。
取引型は、ウェブを仲介としたアクションを実行したという意図になります。
例えば、居酒屋を予約する場合などです。
評価指標というのは、全く万能ではありません
ユースケースに基づいて評価指標を変える必要があります。
2.1 ユースケース1 複数商品を購入する際
例えば、
ファッションサイトを例にしてみると、
おすすめの商品ランキングがあったとして、それに対して、クリックはした
また実際にコンバージョンまでしてくれたなどがあるかと思います。
クリックや購入などを利得と呼びます。
複数のアイテムを購入して欲しいというECサイトの営業目的があったとした場合、
これは情報収集型に分類されますよね。
そして、購入予測のランキング1の利得が高ければ、それは良いモデルであると言えます。
ではそれに対して、最適な評価指標とは何か?
それが事項で説明するnDCGになります。
2.1.1 nDCG
まずDCGというのは何か?
それはランキングの位置に対して、利得を分母のlogの項によってディスカウントさせます。
ここで、r1というのは、予測ランキング1位に対しての利得になります。
例えばランキングが5つあったとして、理想的な順位と、実際の行動履歴があったとします。
上記で記載したDCGを使って、理想的なDCGを分母におき、実際のDCGを分子にして計算します。
以下が計算式になります。
2.2 ユースケースその2
ファッションサイトでも、高価格商品だったり、低価格の商品など多数あります。
高価商品をメインに抑えているサイトの場合、複数の商品を買わず
本当に気になった高価な財布だったりを買うケースなどがあるかと思います。
その場合、ランキングはどのように動けばいいでしょうか?
おすすめのランキングの1位のものを買ってもらえた方が正しいモデルと評価できますよね。
なぜなら、1位と2位の商品を同時に買うことがほぼないと仮定しているからです。
評価指標自体、ランキングの最初の適合位置が高い位置にあればあるほど良いモデルということになります。
それにはMRRを使うと良いと思います。
2.2.1 MRR(Mean Reciprocal Rank)
Uはユーザー集合であり、
kuは、ランキングk番目の適合位置になります。
10番目に適合したものよりも2番目に適合した方が寄与が大きくなります。
3.まとめ
他にも評価指標はあるかと思いますが、
伝えたいのは、ケースによって評価指標を使い分けようということです。
次は、オンライン評価についても解説していきたいです。
4.参考資料