「推測を超えて:効果的な記事タイトル選択のためのベイジアン統計の活用」
「物理学を超えて:美容とファッション記事の魅力的なタイトル選びにベイジアン統計を活用せよ」
イントロダクション
良いタイトルは記事の成功に不可欠です。人々はたった一秒で(Ryan Holidayの本「信じてください、僕は嘘をついています」を信じるならば)タイトルをクリックして記事を全て開くかどうかを決めます。メディアはクリック率(CTR)の最適化に夢中です。クリック数を掲載回数で割った値です。クリック誘導タイトルであるほどCTRが上昇します。メディアは2つのタイトルの中でCTRが高い方を選ぶでしょう、なぜならそれが収益を高めるからです。
私は広告収益を追い求めることにはあまり興味がありません。私の知識や専門知識を広めることがもっと重要です。しかし、視聴者は限られた時間と注意力しか持っていませんし、インターネット上のコンテンツは事実上無限です。それゆえに、他のコンテンツ制作者と競争して視聴者の注意を引き付ける必要があります。
- 「DreamSyncに会ってください:画像理解モデルからのフィードバックを用いてテキストから画像の合成を改良する新しい人工知能フレームワーク」
- 「大規模言語モデルの世界でどのように仕事に就く準備をするか?」
- 「MMMUと出会おう:専門家レベルのマルチモーダルなチャレンジに向けたAIベンチマークで人工知能の一般的な発展への道筋をつける」
次の記事に適切なタイトルをどのように選べばいいのでしょうか?もちろん、選択肢のセットが必要です。幸い、自分自身で生成したり、ChatGPTに尋ねたりすることができます。ただし、次はどうすればよいのでしょうか?データサイエンティストとして、データに基づいて最適なオプションが何かを理解するためにA/B/Nテストを実行することを提案します。しかしここに問題があります。まず、コンテンツはすぐに期限が切れるため、迅速に決定する必要があります。また、CTRは比較的低い値であるため、統計的に有意な差を見つけるだけの十分な観測データがないかもしれません。そのため、数週間待つ以外にも選択肢があります。
幸いにも解決策があります!「マルチアームバンディット」機械学習アルゴリズムを使用することができます。これは、視聴者の行動に関する観測データに適応するマシンラーニングアルゴリズムです。セット内の特定のオプションに人々がクリックする回数が多いほど、そのオプションにトラフィックを割り当てることができます。本記事では、「ベイズマルチアームバンディット」とは何かを簡単に説明し、Pythonを使用して実践的にどのように機能するかを示します。
ベイズマルチアームバンディットとは何か?
マルチアームバンディットは機械学習アルゴリズムの一種です。ベイズ型では、新しいデータに基づいて更新されるCTRの確率分布に関する事前信念を基にオプションを選択するためにトンプソンサンプリングを利用します。これらの確率論と数理統計学の用語は複雑で難解に聞こえるかもしれませんが、なるべく少ない数式を使ってこの概念を説明します。
2つのタイトルのみ選択肢があるとします。それらのCTRについて何の情報も持っていません。ただ最も高いパフォーマンスを持つタイトルを持ちたいと思っています。複数のオプションがあります。最初のオプションは私たちがより信じるタイトルを選ぶことです。これが業界で長年機能してきた方法です。2番目のオプションは入ってくるトラフィックの50%を最初のタイトルに割り当て、もう50%を2番目のタイトルに割り当てます。これはデジタルメディアの発展によって可能になりました。視聴者が記事のリストをリクエストしたときに正確にどのテキストを表示するかを決めることができます。このアプローチで、トラフィックの50%が最もパフォーマンスの良いオプションに割り当てられたことが保証されます。これは限界でしょうか?もちろんそうではありません!
記事が公開されてから数分以内に読む人もいれば、数時間や数日にわたって読む人もいます。これによって異なるタイトルに早く反応した「早期」の読者の反応を観察し、トラフィックの割り当てを50/50から少し変更することができます。しばらく時間がたった後、再びCTRを計算して分割を調整することができます。限界として、新しい視聴者がタイトルをクリックしたりスキップしたりするたびにトラフィックの割り当てを調整したいと考えています。トラフィックの割り当てを科学的かつ自動的に適応させるためのフレームワークが必要です。
そこで登場するのがベイズの定理、ベータ分布、そしてトンプソンサンプリングです。
記事のCTRをランダム変数「θ」として考えましょう。設計上、θは0から1の間のどこかにあります。先入観を持っていない場合、0から1の間の任意の数値が等しい確率で存在する可能性があります。いくつかのデータ「x」を観察した後、ベイズの定理を使用して「θ」の新しい分布を調整することにより、信念を調整します。この新しい分布は0または1に近づくように歪みます。
クリック数は、タイトルのCTRを表す「n」がタイトルを見た訪問者数、そして「p」がタイトルのCTRである二項分布でモデル化することができます。これが私たちの尤度です!事前モデル(CTRの分布についての私たちの信念)をベータ分布としてモデル化し、二項尤度を取ると、事後分布も異なるパラメータを持つベータ分布となります!このような場合、ベータ分布は尤度に対して共役事前分布と呼ばれます。
その事実の証明はそれほど難しくありませんが、この記事の文脈では関連性がない数学的な演習が必要です。美しい証明についてはこちらをご覧ください:
ベータ分布は0から1までの範囲内に制約されているため、CTRの分布をモデル化するには完璧な候補です。「a = 1」と「b = 1」というベータ分布のパラメータからCTRをモデル化します。この場合、分布についての信念はなく、どのCTRも同じくらいの確率で起こりうるということになります。次に、観測されたデータを追加していきます。ご覧の通り、各「成功」または「クリック」は「a」を1増加させます。各「失敗」または「スキップ」は「b」を1増加させます。これによりCTRの分布が偏りますが、分布の形は変わりません。それは依然としてベータ分布です!
CTRをベータ分布としてモデル化することを前提とします。その後、2つのタイトルオプションと2つの分布があります。視聴者にどれを表示するかをどのように選択しますか?したがって、このアルゴリズムは「多腕バンディット」と呼ばれます。視聴者がタイトルをリクエストする際には、両方の「腕」を引いてCTRをサンプリングします。その後、値を比較し、サンプリングされたCTRが最も高いタイトルを表示します。そして、視聴者はクリックするかスキップします。タイトルがクリックされた場合、「成功」を表すこのオプションのベータ分布パラメータ「a」を調整します。それ以外の場合は、このオプションのベータ分布パラメータ「b」を増やします。これにより分布が歪み、次の視聴者には他のオプションと比べてこのオプション(または「腕」)を選択する確率が異なります。
数回の繰り返しの後、アルゴリズムはCTRの分布の推定値を持つようになります。この分布からサンプリングすることによって、主に最も高いCTRの「腕」がトリガーされますが、新しいユーザーが他のオプションを探索し、割り当てを再調整することも可能です。
まあ、これは理論上はうまく機能します。それは以前に議論した50/50の分割よりも本当に優れているのでしょうか?
Pythonでシミュレーションを構築する
シミュレーションの作成とグラフの作成に必要なすべてのコードは、私のGitHubリポジトリで見つけることができます。
前述のように、私たちは選択できるタイトルが2つしかありません。このタイトルのCTRについては事前の信念がありません。したがって、Beta分布の両方のパラメータとしてa=1およびb=1から始めます。私はキューの視聴者を想定したシンプルなトラフィックをシミュレートします。前の視聴者がタイトルを新しい視聴者に表示する前に「クリック」または「スキップ」したかどうかを正確に把握しています。クリックとスキップのアクションをシミュレートするために、実際のCTRを定義する必要があります。5%と7%としましょう。これらの値についてアルゴリズムは何も知りません。クリックをシミュレートするために、バイアスが非常に高いコインを投げます。このコインは5%または7%の確率で表が出ます。表が出れば、クリックが発生したことになります。
それから、アルゴリズムは簡単です:
- 観測データに基づいて、各タイトルのベータ分布を取得します
- 両分布からCTRをサンプリングします
- どのCTRが高いかを理解し、関連するコインをフリップします
- クリックがあったかどうかを理解します
- クリックがあった場合はパラメーター “a” を1増加させ、スキップがあった場合はパラメーター “b” を1増加させます
- キューにユーザーがいる限り、繰り返します
アルゴリズムの品質を理解するために、実際のCTRが高い第2のオプションにさらされた視聴者の割合を表す値を保存します。ベースラインの品質として50/50の分割戦略を使用しましょう。
コード by 著者
キューに1000人のユーザーがいる時点で、「マルチアームバンディット」はすでにCTRをよく理解しています。
そして、このような戦略がより良い結果を生むことを示すグラフもあります。100人以上の視聴者の後、「マルチアームバンディット」は第2のオプションを提供された視聴者の割合が50%を超えました。2番目のタイトルをサポートする証拠がますます増えるにつれて、アルゴリズムはますます多くのトラフィックを2番目のタイトルに割り当てました。ほとんど80%の視聴者が最もパフォーマンスの高いオプションを見ました!一方、50/50の分割では、50%の人しか最もパフォーマンスの高いオプションを見ませんでした。
ベイジアンマルチアームバンディットは、より良いパフォーマンスのオプションを視聴者の追加25%にさらしました!より多くのデータが入ってくると、これら2つの戦略の違いはさらに拡大するでしょう。
結論
もちろん、「マルチアームバンディット」は完璧ではありません。リアルタイムでのオプションのサンプリングと提供は費用がかかります。望ましいレイテンシを持つ良好なインフラストラクチャを実装するためには最適です。また、タイトルを変更することで視聴者を驚かせたくないかもしれません。クイックなA/Bテストを実行するための十分なトラフィックがあれば、それを行ってください!その後、タイトルを手動で変更してください。ただし、このアルゴリズムはメディア以外の多くのアプリケーションでも使用することができます。
私は「マルチアームバンディット」が何であり、新しいデータに適応するために2つのオプションの選択に使用できる方法を理解していただけると嬉しいです。数式や数学については教科書の方が説明が良いため、特に焦点を当てませんでした。私は新しいテクノロジーを紹介し、それに興味を持っていただけることを意図しています。
質問があれば、どうぞLinkedInでお気軽にご連絡ください。
すべてのコードが含まれているノートブックは、私のGitHubリポジトリで見つけることができます。
[Igor Khomyanin](https://www.linkedin.com/in/igorkhomyanin/)は、Salmonのデータサイエンティストであり、以前はYandexとMcKinseyでデータの役割を果たしていました。私は統計とデータビジュアライゼーションを使用してデータから価値を抽出することに特化しています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- なぜGPUはAIに適しているのか
- アマゾンセージメーカーとAWSバッチを使用して、ゲティールはモデルトレーニングの時間を90%短縮しました
- スタイルTTS 2 大規模スピーチ言語モデルを用いた人間レベルのテキスト音声変換
- 小さいが強力:大型言語モデルの時代における小型言語モデルの飛躍
- スタビリティAIがアドバーサリアルディフュージョンディスティレーション(ADD)を導入します:最小限のステップでの高精度、リアルタイムイメージ合成の画期的な手法
- 「ローカルCPU上の小規模言語モデルのためのステップバイステップガイド」
- ディープシークは、ディープシーク-67Bモデルをオープンソース化しました:中国からの最新のChatGPTのライバル