Re:ゼロから始めるML生活

どちらかといえばエミリア派です

recsys-pythonをやる (第11章 嗜好予測の正確性・第12章 好き嫌い分類に基づく評価指標)

この記事は (1人で)基礎から学ぶ推薦システム Advent Calendar 2022の6日目の記事です。

前回に引き続きrecsys-pythonをやっていきます。

www.nogawanogawa.com

今回は11章からやっていきたいと思います。

第11章 嗜好予測の正確性

「推薦の質を評価」すると言っても、作る物によって定義は様々あります。 嗜好予測という文脈では、ユーザーが考えるアイテムに対する評価をどれだけ正確に推定できたかが推薦の質と考えることができます。

具体的な状態としては、商品のユーザー評価値を推定する状況が想像しやすいでしょうか。

ユーザーがアイテムに対する好みを数値評価(例えばECでの5段階商品レビューなど)を行っていたとします。 いま、あるユーザーに対して商品をおすすめしようと思ったら、ユーザーが未評価のアイテムのなかで評価の予測値が高い順におすすめするのが良さそうですね。 この状況でポイントになるのは、ユーザーがアイテムに対して実際に評価したときの値とどれだけ近い値を予測できるかになります。

このような数値の誤差を評価する指標として、

  • MAE(Mean Absolute Error)
  • MSE(Mean Squared Error)
  • RMSE(Root Mean Squared Error)
  • NMAE(Normalized Mean Absolute Error)
  • NMSE(Normalized Mean Squared Error)

などがあり、これらを用いて推薦を評価していきます。

やってみる

recsyslab.github.io

第12章 好き嫌い分類に基づく評価指標

正確に評価値を予測するのが大事な場合もあれば、「上位10件にユーザーが好むアイテムが入っている個数がとにかく大事」という場合もあります。

例えば、ニュースサイトなどでトップページに表示できる記事の件数は固定数だったりします。 表示できてしまえば、ユーザーには評価値の予測値は通常見えませんから、評価値の正確さはあまり重要ではなかったります。 この場合は、トップページに表示できる記事のなかで何件が実際にユーザーが好んだ(クリックや購入の行動など判断したりします)かが重要なので、ユーザーが表示されたアイテムのうち何件を好むかという分類精度で評価する事ができます。

この場合、

  • precision
  • recall
  • F score
  • AUC

などが推薦の質を評価するための指標として使用されたりします。

やってみる

recsyslab.github.io

参考文献

下記の文献を参考にさせていただきました。

感想

作った推薦の精度をきちんと把握するためにも、このあたりも注意が必要ですね。 「推薦の評価難しい」問題に関しては、別の記事で改めて書こうと思います。