Probabilidad/Verosimilitud

Verosimilitud

Qué aprenderás en esta sección

Comprenderemos cómo obtener los parámetros de un modelo probabilístico por medio de los datos observados, enfocado a un modelo binario, pero el concepto es extensible a los demás modelos probabilísticos.

Nota: todos los ejercicios que se desarrollan en esta sección, son eventos que no dependen uno del otro, y que en probabilidades se llaman variables aleatorias independientes e idénticamente distribuidas (iid).

Desarrollo

En el mundo del machine learning, la verosimilitud es uno de los fundamentos detrás de los modelos de aprendizaje, y comprenderlos desde su concepto es imperativo para entender el funcionamiento detrás de las redes neuronales y que es lo que realmente hacen tras bambalinas.

Para empezar, vamos a realizar un experimento muy practico y simple de entender, supongamos que tenemos una máquina tragamonedas, y queremos saber cual es la probabilidad de ganar (éxito); para ello accionamos la máquina 10 veces y registramos los resultados obtenidos donde “F” es fallo y “E” es éxito; supongamos que en un escenario ficticio obtuvimos lo siguientes resultados.

\[\textrm{\textcolor{red}{F F F F F F F F} \textcolor{gold}{E} \textcolor{red}{F}}\]
De los resultados obtenidos, se podría decir lo siguiente; por cada 10 acciones de la máquina en 1 de ellas se ganará, y en 9 de ellas se fallará, por lo tanto un buen estimado sería decir, que el 10% de las veces que se accionó la máquina, el resultado que vi fue de !Ganaste!, y el 90% restante fue de !Fallaste!; o dicho de otra manera, la probabilidad de ganar fue del 10% y una forma de ver estos resultados de manera gráfica, sería la siguiente.



Sin embargo existe la posibilidad de que en esos 10 intentos, tuviste mucha suerte y diste con un resultado ganador, por lo que entre más intentos realice, más verídica será la inferencia sobre la probabilidad de ganar (éxito) de la máquina.

El ejercicio realizado nos permitió inferir sobre información de la máquina a partir de los datos observados, y por intuición obtuvimos un valor de la probabilidad de éxito y una gráfica; sin embargo no contamos con una ecuación que nos ayude a obtener esta gráfica, por lo que en el mundo de las probabilidades modelar estos fenómenos ayuda bastante a comprender su funcionamiento, por lo tanto, una forma de expresar lo anteriormente obtenido sería de la siguiente manera.

\[\textrm{P(éxito) = Probabilidad de éxito = p = 0.1} \tag{1} \] \[\textrm{P(fallo) = Probabilidad de fallo = 1-p = 0.9}\]
Como la suma de las probabilidades de cada uno de los eventos es igual al 1 (para las variables independientes), y en el caso de la máquina tragamonedas solo tenemos dos posibles eventos (éxito o fallo), entonces podemos definir a "p" como la probabilidad de éxito, y a "1-p", como la probabilidad de fallo, pues con este supuesto, la suma de ambas probabilidades siempre dara 1.

Por lo tanto, una forma de expresar en ecuación lo anteriormente observado, sería de la siguiente manera.

