【えーびーてすと】

A/Bテスト(機械学習) とは?

最終更新:
💡 モデルの変更がユーザーに与える効果を、同じ期間に比べる

機械学習モデルなどの変更を、同じ期間の利用者グループにランダムに割り当て、ユーザー行動への影響を比較する実験。差の大きさや不確かさ、他の指標への影響も調べる。

📌 このページのポイント
同じ期間に、モデルの変更を比べる利用者をランダムに割当同じ人の割り当てを保つA群:旧モデル推薦をユーザーへ表示B群:新モデル推薦をユーザーへ表示効果の大きさ・不確かさを比較応答時間やエラーの悪化も確認
利用者を単位にした推薦モデルの比較例。矢印は割り当てと評価への流れです。配分は必ず半分ずつとは限らず、新モデルの数値が少し高いだけで採用を決めるものではありません。
ひよこ ひよこ
オフラインでモデルを評価すれば十分じゃないの?
ペンギン先生 ペンギン先生
テストデータでの評価は大切だけれど、推薦の精度が上がれば購入率も上がるとは限らないよ。A/Bテストでは、同じ期間に旧モデルと新モデルを使うグループを比べ、実際のユーザー行動への影響を調べるんだ
ひよこ ひよこ
具体的にはどうやるの?
ペンギン先生 ペンギン先生
例えば利用者をランダムにA群とB群へ割り当て、Aには旧モデル、Bには新モデルの推薦を見せるよ。同じ人の体験が途中で混ざらないよう、割り当てを保つ。50対50は一例で、新モデルへの配分を小さく始める設計もあるんだ
ひよこ ひよこ
何日くらい実施すればいい?
ペンギン先生 ペンギン先生
一律に1週間や2週間とは決まらないよ。見つけたい差の大きさ、指標のばらつき、利用者数、曜日などの影響を考えて、必要なデータ量と期間を事前に決める。利用者同士が影響し合うサービスでは、割り当ての単位にも工夫が必要だよ
ひよこ ひよこ
新モデルのクリック率が少し高ければ採用?
ペンギン先生 ペンギン先生
偶然の差かもしれないので、差の大きさや統計的な不確かさを確認するよ。クリック率だけでなく、購入率や応答時間、エラー率なども見る。良い点と悪い点を合わせて判断し、差がはっきりしなかったという結果もあり得るんだ
ひよこ ひよこ
途中で結果を見て、良さそうなら終えていい?
ペンギン先生 ペンギン先生
大きな悪化や不具合を監視して止めることは大切だよ。ただ、何度も結果を見て有意な瞬間だけを選ぶと、偶然を効果と誤認しやすくなる。途中判定に合う統計手法や終了条件を決め、初めに立てた実験の設計に沿って評価しよう
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「A/Bテスト」って出てきたら「モデルなどの変更の効果を、利用者グループで比べる実験」と思えばだいたいOK!
📖 おまけ:英語の意味
「A/B Testing」 = AとBの比較テスト
💬 対照となるAと変更を加えたBを比べる呼び方だよ。機械学習では、例えば推薦モデルの変更が実際のユーザー行動にどう影響するかを確かめる

参考資料

← 用語集にもどる