2.8 Teorema de Bayes

Introducción

Ya hemos visto el uso de las probabilidades en la toma de decisiones. En este caso haremos referencia a un teorema específico para resolver de mejor manera problemas con alta incertidumbre, el teorema de Bayes.

Desarrollo

Teorema de Bayes:

Definición:

Ejemplo Conceptual

Probabilidad previa

La probabilidad de que la moneda esté en cualquier lugar de la habitación es la misma.

Nueva evidencia

Empiezas a buscar la moneda y encuentras una pequeña área donde es más probable que esté.

Probabilidad posterior

La probabilidad de que la moneda esté en esa área pequeña es ahora mayor que la probabilidad de que esté en cualquier otro lugar de la habitación.

Teorema de Bayes

El teorema de Bayes se expresa mediante la siguiente fórmula:

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

P(A|B):

La probabilidad posterior de A dado B. Es la probabilidad de que el evento A ocurra después de haber observado que el evento B ha ocurrido.

P(B|A):

La probabilidad condicional de B dado A. Es la probabilidad de que el evento B ocurra si sabemos que el evento A ha ocurrido.

P(A):

La probabilidad previa de A. Es la probabilidad de que el evento A ocurra antes de tener en cuenta la nueva evidencia.

P(B):

La probabilidad de B. Es la probabilidad de que el evento B ocurra independientemente de A.

Video explicativo del teorema de Bayes

Matemáticas profe Alex (25 mayo de 2022), Teorema de Bayes Introducción.

Ejemplo Práctico

Supongamos que tenemos una enfermedad que afecta a 1 de cada 1000 personas. Hay una prueba para la enfermedad que es 99% precisa, lo que significa que:

Si una persona da positivo en la prueba, ¿Cuál es la probabilidad de que realmente tenga la enfermedad?

Solución

El siguiente enlace te ayudará a reforzar el enfoque computacional:

				
					P(A): 0.001 (probabilidad previa de que la persona tenga la enfermedad)
P(B|A): 0.99 (probabilidad de que la prueba dé positivo si la persona tiene la enfermedad)
P(B): 0.0099 (probabilidad de que la prueba dé positivo)

				
			

Aplicando la fórmula del teorema de Bayes:

				
					P(A|B) = (0.99 * 0.001) / 0.0099 = 0.099

				
			

Interpretación

La probabilidad de que la persona tenga la enfermedad después de dar positivo en la prueba es del 9.9%. Esto es mucho más alto que la probabilidad previa del 0.1%.

El teorema de Bayes nos permite tomar decisiones más informadas al tener en cuenta la nueva evidencia. Es una herramienta flexible que se puede aplicar a una amplia variedad de situaciones.

Actividad de aprendizaje 7

Detección de correo electrónico no deseado (Spam) utilizando el teorema de Bayes.

Objetivo:

Preparación:

1. Requisitos:

2. Datos:

Conjunto de datos SpamAssassin Public Corpus que contiene 5827 correos electrónicos etiquetados como “spam= 1” o “no spam=0”.

https://www.kaggle.com/datasets/ganiyuolalekan/spam-assassin-email-classification-dataset

2. Preprocesamiento de datos:

Desarrollo:

1. Extracción de características:

2. Modelo:

El modelo se basará en el teorema de Bayes para calcular la probabilidad de que un correo electrónico sea spam dado su conjunto de características.

3. Algoritmo (Código en python):

1. Calcular la probabilidad previa de spam (P(Spam)):

				
					P_spam = numero_correos_spam / total_correos
				
			

2. Calcular la probabilidad de las características del correo electrónico dado que es spam (P(Características|Spam))

				
					P_caracteristicas_spam = frecuencia_caracteristicas_spam / total_caracteristicas_spam
				
			

3. Calcular la probabilidad de las características del correo electrónico dado que no es spam (P(Características|NoSpam))

				
					P_caracteristicas_no_spam = frecuencia_caracteristicas_no_spam / total_caracteristicas_no_spam
				
			

4. Calcular la probabilidad posterior de que el correo electrónico sea spam (P(Spam|Características))

				
					P_spam_caracteristicas = (P_spam * P_caracteristicas_spam) / (P_spam * P_caracteristicas_spam + P_no_spam * P_caracteristicas_no_spam)
				
			

5. Clasificación:

Un correo electrónico se clasificará como spam si:

				
					P(Spam|Características) > P(NoSpam|Características)
				
			

6. Evaluación:

				
					precision = np.sum(clasificaciones == data["spam"]) / len(clasificaciones)
				
			
				
					recuperacion = np.sum(clasificaciones == data["spam"]) / data["spam"].sum()
				
			

Código completo:

Entregables:

Responder al siguiente cuestionario en google forms: https://forms.gle/nZCsMAo9e3Zkr2Yq8.

Se calificará base a la Rúbrica de Evaluación en el apartado de Recursos.
AGENTES INTELIGENTES
A course by: Master Alberto Ramírez Regalado

Recursos: 2 Descargables

Duración: 2 Horas

“Por una tecnología propia como principio de libertad®️”