Inversão de moeda, processos de decisão e valor da informação

14

Imagine a seguinte configuração: Você tem 2 moedas, a moeda A que é garantida como justa e a moeda B que pode ou não ser justa. Você é solicitado a fazer 100 lançamentos de moedas, e seu objetivo é maximizar o número de caras .

Sua informação prévia sobre a moeda B é que ela foi lançada 3 vezes e rendeu 1 cabeça. Se a sua regra de decisão baseasse simplesmente na comparação da probabilidade esperada de cara das 2 moedas, você jogaria a moeda A 100 vezes e terminaria com ela. Isso é verdade mesmo ao usar estimativas Bayesianas razoáveis ​​(médias posteriores) das probabilidades, pois você não tem motivos para acreditar que a moeda B produz mais cabeças.

No entanto, e se a moeda B for realmente tendenciosa em favor das cabeças? Certamente as "cabeças em potencial" que você desiste lançando a moeda B algumas vezes (e, portanto, obtendo informações sobre suas propriedades estatísticas) seriam valiosas em algum sentido e, portanto, levariam em consideração sua decisão. Como esse "valor da informação" pode ser descrito matematicamente?

Pergunta: Como você constrói uma regra de decisão ideal matematicamente neste cenário?

M. Cypher
fonte
Estou excluindo minha resposta. Muitas pessoas estão reclamando que eu usei explicitamente um prior (que é padrão na literatura). Aprecie a resposta incorreta de Cam Davidson Pilon, onde ele também assume um anterior (mas ninguém objeta) e reivindica como ideal um método que está 1,035 abaixo do ideal.
Douglas Zare
whoah, quando tudo isso aconteceu? BTW, eu concordo com Douglas que o uso de um prior é bom. Também retiro minha afirmação de otimização.
Cam.Davidson.Pilon
Estou aceitando a solução de Cam porque me ajudou muito. Concordo que não é o ideal, mas, a menos que alguém possa apontar uma solução ótima geral que possa ser facilmente calculada, é a melhor aposta.
M. cifra
Por que foi tão ruim que usei um prior (o que afirmei claramente) para responder a uma pergunta marcada como "bayesiana"?
Douglas Zare
1
Não critiquei o uso de um prior. Mencionei como nota de rodapé que pode haver prioros mais apropriados do que o uniforme (por exemplo, o de Jeffrey), mas isso é apenas marginalmente relevante para a questão. Sua solução estava perfeitamente bem, mas não é tão útil para mim, pois não se generaliza facilmente.
M. cifra

Respostas:

7

Bandido Multi-armado

Este é um caso particular de um problema de bandido multarmado . Eu digo um caso particular porque geralmente não sabemos qualquer das probabilidades de cara (neste caso, sabemos que uma das moedas tem probabilidade 0,5).

A questão que você levanta é conhecida como dilema de exploração versus exploração : você explora as outras opções ou se mantém com o que considera melhor. Existe uma solução ótima imediata, assumindo que você conhecia todas as probabilidades : basta escolher a moeda com a maior probabilidade de ganhar. O problema, como você aludiu, é que não temos certeza sobre quais são as verdadeiras probabilidades .

Há muita literatura sobre o assunto e existem muitos algoritmos determinísticos, mas desde que você marcou esse bayesiano, gostaria de falar sobre minha solução favorita: o bandido bayesiano !

A solução Baysian Bandit

A abordagem bayesiana para esse problema é muito natural. Estamos interessados ​​em responder "Qual é a probabilidade de a moeda X ser a melhor das duas?".

A priori , supondo que não tenhamos observado nenhum lançamento de moeda ainda, não temos idéia de qual seja a probabilidade das cabeças da moeda B, denotam esse desconhecido pB . Portanto, devemos atribuir uma distribuição uniforme anterior a essa probabilidade desconhecida. Alternativamente, nosso anterior (e posterior) para a moeda A é trivialmente concentrado inteiramente em 1/2.

Como você afirmou, observamos 2 caudas e 1 cara da moeda B, precisamos atualizar nossa distribuição posterior. Supondo que um uniforme anterior e flips sejam moedas de Bernoulli, nosso posterior é um . Comparando as distribuições posteriores ou A e B agora:Beta(1+1,1+2)

insira a descrição da imagem aqui

Encontrando uma estratégia aproximadamente ideal

Agora que temos os posteriores, o que fazer? Estamos interessados ​​em responder "Qual é a probabilidade da moeda B ser a melhor das duas" (lembre-se de nossa perspectiva bayesiana, embora exista uma resposta definitiva para qual a melhor, só podemos falar em probabilidades):

wB=P(pb>0.5)

A solução aproximadamente óptima é escolher B com probabilidade e A com probabilidade 1 - w B . Esse esquema maximiza os ganhos esperados. w B pode ser calculado calculado numericamente, como sabemos a distribuição posterior, mas uma maneira interessante é a seguinte:wB1wBwB

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

Esse esquema também é auto-atualizável. Quando observamos o resultado da escolha da moeda B, atualizamos nosso posterior com essas novas informações e selecionamos novamente. Dessa forma, se a moeda B for muito ruim, escolheremos menos e, na verdade, a moeda B será muito boa, vamos escolher com mais frequência. É claro que somos bayesianos, portanto nunca podemos ter certeza absoluta de que a moeda B é melhor. Escolher probabilisticamente assim é a solução mais natural para o dilema exploração-exploração.

Este é um exemplo particular de Thompson Sampling . Mais informações e aplicativos interessantes para publicidade on-line podem ser encontrados no artigo de pesquisa do Google e no artigo de pesquisa do Yahoo . Eu amo essas coisas!

Cam.Davidson.Pilon
fonte
2
Não acho que essa estratégia esteja correta. Eu não acho que você deva escolher escolher A ou B probabilisticamente.
Douglas Zare
2
Não acho que o jornal diga o que você pensa. Se você não concordar, calcule o número esperado de cabeças que você obterá de acordo com essa estratégia.
Douglas Zare
5
Eu não acho que isso esteja próximo do ideal. Isso sugere que, no primeiro flip, você escolheu B com probabilidade 1/2. Deve ficar claro que você não obtém informações se escolher A, portanto deve escolher B o tempo todo. O valor que você perde com esse erro é de cerca de 0,12 quando o cria, portanto, custa cerca de 0,06 na primeira etapa. Você perde uma quantia semelhante ao jogar aproximadamente uma moeda para decidir se deseja coletar alguma informação nas próximas etapas. Virar cedo significa que você tem menos tempo para explorar uma vantagem que pode encontrar.
Douglas Zare
3
0,5
1
@DouglasZare Se a sua única medida é o número esperado de cabeças, dada a nossa coin flips, em seguida, a melhor estratégia é sempre escolher moeda A. Mas esta é incompleta, pois concentra demasiado no explioitation , e não o suficiente sobre o potencial de crescimento da exploração . A conclusão lógica de sua sugestão é, se reiniciarmos o experimento, jogar a moeda B uma vez: se for Tails, sempre escolha A; outra lançá-lo novamente, se for Chefes sempre escolher B.
Cam.Davidson.Pilon
9

Este é um caso simples de um problema de bandidos com várias armas . Como você observa, você deseja equilibrar as informações coletadas experimentando a moeda desconhecida quando você pensa que é subótimo a curto prazo contra a exploração do conhecimento que possui.

1/2por escolha de A. Isso significa que, se é certo jogar a moeda A, então você deve continuar jogando A. Então, você só quer encontrar a regra de parada ideal para quando você deve desistir de B. Isso depende da distribuição anterior para o parâmetro para B e o número de tentativas. Com um número maior de tentativas, explorar tem mais valor, então você deve testar B mais.

Em geral, acho que você não consegue se livrar de um problema de programação dinâmica, embora possa haver casos especiais em que a estratégia ideal pode ser encontrada e verificada de maneira mais simples.

Com um uniforme anterior, aqui é onde você deve parar:

(0 0 cabeças,3 caudas),(1 cabeça,5 caudas),(2 cabeças,6 caudas),(3,7),(4,8),...(31,35),(32.,35),(33,36.),(34,37.),...(41,44),(42.,44),...(46.,48.),(47,48.),(48.,49.),(49.,50.).

Sob essa estratégia, você espera coletar 61.3299 cabeças.

Usei o seguinte código do Mathematica para calcular as ações:

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]
           ]
      ]

Para comparação, a heurística de amostragem Thompson (que Cam Davidson Pilon afirmou ser ideal) fornece uma média de 60.2907 cabeças, menor em 1,03915. A amostragem Thompson tem o problema de, às vezes, amostrar B quando você tem informações suficientes para saber que não é uma boa aposta, e muitas vezes perde chances de amostrar B mais cedo, quando as informações valem mais. Nesse tipo de problema, você quase nunca fica indiferente entre suas opções, e existe uma estratégia ideal 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])]]
Douglas Zare
fonte
Concordo que uma solução ideal seria melhor que uma solução aproximada. Gostaria de saber se existe uma solução geral ideal que possa ser aplicada eficientemente em milissegundos em um ambiente dinâmico com várias centenas de "moedas". Caso contrário, acho que a amostragem Thompson é a melhor opção.
M. cifra
A amostragem de Thompson é uma aproximação pobre. Existem aproximações melhores que você pode usar se não quiser passar pelo problema do cálculo exato (na pior das hipóteses quadrática), mas ainda assim deseja evitar grandes erros. Na verdade, o cálculo exato pode estar mais próximo de linear.
Douglas Zare
O que nos permite assumir que há uma distribuição prévia em B? Admito que tal suposição torna o problema mais tratável, mas a existência de uma avaliação objetivamente válida da justiça de B é duvidosa para mim. Sim, temos os resultados de alguns movimentos anteriores, mas esses ainda são consistentes com qualquer valor paraPrB(cabeças) dentro (0 0,1). Se de fato essa probabilidade é menor que1/2, Então eu não me importo o que antes você optar por adotar: será um fato objetivo que o número esperado de cabeças com a sua abordagem é inferior a50..
whuber
Não conheço o Mathematica, portanto não posso acompanhar como você calculou o número esperado de cabeças. Importa-se de explicar essa parte? Se assumirmos o conhecimento de que o viés da moeda B é extraído de uma distribuição uniforme em [0,1], não vejo como você pode esperar vencer 50/50.
Jerad
1
Douglas: Porque prestei mais atenção à sua resposta :-). Por favor, não me interpretem mal - eu gosto e gosto deste tópico. Eu pensei que era importante ressaltar que você tinha que adicionar uma suposição para obter sua resposta, só isso. Por uma questão prática, em muitas situações - incluindo esta - não há prévia . (Eu certamente não gostaria de inventar um prior pessoal e depois ter que apostar muito dinheiro nele!) Mas é claro que ainda existe um ótimo, desde que você especifique uma função de perda. ("Maximizar" uma expectativa não é uma função de perda total.)
whuber