施策デザインのための機械学習入門〜データ分析技術のビジネス活用における正しい考え方

施策デザインのための機械学習入門〜データ分析技術のビジネス活用における正しい考え方

著者:齋藤 優太, 安井 翔太
監修:株式会社ホクソエム

(概要)
予測に基づいた広告配信や商品推薦など、ビジネス施策の個別化や高性能化のために機械学習を利用することが一般的になってきています。その一方で、多くの機械学習エンジニアやデータサイエンティストが、手元のデータに対して良い精度を発揮する予測モデルを得たにもかかわらず、実際のビジネス現場では望ましい結果を得られないという厄介で不可解な現象に直面しています。実はこの問題は、機械学習の実践において本来必要なはずのステップを無視してしまうことに起因すると考えられます。機械学習を用いてビジネス施策をデザインする際に本来踏むべき手順を無視して予測精度の改善だけを追い求めると、「解くべき問題の誤設定」や「バイアス」といった落とし穴に気づかぬうちにハマってしまうのです。
この問題を解決するためには、機械学習のビジネス応用において必要となる前提条件を着実にクリアしなくてはなりません。しかし多くの現場では、「学習」や「予測精度」などに関する手法やテクニックのみに注目してしまう傾向があり、「機械学習にどのような問題を解かせるべきなのか」「実環境と観測データの間の乖離(バイアス)の問題にどのように対処すべきか」といった効果的なビジネス施策をデザインするために重要な観点が軽視されがちです。機械学習をビジネス施策に活かすための前提が整えられていないにもかかわらず、発展知識を身に付けたり論文の内容をそのまま実装したところで、望ましい結果を継続的に得ることは難しいのです。
本書では、ビジネス施策を自らの手で導くために必要な汎用的な考え方を身につけることを目指します。そのため本書ではまず、機械学習をビジネス現場で活用する際に本来踏まねばならないステップを明文化した汎用フレームワークを導入します。そしてその汎用フレームワークを活用しながら、効果的な施策を自らの手で導出する「施策デザイン」の流れを繰り返し体験します。これまで軽視されてきた「機械学習の威力を担保するために必要な前提のステップ」をフレームワークとして明文化し、データから施策を導くプロセスを自らデザインするという斬新なコンセプトで、ビジネスにおける変幻自在/臨機応変な機械学習の応用を可能にすることが、本書の最終目標です。(こんな方におすすめ)
・ 機械学習エンジニア
・ データサイエンティスト
・機械学習エンジニア、データサイエンティスト職を志望する学生(目次)
1章 機械学習実践のためのフレームワーク
1.1 機械学習の実践に潜む落とし穴
1.2 機械学習実践のためのフレームワーク
1.3 本章のまとめ
1.4 参考文献
2章 機械学習実践のための基礎技術
2.1 正確な予測を導く
2.2 高性能な意思決定を導く
2.3 Open Bandit Pipelineを用いた実装
2.4 本章のまとめと発展的な内容の紹介
2.5 参考文献
3章 Explicit Feedbackを用いた推薦システム構築の実践
3.1:Explicit Feedbackを用いた推薦システムの構築
3.2 推薦システムの標準的な定式化と手法
3.3 推薦システムに潜むバイアスの問題
3.4 フレームワークに則った推薦システム構築手順の導出
3.5 Pythonによる実装とYahoo! R3データを用いた性能検証
3.6 本章のまとめと発展的な内容の紹介
3.7 参考文献
4章 Implicit Feedbackを用いた推薦システムの構築
4.1 標準的なランキング学習の枠組み
4.2 フレームワークに則ったランキングシステムの学習
4.3 PyTorchを用いた実装と簡易実験
4.4 本章のまとめと発展的な内容の紹介
4.5 次章に向けて
4.6 省略した計算過程
4.7 参考文献
5章 因果効果を考慮したランキングシステムの構築
5.1:本章で扱う発展的な話題
5.2 推薦枠経由で観測される目的変数を最大化する
5.3 プラットフォーム全体で観測される目的変数を最大化する
5.5 本章のまとめと発展的な内容の紹介
5.6 参考文献
付録A 演習問題

Explicit Feedbackはユーザのアイテムに対する嗜好度合いのデータを用いて、効果的なアイテム推薦を行うための推薦システム構築の場面を扱います。Explicit Feedbackの代表例は、映画や楽曲などに付与されるレーティングデータです。これは、ユーザがアイテムに対して持っている嗜好度合いを自己表明したデータであるため、推薦システムを学習するために非常に有用で正確な情報源です。(pp.xi-xii)

