Bağlamsal bir haydut sorunu çözmek için vowpal wabbit kullanıyorum . Kullanıcılara reklamları gösteriyorum ve reklamın gösterildiği bağlam hakkında oldukça fazla bilgiye sahibim (ör. Kullanıcının kim olduğu, hangi sitede olduğu vb.). Bu, John Langford tarafından tarif edildiği gibi oldukça klasik bir bağlamsal eşkıya sorunu gibi görünüyor .
Benim durumumda, bir kullanıcının bir reklama verebileceği 2 ana yanıt vardır: tıklamak (muhtemelen birden çok kez) veya tıklamamak. Aralarından seçim yapabileceğim yaklaşık 1.000 reklamım var. Vowpal Wabbit action:cost:probability
, her bağlam için bir hedef değişken gerektirir . Benim durumumda action
ve probability
anlaşılması kolay: action
görüntülemeyi seçtiğim reklam ve probability
reklamları göstermek için mevcut politikam verildiğinde bu reklamı seçme olasılığı.
Ancak, getirilerimi (tıklamaları) maliyetlerle eşlemek için iyi bir yol bulmakta zorlanıyorum. Tıklamalar açıktır ve aynı reklama yapılan birden çok tıklama, aynı reklama yapılan tek tıklamadan da daha iyidir. Ancak, bir reklamı tıklamak tarafsızdır: aslında bana bir tıklama için kaçırılan fırsattan başka bir maliyeti yoktur (tek bir reklam bağlamında çalışıyorum).
Sahip olduğum bazı fikirler:
- maliyet = -1 * işareti (tıklama) + 0 * (tıklama değil)
- maliyet = -1 * tıklama + 0 * (tıklanmadı)
- maliyet = -1 * işareti (tıklama) + 0,01 * (tıklanmadı)
- maliyet = -1 * tıklama + 0,01 * (tıklanmadı)
(0, 1, 5, 0)
Bu 4 işlevden maliyetlerin bir eylem vektörü durumunda:
(0, -1, -1, 0)
(0, -1, -5, 0)
(0.01, -1, -1, 0.01)
(0.01, -1, -5, 0.01)
Bunu göstermenin başka birçok yolu var clicks=good
ve no clicks=bad.
genel olarak, vowpal wabbit'te bağlamsal eşkıya sorunları için maliyetleri nasıl modellemeliyim? Faydaları negatif maliyetler olarak temsil etmek uygun mu yoksa her şeyi tüm maliyetler olumlu olacak şekilde yeniden ölçeklendirmeli miyim? Nispeten tarafsız eylemlerin sıfır maliyete sahip olması uygun mu yoksa modeli olumlu eylemlere doğru itmeleri için onlara küçük bir pozitif maliyet vermeli miyim?