プロポーザル
これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部にあるSNSのボタンで拡散しましょう。拡散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせていただきます。
talk
banditアルゴリズムを使った自動ABテスト(ja)
スピーカー
Shoichi Taguchi
対象レベル:
初級
カテゴリ:
Big Data
説明
データ分析の初学者にもわかりやすいようにbanditアルゴリズムを解説し、疑似コード、pythonで書いた時のコード、簡単なデモをお見せします。
banditアルゴリズム:複数台のスロットマシンを相手に報酬を最大化する目的で作られた。事前情報がない選択肢を探索的に試しながら、得た情報を使って各選択肢の期待報酬を計算し、報酬見合いの確率で選択できるよう自己調整し続ける。昨今自動ABテスト用に使われる。
目的
banditアルゴリズムの概要、pythonを使った記述の仕方、実際に業務適用する際の注意点をお伝えし、参加者が自分でbanditアルゴリズムを使って効率的なABテストができるようサポートできればと思います
概要
CV最適なUIは個々人で違う、ということに反論する人は多くないでしょう。膨大な情報を詰め込んだwebサイト/アプリの中で、実際に個人が見ることのできる情報量には限界がありますが、どのように各個人に対してコンテンツを出すのが最適でしょうか。レコメンデーションのようなモデルを作って対応するのは妥当な方法ですが、もしデータがあまり使えない場合はどうでしょう。そうしたケースに対応できるのがbanditアルゴリズムです。
banditアルゴリズムは事前のデータがない状態からでも適用でき、探索的に各コンテンツの報酬(CVR等)を推定、最適な各コンテンツの表示確率(期待報酬見合い)を自動で学習します。簡単に言えば自動でABテストを連続的に繰り返し、更新のたびに報酬見合いで各コンテンツの表示確率を調整するという動きを繰り返します。
また、banditアルゴリズムはABテストという文脈であれば概ね良好に機能します。例えばレコメンデーションのアルゴリズムを2つ以上比較検討したい、というケースにも使えますし、2つ以上のbanditアルゴリズムを競わせることもできます。
本発表は上記のような概要に加え、疑似コード、pythonコード、デモ、実用上の注意点をお伝えし、実際に個人でbanditアルゴリズムを動かしoutputを作れるようなセッションにしたいと思っています。
ただし僕自身の専門範囲ではないので、インフラの話はあまり厚く扱う予定はありません。