Implicit Feedbackとはユーザが自己表明しているわけではないが、ユーザの思考に関する情報を含むと思われる(と分析者が想定している)データの総称です。例えば、クリックデータはユーザが自らの嗜好度合いを表明することで生まれたデータではなく、思考に関する情報を含んでいるデータだと分析者が見込んで使っているという意味でImplicit Feedbackに分類されます。(p.xii)

比較しようとしているグループの傾向が違うことで発生する分析結果と真の性能の乖離のことをセレクションバイアスと呼びます。(p.10)

現実世界で我々が観測可能なデータは、過去に施策を実施することを通じて収集されたものであり、多かれ少なかれその過去の施策の影響を受けています。みなさんは自らが取り組む機械学習の実践において、データが収集された際に稼働していた過去の施策の影響を考慮しているでしょうか。もし考えていなかったという人がいたら、ここでデータサイエンティストが失敗してしまったのと同様に、気づかぬうちにバイアスに苦しめられているのかもしれません。機械学習に解かせるべき問題を正しく設定できたとしても、データがどのような経緯で我々の手元に観測されるに至ったかというデータの観測構造に注意を払わなければ、実環境と観測データに乖離がある状態で学習が進んでしまいます。そのような状態で精度を追求したり、データ数を増やしたりしたところで、本来解きたい問題とは別の問題に対する精度を改善するだけです。その結果、手元のデータに対して対しては高性能を発揮できるにもかかわらず、実環境では望ましい結果が得られないという壁にぶつかるのです。(p.11)

よくよく考えてみると、現実世界には、データのノイズが大きい場合や環境の変化が激しい場合、目的変数に関係する特徴量が取得できない場合など、データや機械学習を活用すること自体が無謀な状況はいくらでもあります。このような現実において、我々が心得ておくべきなのは、機械学習が機能する状況を整えることができなければ、機械学習を活用することが有効な場面であるか否かと言う情報すら得られないということです。(p.17)

我々の最終目的は、良い性能を継続して発揮する施策を得ることであって、施策を機械学習やデータ駆動アルゴリズムでカッコよく仕立て上げることではありません。人手で作った簡素なルールベース施策の方が有効なのであれば、それを導入するのが妥当な現場判断でしょう。(p.17)

データの観測構造のモデル化は、毎回ゼロから構築しないといけないわけではありません。なぜならば、実応用でよく出現する重要なバイアスを扱うためのモデルや問題設定ごとに確立されたモデルが既に存在するからです。例えば、ポジションバイアスを扱うために、便利なモデルはすでに学術的に活発に議論されています。また、クーポン配布等の施策や介入の因果効果を扱う場合には、ポテンシャルアウトカムフレームワーク(Potential Outcome Framework)と呼ばれるモデルを用いると見通しが良くなることが知られています。よって、機械学習を実践で活用する際に求められる基本的な態度は、よく知られたモデルを適切に選択したり、組み合わせたり、もしくは修正したりすることで、導出するというものなのです。(p.23)

分類問題では、交差エントロピー誤差(cross-emtropy loss) 、マージン誤差(margin loss)、回帰問題では、絶対誤差(absokute error)や二乗誤差 (squared error)などが有名な損失関数として挙げられます。(p.25)

本来解きたかったはずの問題と、実際に機械学習に解かせている問題に食い違いが生じないようにするためにも、「解くべき問題を特定する」ステップの存在を認識し、慎重に取り組む必要があります。(p.26)

見慣れた予測誤差最小化の問題設定をむやみやたらに模倣するのではなく、事前に自らが設定したKPIやデータの観測構造などに応じて解くべき問題や目的関数を柔軟に設定することが大事なのです。さもなくば、機械学習にちぐはぐな問題を解かせることになってしまい、与えられた目的関数についてより良い性能を発揮させる方法やテクニックにいくら詳しくても、得られる結果は意味をなさないものになってしまいます。そのような悲しい事態を招かないためにも、自分がどんな問題を機械学習に解かせようとしているのか、解かせるべきであるのかを当たり前のこととして認識できるようになることが大事なのです。(pp.26-27)

機械学習モデルの性能は、手元のデータを用いて推定しなければならないものであり、学習を行う際には、推定した真の目的関数の代わりとして、用いているという意識を持つことは、落とし穴の存在に気づくためにも重要です。(p.31)