\[\textrm{Expresado como ecuación por partes}\] \[P(X=x)= \left\{ \begin{array}{lcc} 1-p & si & x = 0 \\ \\ p & si & x = 1 \end{array} \right. \] \[\textrm{p: probabilidad de exito}\] \[\textrm{1-p: probabilidad de fallo}\] \[\textrm{x=1(exito) o x=0 (fallo)}\]
La anterior ecuación por partes también puede expresarse como una ecuación convencional y obtener los mismos resultados, cuya forma seria.

\[P(X=x)=p^{x}\cdot (1-p)^{1-x} \] \[\textrm{evaluando x=0 } \Rightarrow P(X=0)=p^{0}\cdot (1-p)^{1-0} = 1-p \] \[\textrm{evaluando x=1 } \Rightarrow P(X=1)=p^{1}\cdot (1-p)^{1-1} = p \]

La anterior ecuación es lo que se conoce en probabilidades como el modelo de Bernoulli, y es ampliamente utilizado para modelar fenómenos en donde solo se pueden obtener dos posibles resultados (éxito o fallo), como por ejemplo lanzar una moneda, una máquina tragamonedas, un producto bueno o averiado, un dia soleado y lluvioso, etc, y comprender que existen modelos probabilísticos que tratan de expresar algunos fenómenos físicos por medio de ecuaciones es indispensable para entender cómo funcionan las redes neuronales.

Ahora que ya contamos con un modelo que nos ayuda a describir las probabilidades de una máquina tragamonedas, podemos realizar algunas gráficas para diferentes valores de "p".




De las gráficas presentadas utilizando el modelo Bernoulli, podemos observar que cuando el parámetro "p" es igual a 0.1, la distribución de las probabilidades es la misma que la del primer ejercicio realizado, con esto presente, podemos decir que de acuerdo a una serie de eventos registrados, existe una ecuación o modelo probabilístico en la cual, ajustando sus paramentos podemos modelar los resultado obtenidos, y eso es la verosimilitud.

Sin embargo en la práctica, estar variando los valores de los parámetros de los modelos probabilísticos no es para nada práctico, y de hecho existen un método para calcularlo; sin embargo antes de, debemos ingresar un concepto llamado probabilidad conjunta, que nos permitirá hallar ese valor.

Recordando un poco el concepto de probabilidad conjunta, dice que la probabilidad de que sucedan dos o más eventos consecutivos (idd), será igual a la multiplicación de cada uno de esos eventos por separado, es decir.

\[ P(AyB) = P(A) \cdot P(B)\] \[\textrm{donde A y B son mutuamente excluyentes}\]
Aplicando el concepto a las 10 observaciones de la máquina, tendríamos.

\[ P(9 fallos y 1 éxito) = P(0)\cdot P(0)\cdot P(0)\cdot P(0)\cdot P(0)\cdot P(0)\cdot P(0)\cdot P(0)\cdot P(0)\cdot P(1) \] \[P(9 fallos y 1 éxito) = P(0)^{9} \cdot P(1)= (1-p)^{9}*p \]

Quizás te preguntes, por qué emplear la probabilidad conjunta y no la ecuación de Bernoulli, y esto se debe en medida a que la ecuación de Bernoulli sólo determina la probabilidad de un solo evento, mientras que la probabilidad conjunta determina la probabilidad de que se de una serie de eventos determinados como por ejemplo obtener 9 fallos y 1 éxito en una maquina tragamonedas, y por ende obteniendo el parámetro que arroja la máxima probabilidad conjunta, se garantiza que al volver a repetir el experimento pero esta vez empleando la ecuación de Bernoulli y el parámetro obtenido evento por evento, tendremos una alta probabilidad de volver a obtener 9 fallos y 1 éxito.

Una vez aclarado el por qué empleamos la probabilidad conjunta, vamos a encontrar el parámetro que maximiza la función para un escenario en el que obtenemos 9 fallos y 1 éxito de la máquina tragamonedas, para lo cual hay una manera de obtener este valor, y es por medio de la derivada de la función e igualando a cero, de esta manera se obtiene el siguiente resultado.

\[ \frac{dP}{dp} = \frac{d((1-p)^{9}*p)}{dp} \] \[ \frac{dP}{dp} = (1-p)^{9}-9p(1-p)^{8} \] \[ \frac{dP}{dp} = (1-p)^{8}((1-p)-9p) \] \[ \frac{dP}{dp} = (1-p)^{8}(1-10p) \] \[ \textrm{igualamos la ecuación a cero y obtenemos las raíces} \] \[ (1-p)^{8}(1-10p) = 0\] \[ \textrm{raíces p = 1 y p=0.1} \]
De las raíces obtenidas, podemos determinar que el valor óptimo es de 0.1, pues si empleamos el valor de 1, la probabilidad conjunta nos daría 0, por lo tanto el parámetro de p, que maximiza la probabilidad conjunta de obtener 9 fallos y 1 éxito, es de 0.1.

Otra alternativa a la derivada de la función, es por la vía de modelos matemáticos que optimice la función, sin embargo adelantándonos un poco, una red neuronal hace el papel de optimizador, pero esto lo veremos más adelante.

Para interpretar el valor del parámetro "p" obtenido, se podría describir de la siguiente manera, de acuerdo a una observación de 10 lanzamientos de una máquina tragamonedas, en donde 9 fueron fallos y 1 éxito, existe un valor para el parámetro p del modelo Bernoulli, que permite que dichos datos sean representados por una ecuación de forma confiable, y en eso consiste la verosimilitud.

Sin embargo para reforzar el concepto de los parámetros en un modelo probabilístico, mediante la siguiente animación simularemos 4 maquinas tragamonedas con diferentes parámetros de p según el modelo Bernoulli, y veras por que el valor de 0.1 para p, es el que maximiza la probabilidad de obtener 9 fallos y 1 éxito.

Antes de entrar en la animación simulada de las máquinas, primero vamos a establecer la probabilidad de éxito a cada una de estas 4, bajo los siguientes parámetros de p, que serán, 0.3, 0.6, 0.9 y 0.1.

\[P(X=1) = P(éxito) = (1-p)^{1-x} \cdot p^{x} = p \] \[\textrm{para p = 0.3 } \Rightarrow P(x=1) = 0.3 \] \[\textrm{para p = 0.6 } \Rightarrow P(x=1) = 0.6 \] \[\textrm{para p = 0.9 } \Rightarrow P(x=1) = 0.9 \] \[\textrm{para p = 0.1 } \Rightarrow P(x=1) = 0.1 \]
Asumiendo que tenemos 4 máquinas con esas respectivas probabilidad de éxito configuradas, se simularán 10 lanzamientos por máquina, y se repetirá este proceso unas 10 veces y observaremos los resultados obtenidos; en este primer clip simularemos la primera máquina.


Luego de ilustrar la simulación de la primera máquina, a continuación mostraremos los resultados obtenidos de las 4 máquinas, de acuerdo a su probabilidad configurada, adicional se contará en los resultados de cada una de ellas, cuantos eventos de 9 fallos y 1 éxito se obtuvieron por máquina.


De los resultados obtenidos se puede observar que la máquina 4 con probabilidad de éxito de 0.1 fue la que más eventos de 9 fallo y 1 éxito obtuvo, para un total de 4; y con este ejercicio se ilustra de manera gráfica, que el parámetro p igual a 0.1 que fue el que obtuvimos previamente, es el que más probabilidad tienen de arrojar eventos de 9 fallos y 1 éxito.

Verosimilitud de un solo evento.

El anterior ejercicio se hizo con un supuesto de 10 muestras (lanzamientos) de una máquina tragamonedas, sin embargo si aplicaramos el concepto de verosimilitud a una sola muestra, el valor óptimo de “p” para un modelo de Bernoulli en el cual la probabilidad conjunta (aunque solo sea una muestra) es máxima, es de 1 para el caso de éxito, y 0 para el caso de no éxito, es decir.

\[P(1 fallo) = P(0)^{1} = (1-p)^{1} \] \[ \textrm{de esta ecuación es fácil observar que para p=0, la probabilidad es maxima} \] \[P(1 éxito) = P(1)^{1} = p^{1} \] \[ \textrm{de esta ecuación es fácil observar que para p=1, la probabilidad es maxima} \]
Por lo tanto si quisiéramos obtener un algoritmo que encontrará el valor de p que maximiza la probabilidad dependiendo de la muestra que le ingresemos (éxito o fallo) y adicional que tenga la capacidad de almacenar este parámetro para diferentes entradas que le entreguemos; una red neuronal sería un buen candidato para esta tarea, pues esta red funciona como un optimizador de modelos, sin embargo de este tema hablaremos en otro capítulo.

A continuación se presenta de manera esquemática, el funcionamiento de una red neuronal de acuerdo a lo expuesto previamente.



Del esquema se puede decir, que la caja es la red neuronal, y esta mediante operaciones matemáticas, optimizará p del modelo Bernoulli, y arrojará el valor de p, que garantiza la máxima probabilidad del modelo< es importante mencionar, que el valor de entrada puede ser cualquier tipo de dato que se asocie a cada tipo de evento, es decir, puede ser un texto que diga éxito o fallo, puede ser dos tipos de imágenes diferentes una asociada al éxito y otra al fallo, puedes ser tres 111 consecutivos para éxito y el restante combinación de valores para falo, en general puede ser cualquier tipo de información, lo importante es que esté clasificada solo en dos posibles resultados, éxito o fallo.

En secciones posteriores entraremos en detalle sobre lo que sucede dentro del recuadro o en la red neuronal, el propósito aquí era comprender el funcionamiento de una red neuronal por medio de la verosimilitud.