Fungsi biaya untuk bandit kontekstual

14

Saya menggunakan vowpal wabbit untuk menyelesaikan masalah bandit kontekstual . Saya menampilkan iklan kepada pengguna, dan saya memiliki sedikit informasi yang adil tentang konteks di mana iklan ditampilkan (misalnya siapa pengguna, situs apa yang mereka pakai, dll.). Ini tampaknya menjadi masalah bandit kontekstual yang cukup klasik, seperti yang dijelaskan oleh John Langford .

Dalam situasi saya, ada 2 respons utama yang harus dimiliki pengguna terhadap iklan: mengklik (mungkin beberapa kali) atau tidak mengklik. Saya memiliki sekitar 1.000 iklan yang dapat saya pilih. Vowpal Wabbit membutuhkan variabel target dalam bentuk action:cost:probabilityuntuk setiap konteks. Dalam kasus saya, actiondan probabilitymudah dipahami: actionapakah iklan yang saya pilih untuk tayangkan, dan probabilitykemungkinan memilih iklan itu mengingat kebijakan saya saat ini untuk menampilkan iklan.

Namun, saya mengalami masalah dengan cara yang baik untuk memetakan pembayaran (klik) ke biaya. Klik jelas baik, dan banyak klik pada iklan yang sama juga lebih baik daripada klik tunggal pada iklan yang sama. Namun, tidak mengklik iklan adalah netral: itu sebenarnya tidak membebani saya apa pun selain kesempatan yang terlewat untuk klik (saya bekerja dalam konteks iklan yang aneh).

Beberapa ide yang saya miliki adalah:

  1. biaya = -1 * masuk (klik) + 0 * (tidak diklik)
  2. biaya = -1 * klik + 0 * (tidak diklik)
  3. biaya = -1 * masuk (klik) + 0,01 * (tidak diklik)
  4. biaya = -1 * klik + 0,01 * (tidak diklik)

Dalam hal vektor tindakan (0, 1, 5, 0)biaya dari 4 fungsi ini adalah:

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

Jelas ada banyak cara lain untuk menyatakan hal itu clicks=gooddan no clicks=bad.Secara umum, bagaimana saya harus memodelkan biaya untuk masalah bandit kontekstual dalam vowpal wabbit? Apakah boleh menyatakan manfaat sebagai biaya negatif, atau haruskah saya menskalakan ulang segala sesuatu sehingga semua biaya positif? Apakah boleh jika tindakan yang relatif netral memiliki biaya nol, atau haruskah saya memberi mereka biaya positif kecil untuk mendorong model ke arah tindakan positif?

Zach
sumber
1
Saya bingung dengan "ada 2 tindakan yang mungkin: pengguna dapat mengklik iklan atau pengguna tidak dapat mengklik iklan." Jika Anda mencoba memutuskan iklan mana yang akan ditampilkan, bukankah iklan harus menjadi tindakan?
alto
1
@ alto: Saya pikir itu harus membaca "ada 2 kemungkinan tanggapan yang bisa kami rekam untuk pengguna". Apakah itu lebih masuk akal?
Zach
Saya tidak yakin ini benar-benar masalah bandit kontekstual karena saya tidak yakin apa tujuan Anda di sini. Memecahkan masalah bandit kontekstual "mencoba mengoptimalkan kebijakan yang memilih tindakan dengan biaya minimum untuk konteks yang diamati." Apakah Anda mencoba mencari tahu berapa banyak iklan untuk dijalankan? Mencoba memodelkan perilaku konsumen? Sesuatu yang lain
shadowtalker
1
@ssdecontrol Saya mencoba mencari tahu iklan mana yang akan ditampilkan, dengan konteks. Ini adalah contoh masalah yang biasa digunakan untuk bandit kontekstual, tapi saya mendapatkan hasil yang sangat buruk dari pemecah bandit kontekstual vowpal-wabbit. Saya bertanya-tanya apakah mungkin ada cara yang berbeda saya harus menentukan "biaya" klik atau tidak-klik pada iklan.
Zach
1
@nik Saya tidak pernah benar-benar mengetahuinya, dan pergi dengan model multiclass biasa dari VW.
Zach

Jawaban: