見出し画像

【読書録】施策デザインのための機械学習入門

書籍はこちら。

 この本は対象読者を「機械学習を活用したビジネス施策の実践に取り組んでいるすべての機械学習エンジニアやデータサイエンティスト」と文書内で明記しているが、今日日、機械学習を活用したSomethingに触れないビジネスピャーソンの方が少ないのではないかと思う。とりわけ、「AIを活用したSomething」的な売り込みをするSaaSは増える一方なので、今は機械学習を活用したビジネス施策に取り組んでいない人も、今後のキャリア全般にわたって触れることはないと断定する方が難しいと思う。
 そして機械学習的なアプローチをビジネス施策に取り込んだとき、十中八九生じるのが「思ったより結果が出ないやんけ」という残念な結果である。私はデータアナリストとして機械学習的なアプローチを取ることはそれなりにあるが、この手の施策ではうまくいくことの方が少ないと感じている(まあ、MLOps的な観点に立てば、そこから改善していくことが機械学習系のプロジェクトの本番ではあるのだが)。
 巷間では、「AIにデータを突っ込んであとはよしなによろしくYeah」みたいな幻想を持っている人がまあまあいる。そういった人たちが、機械学習プロジェクトの残念なアウトカムを見て失望するのは想像に難くない。そしてともすれば「機械学習幻滅期」みたいな話になる。
 この本は、「はじめに」の中で、次のような問題意識を提示している。

機械学習を駆使しているにもかかわらず、ビジネス上有益な変化をもたらすことができないという現実に頭を悩ませている機械学習エンジニアやデータサイエンティストが多く存在します。
--(中略)--
ストイックな人や機械学習技術が好きな人は、まだまだ努力が足りなかったと感じて最先端の論文を読み込み、さらに予測精度の向上を追い求めるかもしれません。しかし近年の機械学習研究における論文数の増大や、最先端手法の再現性に関する不毛な議論がそこかしこで飛び交っている現状を鑑みると、この方針は筋が悪いように思えてなりません。

施策デザインのための機械学習入門

おっしゃる通り of the year である。機械学習プロジェクトは本当に中々うまくいかない。一通りサイクルを回すのにもそこそこの時間とリソースがかかるのに、成果物はたいていイマイチなことがすこぶる多い。
 本書籍では機械学習に潜む落とし穴として、次の2つをあげている。

  1. 機械学習に解かせる問題の誤設定

  2. 実環境と観測データの乖離(バイアス)

 1に関して本書では「意思決定の問題を解きたいはずなのに、予測の問題を解いている」というものが挙げられている。まずここで私は一つの衝撃を受けた。「はい、それ私です」と言ってしまうくらい、自身がおこなってきたことだからだ。「意思決定の問題を解きたいはずなのに、予測の問題を解いている」例として、本書では広告配信の例が挙げられている。これはつまり、手元に広告が1つあるとして、これを各ユーザーに配信すべきか否かを検討している時、えてして各ユーザーの広告クリック確率を機械学習を用いて予測してしまう事態である。しかし機械学習に解かせたいのは「広告クリック確率」だろうか?本来は売上なりMAUなりを目的変数として、これを最大化するような広告施策が求められているはずで、それすなわち「売上を最大化するために、最適な手段(意思決定)を提示する機械学習モデル」が求められているはずである。
 2については、因果推論を学んだ人ならお馴染みのお話が出てくる。施策効果を測るためには、「施策を行った場合」と「施策を行わなかった場合」の2パターンにユーザーを分け、それぞれのその後の動向を分析することでその施策の効果が分析される。いわゆるABテスト、RCTである。しかし「ちゃんとしたABテスト」が行われているケースは結構稀であるし、ABテストを行う前に手に入れられるデータはえてしてバイアスまみれである。
 例えばちゃんとしたABテストがなされていない「ポイント付与キャンペーン」を考えてみる。手元には売上増加を目的としたポイント付与キャンペーンのユーザー別の実施有無、及びその後のユーザー別売上のデータがあったとする。もしちゃんとABテスト設計されたキャンペーンであれば、このデータからポイント付与キャンペーンの施策効果を測ることができるし、それに基づいて次のポイント付与キャンペーンの実施を検討することもできる(本当は不服従の問題とかあるけどそういうのは一旦無視する)。しかしビジネスアナリストとして数年働いてきた経験からすると、「ちゃんとABテストできている」例は、社会全般ではかなり少ないと感じる。それは担当者の知識不足もあるし、「そもそもABテストが不可能な施策」というものもある(TVCMとかね)。そこで本書では、過去のデータに潜むバイアスを除去し、機械学習の性能をちゃんと引き出すアプローチをまとめてくれている。
 本書では機械学習を実践するために取るべきステップを提示している。それすなわち、

1. KPIを設定する
2. データの観測構造からモデル化する
3. 解くべき問題を特定する
4. 観測データのみを用いて問題を解く方法を考える
5. 機械学習モデルを学習する
6. 施策を導入する

施策デザインのための機械学習入門

である。個人的には、このフレームワークの提示と具体的な実践方法をまとめた点が、本書が他の機械学習本と一線を画す点だと思う。
 多くの機械学習本は、それが初心者向けであれ上級者向けであれ、焦点を上記でいうところの「5. 機械学習モデルを学習する」に当てている。すなわち、機械学習を行う際の一般的な学習方法(データの収集、train/test分割、特徴量エンジニアリング、ハイパラ調整などなど)や、多種多様な学習モデルの紹介に重きを置いている。それはそれで重要なことではあるが、本書はそのような機械学習の性能をちゃんとビジネス環境下で引き出してあげるにはどのようにすればいいか、に焦点が置かれている。実際、いかに高級なモデリングであっても、それがちゃんとワークする状況下でなければ意味はないし、先述の通り「意味のない」結果に陥るケースは非常に多い。
 本書では次のように書かれている。

最も重要なのは1章です。1章では、実応用に置いて機械学習を機能させるためにたどるべき手順をフレームワークとしてまとめています。

施策デザインのための機械学習入門

実際に1章に何が書かれているかは流石に本書を手に取って読んでほしいところだが、個人的には1章は本当に衝撃的だった。そのフレームワークの有用さ及び文章の丁寧さもさることながら、いかに自分が無思慮に機械学習を行なってきたかをまざまざと見せつけられた。問題の誤設定、データに潜むバイアス、間違った意思決定…etc。冒頭で触れた「AIにデータを突っ込んであとはよしなによろしくYeah」は実は私だったという悲しい事実を突きつけられた。
 以来、機械学習系のプロジェクトを行うときは、常に本書を参考にしながら慎重にことを進めるようにしている。機械学習エンジニアやデータサイエンティストでなくても実際に読んで理解してほしい一冊である。

ただし、本書は確率や統計、機械学習等の基礎知識がある程度ないと理解できないと思われるので、先にそちらの勉強をすることをお勧めする。でないと「難しすぎて私には理解できなかったので☆1です」という恥ずかしいレビューをすることになる。

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?