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