De acordo com este artigo da Wikipedia , pode-se representar o produto de probabilidades x⋅y
como -log(x) - log(y)
tornando o cálculo mais ótimo computacionalmente. Mas se eu tentar um exemplo, diga:
p1 = 0.5
p2 = 0.5
p1 * p2 = 0.25
-log(p1) - log(p2) = 2
p3 = 0.1
p4 = 0.1
p3 * p4 = 0.01
-log(p3) - log(p4) = 6.64
O produto das probabilidades p1
e p2
é maior que o de p3
e p4
, mas a probabilidade do log é menor.
Por quê?
probability
logarithm
arithmetic
spacemonkey
fonte
fonte
Respostas:
Receio que você tenha entendido mal o que o artigo pretende. Isso não é uma grande surpresa, pois está escrito de maneira pouco clara. Há duas coisas diferentes acontecendo.
O primeiro é simplesmente trabalhar na escala de log.
Ou seja, em vez de " " (quando você tiver independência), pode-se escrever " ". Se você precisar da probabilidade real, poderá exponenciar no final para retornar : mas se necessário em no geral, a exponenciação seria normalmente deixada para o último passo possível. Por enquanto, tudo bem. log ( p A B ) = log ( p A ) + log ( p B ) p A BpA B= pUMA⋅ pB registro( pA B) = log( pUMA) + log( pB) pA B pA B= eregistro( pUMA) + log( pB),
A segunda parte está substituindo por . É assim que trabalhamos com valores positivos.- log pregistrop - logp
Pessoalmente, não vejo muito valor nisso, especialmente porque inverte a direção de qualquer pedido ( é monotônico aumentando, portanto, se , então ; essa ordem é invertido com ).registro p1< p2 registro( pUMA) < log( p2) - logp
Essa reversão parece preocupá-lo, mas é uma conseqüência direta da negação - deve ocorrer com probabilidades de log negativas. Pense na probabilidade logarítmica negativa como uma escala de "raridade" - quanto maior o número, mais raro o evento é (o artigo se refere a ele como "valor surpresa", ou surpresa , que é outra maneira de pensar sobre isso). Se você não gostar dessa reversão, trabalhe com .registrop
Para converter probabilidades de log negativo novamente em probabilidades, você deve negar antes de exponenciar. Se dissermos ( para 'valor surpresa'), entãoComo você vê, isso reverte a direção uma segunda vez, devolvendo o que precisamos.sEu= - log( pEu) s pA B= e- [ sUMA+ sB].
fonte