Teorema de Bayes en Machine Learning, breve intoducción

El teorema de Bayes proporciona una forma de principio para calcular una probabilidad condicional.

Es un cálculo engañosamente simple, aunque puede usarse para calcular fácilmente la probabilidad condicional de eventos donde la intuición a menudo falla.

El teorema de Bayes también proporciona una forma de pensar sobre la evaluación y selección de diferentes modelos para un conjunto de datos dado en el aprendizaje automático aplicado. Maximizar la probabilidad de que un modelo se ajuste a un conjunto de datos se conoce más generalmente como máximo a posteriori, o MAP para abreviar, y proporciona un marco probabilístico para el modelado predictivo.

En esta publicación, descubrirá el Teorema de Bayes para calcular las probabilidades condicionales.

Después de leer esta publicación, sabrá:

  • Una intuición para el Teorema de Bayes desde una perspectiva de probabilidad condicional.
  • Una intuición para el Teorema de Bayes desde la perspectiva del aprendizaje automático.
  • Cómo calcular la probabilidad condicional usando el Teorema de Bayes para un ejemplo del mundo real.

Descubra la opimización de bayes, bayes ingenuas, máxima probabilidad, distribuciones, entropía cruzada y mucho más en mi nuevo libro con 28 tutoriales paso a paso y código fuente completo de Python.

Comencemos.

Una introducción suave al teorema de Bayes para el aprendizaje automático
Foto de Marco Verch algunos derechos reservados.

Descripción general

Este tutorial se divide en tres partes; son:

  1. Teorema de la probabilidad condicional de Bayes
  2. Teorema de la hipótesis de modelado de Bayes
  3. Ejemplo resuelto del teorema de Bayes

Teorema de la probabilidad condicional de Bayes

Antes de sumergirnos en el teorema de Bayes, repasemos marginal, articulación y probabilidad condicional.

Recuerde que la probabilidad marginal es la probabilidad de un evento, independientemente de otras variables aleatorias. Si la variable aleatoria es independiente, entonces es la probabilidad del evento directamente; de ​​lo contrario, si la variable depende de otras variables, entonces la probabilidad marginal es la probabilidad del evento sumada sobre todos los resultados para las variables dependientes, llamada suma regla.

  • Probabilidad marginal : La probabilidad de un evento independientemente de los resultados de otras variables aleatorias, p. ej. P (A).

La probabilidad conjunta es la probabilidad de dos (o más) eventos simultáneos, a menudo descritos en términos de eventos A y B de dos variables aleatorias dependientes, p. X e Y. La probabilidad conjunta a menudo se resume solo como los resultados, p. A y B.

  • Probabilidad conjunta : Probabilidad de dos (o más) eventos simultáneos, p. P (A y B) o P (A, B).

La probabilidad condicional es la probabilidad de un evento dada la ocurrencia de otro evento, a menudo descrito en términos de eventos A y B de dos variables aleatorias dependientes, p. X e Y.

  • Probabilidad condicional : Probabilidad de un (o más) evento dada la ocurrencia de otro evento, p. P (A dado B) o P (A | B).

La probabilidad conjunta se puede calcular usando la probabilidad condicional; por ejemplo:

  • P (A, B) = P (A | B) * P (B)

Esto se llama la regla del producto. Es importante destacar que la probabilidad conjunta es simétrica, lo que significa que:

  • P (A, B) = P (B, A)

La probabilidad condicional se puede calcular utilizando la probabilidad conjunta; por ejemplo:

  • P (A | B) = P (A, B) / P (B)

La probabilidad condicional no es simétrica; por ejemplo:

  • P (A | B)! = P (B | A)

Sin embargo, se puede calcular una probabilidad condicional usando la otra probabilidad condicional; por ejemplo:

  • P (A | B) = P (B | A) * P (A) / P (B)

Lo contrario también es cierto; por ejemplo:

  • P (B | A) = P (A | B) * P (B) / P (A)

Este enfoque alternativo de cálculo de la probabilidad condicional es útil cuando la probabilidad conjunta es difícil de calcular, o cuando la probabilidad condicional inversa está disponible o es fácil de calcular.