反実仮想機械学習(Counterfactual Machine Learning : CFML)とは、因果関係を予測したり、過去に何らかの基準で収集されたデータを使って、仮想的な施策の性能を評価するなど、反実仮想の推論を含むタスクを解くための技術の総称である。これにより例えば、オンライン実験(施策を本番環境に導入し、その挙動を見るなど、正確だがハイリスクで実装コストが大きな評価方法)行うことなく、過去に集積されたデータのみを用いて、新たなアルゴリズムの性能を知ることが可能になる。すなわち、機械学習を活用した施策改善プロセスで発生する意思決定を手助けしたり、失敗を未然に防ぐことが期待される。(pp.35-36)

以上が、第1章のところで、チェックしておくべきポイントを引用させてもらっているのですが、これはいわゆるKagglerの方たちはなかなか体験できないビジネス実務だからこその観点です。以前、Signateの方ともお話ししたことがあるのですが、こういったビジネス適応が最も難易度が高く、これができる域に達するのは相当経験を積まないと難しいだろうということで意見が一致しました。

そういった観点でも、これまでもこの観点で書かれた書籍はほとんどないと思いますので、非常に貴重なもので実ビジネスで機械学習に取り組んでいる方たちには「機械学種は役に立たない」と言われないためにもしっかり学んで理解してほしいと思います。

とはいえ、第2章からは実例を交えながらになるのですが、結構難解ではあるのですが、これこそ一例なのでまたこれをそのままパクってしまうとおかしなことになるのでいろいろな考え方を学ぶというスタンスで読み込まれるといいと思います。

ここからは、チェックしておくべきワードを羅列しておきたい思います。

  • ナイーブな経験損失:観測されているデータに対する予測誤差の単純平均のこと(pp.47-48)
  • Inverse Propensity Score(IPS)推定量:目的変数を古い意思決定モデルによる行動選択確率の逆数であらかじめ重みを付ける(p.72)
  • Doubly Robust(DR)推定量:IPS推定量の問題を軽減するt前の発展形(p.74)
  • オフ方策学習(Off-Policy Learning : OPL):ログデータを用いて新たに意思決定モデルを学習する問題のこと(p.82)
  • オフ方策評価(Off-Policy Evaluation : OPE):ある意思決定モデルの性能をログデータのみを用いて評価する問題のこと(p.82)
  • ε-貪欲法(epsilon-greedy method):将来の意思決定モデルの学習のために良質なログデータを残す目的で、あえて確率的意思決定モデルを導入するという判断があり得るのです。決定的な意思決定モデルを確率的な意思決定モデルに変換するための代表的な方法。(p.84)
  • Explicit Feedback:明示的なフィードバックとも呼ばれます。ユーザが自らの意思でそれぞれのアイテムに対して与える嗜好度合いに関数情報のことを指します。典型的な例は、ユーザがアイテムに対して与える5段階評価などのレーティングデータです。ユーザがアイテムに対して自らの意思で好き嫌いを表明しているので、ユーザのアイテムに対する嗜好度合いを正確に把握するのに理想的なデータであると考えられます。(p.113)
  • Matrix Factorization(MF):真の嗜好度合いデータの行列をユーザ行列とアイテム行列という2つの行列に分解する(ユーザ行列とアイテム行列を学習する)ことで近似しようという手法です。(p.116)
  • Implicit Feedback:暗黙的なフィードバックとも呼ばれる代替的なデータを用いて学習されます。Explicit Feedbackのようにユーザが明示的に好き嫌いを表明しているわけではないが、それに関する情報が含まれていると考えられるデータの総称です。Implicit Feedbackは、ユーザに自発的に好き嫌いを表明することを要求しない自然な行動ログであるため大量に入手できる利点があります。最もよく用いられるImplicit Feedbackは推薦枠内などで観測されるクリックデータでしょう。クリックデータと真の嗜好度合いの間には乖離が見込まれるものの、ユーザーの嗜好度合いが高いアイテムほどクリックしやすく、低いアイテムほどクリックしにくい傾向にあると考えられるため、クリックデータはまさにImplicit Feedbackの一種であると言えます。(p.158)
  • ポジションバイアス:推薦枠のうち下位のポジションで提示されるアイテムは嗜好度合いとは独立にクリックされにくいというアイテムの表示位置によって生じる真の嗜好度合いとクリックデータの間の乖離のことを指します。(p.161)
  • アイテム選択バイアス:上位いくつかのアイテムのみに絞ってユーザに提示する際に生まれるバイアスのこと。(p.192)

先にも書きましたが、この領域の書籍はほとんど出ていないにも関わらず、ビジネスで機械学習に取り組む方たちには必須の知識です。ぜひ手に取って、学んでいただけたらと思います。

類書のこちらも是非ご参考に。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください