Lanciare monete, processi decisionali e valore delle informazioni


14

Immagina la seguente configurazione: hai 2 monete, la moneta A che è garantita essere leale e la moneta B che può o meno essere giusta. Ti viene chiesto di fare 100 lanci di monete e il tuo obiettivo è massimizzare il numero di teste .

Le tue informazioni precedenti sulla moneta B sono che è stato lanciato 3 volte e ha prodotto 1 testa. Se la tua regola di decisione si basava semplicemente sul confronto della probabilità attesa delle teste delle 2 monete, giravi la moneta A 100 volte e la facevi. Ciò è vero anche quando si utilizzano ragionevoli stime bayesiane (medie posteriori) delle probabilità, poiché non si ha motivo di credere che la moneta B produca più teste.

Tuttavia, cosa succede se la moneta B è effettivamente distorta a favore delle teste? Sicuramente le "potenziali teste" che rinunci lanciando la moneta B un paio di volte (e quindi ottenendo informazioni sulle sue proprietà statistiche) sarebbero utili in un certo senso e quindi prenderebbero in considerazione la tua decisione. In che modo questo "valore delle informazioni" può essere descritto matematicamente?

Domanda: Come si costruisce matematicamente una regola di decisione ottimale in questo scenario?


Sto cancellando la mia risposta. Troppe persone si lamentano del fatto che ho usato esplicitamente un precedente (che è standard nella letteratura). Goditi la risposta errata di Cam Davidson Pilon in cui assume anche un precedente (ma nessuno obietta) e rivendica come ottimale un metodo che è 1,035 sotto ottimale.
Douglas Zare,

ehi, quando è successo tutto questo? A proposito, concordo con Douglas che usare un precedente va bene. Ritiro anche la mia affermazione di ottimalità.
Cam.Davidson.Pilon

Accetto la soluzione di Cam perché mi ha aiutato molto. Sono d'accordo che non è ottimale, ma a meno che qualcuno non possa indicare una soluzione ottimale generale che può essere facilmente calcolata, è la scommessa migliore.
M. Cypher,

Perché è stato così male che ho usato un precedente (che ho chiaramente affermato) per rispondere a una domanda taggata "bayesiana?"
Douglas Zare,

1
Non ho criticato l'uso di un precedente. Ho accennato come un sidenote che potrebbero esserci priori più appropriati di quello uniforme (ad esempio di Jeffrey), ma questo è solo marginalmente rilevante per la domanda. La tua soluzione è stata perfettamente a posto, ma non altrettanto utile per me dal momento che non si generalizza facilmente.
M. Cypher,

Risposte:


7

Bandito multi-armato

Questo è un caso particolare di un problema di bandito multi-armato . Dico un caso particolare perché generalmente non conosciamo nessuna delle probabilità delle teste (in questo caso sappiamo che una delle monete ha probabilità 0,5).

Il problema che sollevi è noto come dilemma esplorazione / sfruttamento : esplori le altre opzioni o ti attieni a ciò che pensi sia il migliore. Esiste una soluzione ottimale immediata supponendo che tu conoscessi tutte le probabilità : basta scegliere la moneta con la più alta probabilità di vincita. Il problema, come hai accennato, è che non siamo sicuri di quali siano le vere probabilità .

C'è molta letteratura sull'argomento e ci sono molti algoritmi deterministici, ma poiché hai taggato questo bayesiano, vorrei parlarti della mia soluzione preferita personale: il bandito bayesiano !

La soluzione del bandito baysiano

L'approccio bayesiano a questo problema è molto naturale. Siamo interessati a rispondere "Qual è la probabilità che la moneta X sia la migliore delle due?".

A priori , supponendo che non abbiamo ancora osservato il lancio di monete, non abbiamo idea di quale possa essere la probabilità delle teste di monete B, denotiamo questo sconosciuto . Quindi dovremmo assegnare una distribuzione uniforme precedente a questa probabilità sconosciuta. In alternativa, il nostro precedente (e posteriore) per la moneta A è banalmente concentrato interamente a 1/2.pB

Come hai affermato, osserviamo 2 code e 1 testa della moneta B, dobbiamo aggiornare la nostra distribuzione posteriore. Supponendo un precedente uniforme e le lancette sono lancette a moneta Bernoulli, il nostro posteriore è una . Confrontando ora le distribuzioni posteriori o A e B:Beta(1+1,1+2)

inserisci qui la descrizione dell'immagine

Trovare una strategia approssimativamente ottimale

Ora che abbiamo i posteriori, cosa fare? Siamo interessati a rispondere "Qual è la probabilità che la moneta B sia la migliore delle due" (Ricorda dalla nostra prospettiva bayesiana, anche se esiste una risposta definita a quale è meglio, possiamo solo parlare in probabilità):

wB=P(pb>0.5)

La soluzione approssimativamente ottimale è scegliere B con probabilità e A con probabilità . Questo schema massimizza i guadagni previsti. può essere calcolato in modo numerico, come sappiamo la distribuzione posteriore, ma un modo interessante è il seguente:wB1wBwB

1. Sample P_B from the posterior of coin B
2. If P_B > 0.5, choose coin B, else choose coin A.

Questo schema è anche autoaggiornamento. Quando osserviamo il risultato della scelta della moneta B, aggiorniamo il nostro posteriore con queste nuove informazioni e selezioniamo di nuovo. In questo modo, se la moneta B è davvero cattiva, la sceglieremo meno, e in realtà la moneta B sarà davvero buona, la sceglieremo più spesso. Certo, siamo bayesiani, quindi non possiamo mai essere assolutamente sicuri che la moneta B sia migliore. Scegliere probabilisticamente in questo modo è la soluzione più naturale al dilemma esplorazione-sfruttamento.

Questo è un esempio particolare di Thompson Sampling . Ulteriori informazioni e interessanti applicazioni per la pubblicità online sono disponibili nel documento di ricerca di Google e nel documento di ricerca di Yahoo . Adoro questa roba!


2
Non penso che la strategia sia corretta. Non penso che dovresti scegliere se scegliere A o B in modo probabilistico.
Douglas Zare,

2
Non penso che quel documento dica cosa pensi che faccia. Se non sei d'accordo, calcola il numero previsto di capi che otterrai in base a tale strategia.
Douglas Zare,

5
Non penso che questo sia vicino all'ottimale. Suggerisce che al primo lancio hai scelto B con probabilità 1/2. Dovrebbe essere chiaro che non si ottengono informazioni se si sceglie A, quindi è necessario scegliere sempre B. L'importo che perdi per questo errore è di circa 0,12 quando lo fai, quindi ti costa circa 0,06 al primo passaggio. Si perde un importo simile quando si lancia approssimativamente una moneta per decidere se raccogliere qualsiasi informazione sui prossimi passi. Lanciare in anticipo significa che hai meno tempo per sfruttare un vantaggio che potresti trovare.
Douglas Zare,

3
0.5

1
@DouglasZare Se la tua unica misura è il numero atteso di teste, date le nostre lancette, allora la migliore strategia è quella di scegliere sempre la moneta A. Ma questo è incompleto in quanto si concentra troppo sull'espliozione e non abbastanza sul potenziale vantaggio di esplorazione . La logica conclusione del tuo suggerimento è, se ricominciamo l'esperimento, di lanciare una volta la moneta B: se è Tails, scegli sempre A; altrimenti capovolgilo di nuovo, se è Heads scegli sempre B.
Cam.Davidson.Pilon

9

Questo è un semplice caso di un problema di bandito multi-armato . Come noterai, vuoi bilanciare le informazioni che raccogli provando la moneta sconosciuta quando pensi che non sia ottimale nel breve periodo contro lo sfruttamento delle conoscenze che hai.

1/2

In generale, penso che non si possa evitare un problema di programmazione dinamica, anche se potrebbero esserci casi speciali in cui la strategia ottimale può essere trovata e verificata più semplicemente.

Con un'uniforme precedente, qui è dove dovresti fermarti:

(0 heads,3 tails),(1 head,5 tails),(2 heads,6 tails),(3,7),(4,8),...(31,35),(32,35),(33,36),(34,37),...(41,44),(42,44),...(46,48),(47,48),(48,49),(49,50)

61.3299

Ho usato il seguente codice Mathematica per calcolare le azioni:

Clear[Equity];
Equity[n_, heads_, tails_] := Equity[n, heads, tails] = 
    If[n == 0, heads, 
       Max[1/2 + Equity[n - 1, heads, tails], 
           (heads + 1)/(heads + tails + 2) Equity[n - 1, heads + 1, tails] + 
           (tails + 1)/(heads + tails + 2) Equity[n - 1, heads, tails + 1]
           ]
      ]

Per fare un confronto, l'euristica del campionamento Thompson (che secondo Cam Davidson Pilon è ottimale) fornisce una media di 60.2907 teste, inferiore di 1.03915. Il campionamento Thompson ha il problema che a volte campiona B quando hai abbastanza informazioni per sapere che non è una buona scommessa, e spesso spreca possibilità di campionare B in anticipo, quando le informazioni valgono di più. In questo tipo di problema, non sei quasi mai indifferente tra le tue opzioni e esiste una strategia ottimale pura.

tp[heads_, tails_] := tp[heads, tails] = 
    Integrate[x^heads (1 - x)^tails / Beta[heads + 1, tails + 1], {x, 0, 1/2}]


Clear[Thompson];
Thompson[flipsLeft_, heads_, tails_] := Thompson[flipsLeft, heads, tails] = 
    If[flipsLeft == 0, heads, 
       Module[{p = tp[heads, tails]}, 
           p (1/2 + Thompson[flipsLeft-1,heads,tails]) + 
           (1-p)((heads+1)/(heads+tails+2)Thompson[flipsLeft-1,heads+1,tails] + 
           ((tails+1)/(heads+tails+2)) Thompson[flipsLeft-1,heads,tails+1])]]

Concordo sul fatto che una soluzione ottimale sarebbe migliore di una approssimativa. Mi chiedo se esiste una soluzione generale ottimale che può essere efficacemente applicata in millisecondi in un ambiente dinamico con diverse centinaia di "monete". In caso contrario, suppongo che il campionamento Thompson sia l'opzione migliore.
M. Cypher,

Il campionamento Thompson è una scarsa approssimazione. Esistono approssimazioni migliori che è possibile utilizzare se non si desidera superare il problema del calcolo esatto (nella peggiore quadratica), ma si desidera comunque evitare errori di grandi dimensioni. In realtà, il calcolo esatto potrebbe essere più vicino al lineare.
Douglas Zare,

PrB(heads)(0,1)1/250

Non conosco Mathematica, quindi non posso seguire come hai calcolato il tuo numero previsto di teste. Ti interessa spiegare quella parte? Se supponiamo che il pregiudizio della moneta B sia tratto da una distribuzione uniforme su [0,1], allora non vedo come puoi aspettarti di battere 50/50.
Jerad,

1
Douglas: Perché ho prestato maggiore attenzione alla tua risposta :-). Per favore, non fraintendetemi: mi piace e mi piace questa discussione. Ho pensato che fosse importante sottolineare che dovevi aggiungere un presupposto per ottenere la tua risposta, tutto qui. In pratica, in molte situazioni, inclusa questa, non c'è nessun precedente . (Sicuramente non vorrei inventare un precedente personale e quindi scommettere molto denaro su di esso!) Ma ovviamente c'è ancora un ottimo, purché tu specifichi una funzione di perdita. ("Massimizzare" un'aspettativa non è una funzione di perdita totale.)
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.