文脈上の盗賊のコスト関数


14

私は文脈依存バンディット問題を解決するためにvowpal wabbitを使用しています。ユーザーに広告を表示していますが、広告が表示されるコンテキスト(ユーザーが誰なのか、ユーザーがどのサイトにいるのかなど)に関するかなりの情報を持っています。これは、ジョン・ラングフォードによって説明されているように、かなり古典的な文脈上の盗賊の問題のようです。

私の状況では、ユーザーが広告に対して持つことができる主な応答は2つあります。クリック(おそらく複数回)またはクリックしないことです。選択できる広告は約1,000個あります。Vowpal Wabbitには、action:cost:probability各コンテキストの形式のターゲット変数が必要です。私の場合、actionおよびprobability把握するのは簡単です:action私は、ディスプレイに選んだ広告であり、probability広告を表示するための私の現在のポリシーを与えられたその広告を選択する可能性があります。

しかし、ペイオフ(クリック)をコストにマッピングする良い方法を思い付くのに苦労しています。クリックは明らかに優れており、同じ広告を複数回クリックすることは、同じ広告を1回クリックするよりも優れています。ただし、広告をクリックしないことは中立です。実際にクリックの機会を逃したこと以外に費用はかかりません(私は奇妙な広告コンテキストで作業しています)。

私が持っていたいくつかのアイデアは次のとおりです。

  1. cost = -1 * sign(clicks)+ 0 *(クリックされていない)
  2. コスト= -1 *クリック+ 0 *(クリックされない)
  3. cost = -1 * sign(clicks)+ 0.01 *(クリックされていない)
  4. コスト= -1 *クリック+ 0.01 *(クリックされない)

(0, 1, 5, 0)これら4つの機能のコストのアクションベクトルの場合は、次のようになります。

  1. (0, -1, -1, 0)
  2. (0, -1, -5, 0)
  3. (0.01, -1, -1, 0.01)
  4. (0.01, -1, -5, 0.01)

その表現する他の多くの方法は明らかに存在するclicks=goodno clicks=bad.一般的には、どのように私はvowpal wabbitにおける文脈盗賊の問題のためにコストをモデル化する必要がありますか?メリットをマイナスのコストとして表すことはできますか、それともすべてのコストがプラスになるようにすべてを再スケーリングする必要がありますか?比較的中立的なアクションでコストをゼロにしてもかまいませんか、それともモデルをポジティブなアクションに向けてプッシュするために小さなプラスのコストを与える必要がありますか?


1
「2つの可能なアクションがあります。ユーザーが広告をクリックできるか、ユーザーが広告をクリックできないかです」と混乱しています。表示する広告を決定しようとしている場合、広告はアクションではないでしょうか?
アルト14

1
@alto:「ユーザーに対して記録できる応答は2つあります」と読むべきだと思います。それは理にかなっていますか?
ザック14

私はあなたの目標がここにあるかわからないので、これが本当に文脈上の盗賊の問題であるかどうかはわかりません。コンテキストバンディットの問題を解決するには、「観察されたコンテキストの最小コストでアクションを選択するポリシーを最適化しようとします。」実行する広告の数を把握しようとしていますか?消費者の行動をモデル化しようとしていますか?他に何か?
シャドウトーカー

1
@ssdecontrolコンテキストを考慮して、どの広告を表示するかを考えています。これは、コンテクストバンディットでよく使用される問題例ですが、vowpal-wabbitのコンテクストバンディットソルバーからは本当に悪い結果が得られています。広告のクリックまたはクリック以外の「コスト」を指定する別の方法があるのではないかと思っていました。
ザック

1
@nik私はそれを実際に理解したことはなく、代わりにVWの通常のマルチクラスモデルを使用しました。
ザック

回答:


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.