Este cálculo alternativo de la probabilidad condicional se conoce como Regla de Bayes o Teorema de Bayes llamado así por Reverendo Thomas Bayes a quien se le atribuye la primera descripción. Es gramaticalmente correcto referirse a él como el Teorema de Bayes (con el apóstrofe), pero es común omitir el apóstrofe por simplicidad.

A menudo ocurre que no tenemos acceso al denominador, p. P (B).

Como tal, existe una formulación alternativa del Teorema de Bayes que podemos usar que utiliza el complemento de P (A), p. la probabilidad de no A puede establecerse como 1 – P (A) o P (no A). Esta formulación alternativa se describe a continuación:

  • P (A | B) = P (B | A) * P (A) / P (B | A) * P (A) + P (B | no A) * P (no A)

Quiero aprender Probabilidad para el aprendizaje automático

Tome mi curso gratuito de 7 días por correo electrónico ahora (con código de muestra).

Haga clic para registrarse y también obtenga una versión gratuita en PDF de Ebook el curso.

Descargue su mini-curso GRATIS

Teorema de Bayes de hipótesis de modelado

El teorema de Bayes es una herramienta útil en el aprendizaje automático aplicado.

Proporciona una forma de pensar sobre la relación entre datos y un modelo.

Un algoritmo o modelo de aprendizaje automático es una forma específica de pensar sobre las relaciones estructuradas en los datos. De esta manera, un modelo puede considerarse como una hipótesis sobre las relaciones en los datos, como la relación entre la entrada ( X ) y la salida ( y ). La práctica del aprendizaje automático aplicado es la prueba y el análisis de diferentes hipótesis (modelos) en un conjunto de datos dado.

El Teorema de Bayes proporciona un modelo probabilístico para describir la relación entre los datos ( D ) y una hipótesis ( H ); por ejemplo:

  • P (h | D) = P (D | h) * P (h) / P (D)

Desglosando esto, dice que la probabilidad de que una hipótesis dada se mantenga o sea cierta dada algunos datos observados pueden calcularse como la probabilidad de observar los datos dada la hipótesis multiplicada por la probabilidad de que la hipótesis sea verdadera independientemente de los datos, dividida por la probabilidad de observar los datos independientemente de la hipótesis.

El teorema de Bayes proporciona un manera de calcular la probabilidad de una hipótesis basada en su probabilidad previa, las probabilidades de observar diversos datos dada la hipótesis y los datos observados en sí.

– Página 156, Machine Learning 1997. [19659005] En este marco, cada parte del cálculo tiene un nombre específico; por ejemplo:

  • P (h | D): probabilidad posterior de la hipótesis (lo que queremos calcular).
  • P (h): probabilidad previa de la hipótesis.

Esto proporciona un marco útil para pensando y modelando un problema de aprendizaje automático.

Si tenemos algún conocimiento previo del dominio sobre la hipótesis, esto se captura en la probabilidad previa. Y si no lo hacemos, entonces todas las hipótesis pueden tener la misma probabilidad previa.

Entonces si la probabilidad de observar los datos P (D) aumenta, entonces la probabilidad de que la hipótesis se mantenga dada la información P (h | D) disminuye. Por el contrario, si la probabilidad de la hipótesis P (h) y la probabilidad de observar los datos de la hipótesis aumenta, la probabilidad de que la hipótesis se mantenga dada la información P (h | D) aumenta.

La noción de probar diferentes modelos en un conjunto de datos en el aprendizaje automático aplicado puede considerarse como una estimación de la probabilidad de que cada hipótesis (h1, h2, h3, … en H) sea verdadera dados los datos observados.

La optimización o búsqueda de la hipótesis con la máxima probabilidad posterior en el modelado se llama máximo a posteriori o MAP para abreviar.

Cualquier hipótesis de máxima probabilidad se llama hipótesis de máximo a posteriori (MAP). Podemos determinar las hipótesis MAP utilizando el teorema de Bayes para calcular la probabilidad posterior de cada hipótesis candidata.

– Página 157, Aprendizaje automático 1997.

En este marco, la probabilidad de los datos (D) es constante, ya que se utiliza en la evaluación de cada hipótesis. Por lo tanto, se puede eliminar del cálculo para dar la estimación simplificada no normalizada de la siguiente manera:

  • max h en HP (h | D) = P (D | h) * P (h)

Si no tenemos cualquier información previa sobre la hipótesis que se está probando, se les puede asignar una probabilidad uniforme, y este término también será una constante y se puede eliminar del cálculo para dar lo siguiente:

  • max h en HP (h | D) = P (D | h)

Es decir, el objetivo es localizar una hipótesis que explique mejor los datos observados.

Ejemplo trabajado del teorema de Bayes

El teorema de Bayes se entiende mejor con un ejemplo trabajado de la vida real con números reales para demostrar los cálculos.

Un ejemplo excelente y ampliamente utilizado del beneficio del Teorema de Bayes es el análisis de una prueba de diagnóstico médico.

Problema : Considere una población humana que puede o Es posible que no tenga cáncer (el cáncer es verdadero o falso) y un examen médico que arroja resultados positivos o negativos para detectar el cáncer (Tes t es positivo o negativo), p. como una mamografía para detectar el cáncer de seno. Si un paciente tiene la prueba y resulta positiva, ¿cuál es la probabilidad de que el paciente tenga cáncer?

Las pruebas de diagnóstico médico no son perfectas; Tienen error. Algunas veces un paciente tendrá cáncer, pero la prueba no lo detectará. Esta capacidad de la prueba para detectar el cáncer se conoce como la sensibilidad o la verdadera tasa positiva.

En este caso, crearemos un valor para la prueba. La prueba es buena, pero no excelente, con una verdadera tasa positiva o sensibilidad del 85%. Es decir, de todas las personas que tienen cáncer y se hacen pruebas, el 85% de ellas obtendrá un resultado positivo de la prueba.

  • P (Prueba = Positiva | Cáncer = Verdadero) = 0,85

Dada esta información, nuestro la intuición sugeriría que hay un 85% de probabilidad de que el paciente tenga cáncer.

Y nuevamente, nuestras intuiciones de probabilidad son incorrectas .

Este tipo de error al interpretar las probabilidades es tan común que tiene su propio nombre; se conoce como la falacia de la tasa base .

Tiene este nombre porque el error al estimar la probabilidad de un evento es causado por ignorar la tasa base. Es decir, ignorar la probabilidad de tener cáncer, independientemente de la prueba de diagnóstico.

En este caso, podemos suponer que la probabilidad de cáncer de seno es baja y usar un valor artificial de una persona en 5,000, o (0.0002) 0.02 %.

  • P (Cáncer = Verdadero) = 0.02%.

Podemos calcular correctamente la probabilidad de que un paciente tenga cáncer dado un resultado positivo usando el Teorema de Bayes.

  • P (Cáncer = Verdadero | Prueba = Positivo ) = P (Prueba = Positiva | Cáncer = Verdadero) * P (Cáncer = Verdadero) / P (Prueba = Positiva)

Sabemos que la probabilidad de que la prueba sea positiva dado que el paciente tiene cáncer es del 85%, y nosotros conocer la tasa base o la probabilidad previa de que un paciente dado tenga cáncer es 0.02%.

Podemos insertar estos valores en:
  • P (Cáncer = Verdadero | Prueba = Positiva) = 0.85 * 0.0002 / P (Prueba = Positiva)
No sabemos P (Prueba = Positiva), pero sí sabemos la probabilidad del complemento de P (Cáncer = Verdadero), es decir P (Cáncer = Falso):
  • P (Cáncer = Falso) = 1 – P (Cáncer = Verdadero)
  • = 1 – 0.0002
  • = 0.9998
Por lo tanto, podemos establecer el cálculo de la siguiente manera:
  • P (Cáncer = Verdadero | Prueba = Positivo) = P (Prueba = Positivo | Cáncer = Verdadero) * P (Cáncer = Verdadero) / P (Prueba = Positivo | Cáncer = Verdadero * P (Cáncer = Verdadero) + P (Prueba = Positivo | Cáncer = Falso) * P (Cáncer = Falso)
Podemos conectar nuestros valores conocidos de la siguiente manera:
  • P (Cáncer = Verdadero | Prueba = Positiva) = 0.85 * 0.0002 / 0.85 * 0.0002 + P (Prueba = Positiva | Cáncer = Falso) * 0.9998

Todavía no sabemos la probabilidad de un resultado positivo de la prueba sin cáncer. Esto requiere información adicional.

Específicamente, necesitamos saber qué tan buena es la prueba para identificar correctamente a las personas que no tienen cáncer. Es decir, probar el resultado negativo (Prueba = Negativo) cuando el paciente no tiene cáncer (Cáncer = Falso), llamado índice negativo verdadero o la especificidad . Usaremos un valor del 95%.

  • P (Prueba = Negativo | Cáncer = Falso) = 0.95

Utilizando esto, podemos calcular la tasa de falsos positivos o falsas alarmas como el complemento de la tasa negativa verdadera.

  • P (Prueba = Positiva | Cáncer = Falso) = 1 – P (Prueba = Negativa | Cáncer = Falso)
  • = 1 – 0.95
  • = 0.05

 

Podemos conectar esta tasa de falsas alarmas en nuestro Bayes Teorema de la siguiente manera:

P (Cáncer = Verdadero | Prueba = Positivo) = 0.85 * 0.0002 / 0.85 * 0.0002 + 0.05 * 0.9998
= 0.00017 / 0.00017 + 0.04999
= 0.00017 / 0.05016
= 0.003389154704944

El cálculo correcto sugiere que si se informa al paciente que tiene cáncer con esta prueba, entonces solo hay un 0,33% de posibilidades de que tenga cáncer. ¡Es una prueba de diagnóstico terrible!

El ejemplo también muestra que el cálculo correcto de la probabilidad condicional requiere información adicional, como la tasa base la sensibilidad (o tasa positiva verdadera ) y la especificidad (o tasa negativa verdadera).

En este caso:
  • Tasa base : 0.02% de las personas tienen cáncer.
  • Sensibilidad : 85% de las personas con cáncer obtendrán un resultado positivo.
  • Especificidad : el 95% de las personas sin cáncer obtendrán un resultado negativo de la prueba.

Para concretar este ejemplo, el siguiente ejemplo realiza el mismo cálculo en Python, permitiéndole jugar con los parámetros y probar diferentes

 # ejemplo de cálculo del teorema de bayes para una prueba de diagnóstico

# calcular P (A | B) dado P (A), P (B | A), P (no B | no A)
def bayes_theorem (p_a, p_b_given_a, p_not_b_given_not_a):
# calcular P (no A)
not_a = 1 - p_a
# calcular P (B | no A)
b_given_not_a = 1 - p_not_b_given_not_a
# calcular P (A | B)
p_a_given_b = (p_b_given_a * p_a) / (p_b_given_a * p_a + b_given_not_a * not_a)
volver p_a_given_b

# P (A), la tasa base
tasa base = 1/5000
# P (B | A), sensibilidad
sensibilidad = 0.85
# P (no B | no A), especificidad
especificidad = 0.95
# calcular P (A | B)
resultado = bayes_theorem (base_rate, sensibilidad, especificidad)
# resumir
print ('P (A | B) =% .3f %%'% (resultado * 100))

Ejecutar el ejemplo calcula la probabilidad de que un paciente tenga cáncer dado que la prueba arroja un resultado positivo, que coincide con nuestro cálculo manual.

 P (A | B) = 0.339%

Podemos ver que el Teorema de Bayes nos permite ser aún más precisos.

Por ejemplo, si tuviéramos más información sobre el paciente (por ejemplo, su edad) y sobre el dominio (por ejemplo, tasas de cáncer para rangos de edad), podríamos ofrecer una estimación de probabilidad aún más precisa.

Lecturas adicionales

Esta sección proporciona más recursos sobre el tema si está buscando profundizar.

Libros

Artículos

Resumen

En esta publicación, descubriste el Teorema de Bayes para calcular probabilidades condicionales.

Específicamente, aprendiste:
  • Una intuición para el Teorema de Bayes desde una perspectiva de probabilidad condicional.
  • Una intuición para el Teorema de Bayes desde la perspectiva de la máquina de prueba
  • Cómo calcular la probabilidad condicional usando el Teorema de Bayes para un ejemplo del mundo real.

¿Tiene alguna pregunta?
Haga sus preguntas en los comentarios a continuación y haré todo lo posible para responder.

Dejá un comentario