Polinomios, regularización y naive Bayes
Ivan Meza
Sub y sobre ajuste
Modelo muy sencillo, no captura complejidad del fenómeno
Modelo muy complejo, captura complejidad de datos
Tomado de Underfitting vs. Overfitting
De subajuste a mejor modelo
¿Mejor modelos que la línea?
Curva
¿La familia curva más barata?
Los polinomios
Recordando
$$ w_0x^0+w_1x+w_2x^2+\ldots+w_px^p$$
$p$ es el grado del polinómio
Modelo
$$ f(x_i)=\sum_{i=0}^pw_kx^p$$
$$ [w_0,w_1,w_2,\ldots,w_p]$$
Datos de entrenamiento
$$ \boldsymbol{X} = \{x_1,x_2,\ldots,x_n\} $$
Expansión polinomial
$$ \boldsymbol{X} =
\begin{bmatrix}
1 & x_{1} & x^2_{1} & \cdots& x^p_{1} \\
1 & x_{2} & x^2_{2} & \cdots& x^p_{2} \\
\vdots & \vdots & \vdots & \ddots& \vdots \\
1 & x_{n} & x^2_{n} & \cdots& x^p_{n} \\
\end{bmatrix}
$$
¡Un problema lineal!
Ecuación normal
$$ w = (X^TX)^{-1}X^Ty$$
Predicción
$$ x \rightarrow [1,x,x^2,\ldots,x^p]$$
Caso multivariable $x$
$$ \boldsymbol{X} = \{[x_{11},\ldots,x_{1m}],\ldots,[x_{n1},\ldots,x_{nm}]\} $$
$$ \sum_{k=0}w_k x_1^i\cdots x^l_m \ \ i+\cdots+l \le p $$
El número crece en términos de $m$ y $p$
En escencia un modelo lineal
$$ \sum_{k=0}w_k x_1^i\cdots x^l_m \rightarrow \sum_{k=0}w_k x_k $$
- Expansión polinomial de datos
- Resolver como modelo lineal
Recordando
$$\mathop{\textrm{argmin}}_w \sum_{i=1}^{n} (y_i-\sum_{j=0}^m w_ix_{ij})^2$$
- $n$ ejemplos
- $m$ pesos (parámetros)
Controlar espacio de W
$$\mathop{\textrm{argmin}}_w \sum_{i=1}^{n} (y_i-\sum_{j=0}^m w_ix_{ij})^2$$
$$\textrm{sujeto a } w$$
Regularización Ridge o l2
$$\mathop{\textrm{argmin}}_w \sum_{i=1}^{n} (y_i-\sum_{j=0}^m w_ix_{ij})^2$$
$$\textrm{sujeto a } \sum_{j=1}^m w^2_i \lt t$$
Suma de residuales cuadrados penalizados
$$E(f(x),y) = \sum_{i=1}^{n} (y_i-\sum_{j=0}^m w_ix_{ij})^2 + \lambda \sum_{j=1}^m w^2_i $$
$$ w = (X^TX + \lambda I)^{-1}X^Ty$$
Sub y sobre ajuste
La línea entre sub y sobre ajuste es muy delgada
- Un modelo $p$ de polinomio subajusta
- El modelo $p+1$ de polinomio sobreajusta
- ¿Intental $p+\frac{1}{2}$?
- Regularización nuestro mejor amigo
Regularización LASSO
$$E(f(x),y) = \sum_{i=1}^{n} (y_i-\sum_{j=0}^m w_ix_{ij})^2 + \lambda \sum_{j=1}^m |w_i| $$
cambio de canal
encontrar un mapeo $f$ de una entrada $x$ a una salida $y$
$f:x \rightarrow y$
hasta ahora, $y \in \mathbb{r}$
Clasificacion
Encontrar un mapeo $f$ de una entrada $X$ a una salida $Y$
$f:X \rightarrow Y$
Para $Y \in \{C_1,\ldots,C_n\}$
Calsisficación probabilidad
Las probabilidades nos permitirá capturar incertidumbre
- En nuestros datos
- En el fenómeno
- En nuestro algoritmo
Modelo condicional
$P(Y|X)$
Probabilidad de la salida $Y$ dado que la entrada es $X$
Selección de clase
$$ \mathop{\textrm{argmax}}_Y P(Y|X) $$
Espacio de muestreo
El espacio con todos los posibles eventos $\Omega$
Variables aleatorias
Representan la ocurrencia de eventos del espacio de muestreo
Primer modelo
$Y$ es una variable aleatoria binaria (ocurre o no el evento que estamos interedados)
$X$ es grupo de $m$ variables aleatorias binarias que las pensamos como caracterisitcas (los eventos ocurrieron), $(x_1,\ldots,x_2)$
Teorema de bayes
$$ P(Y|X) = \frac{P(X|Y)P(Y)}{P(X)}$$
El efecto de Bayes
El efecto darle la vuelta al calcetín
- Para saber la salida ($Y$) dada la entrada ($X$), necesitamos saber sobre la entrada ($X$) dada la salida ($Y$)
- Si salida efecto y entrada causa, para saber el efecto necesito saber sobre la causa dado el efecto, es decir cuantas veces la causa provocó el efecto
Regresando a classificación
$$ P(Y=y|X=x_1,\ldots,x_m) = \frac{P(X=x_1,\ldots,x_m|Y=y)P(Y=y_i)}{P(X=x_1,\ldots,x_m)}$$
$$ P(Y=y|X=x_1,\ldots,x_m) = \frac{P(X=x_1,\ldots,x_m|Y=y)P(Y=y)}{\sum_{k=0} P(X=x_1,\ldots,x_m|Y=y_k)P(Y=y_k)}$$
Para este caso
Es necesario estimar $P(X|Y)$ y $P(Y)$, esto puede ser estimado de datos de entreanmiento
$$
\begin{bmatrix}
x_{11} & x_{12} & \cdots& x_{1m} \\
x_{21} & x_{22} & \cdots& x_{2m} \\
\vdots & \vdots & \ddots& \vdots \\
x_{n1} & x_{nm} & \cdots& x_{nm} \\
\end{bmatrix}
\begin{bmatrix}
y_{1} \\
y_{2} \\
\vdots \\
y_{n} \\
\end{bmatrix}
$$
Parámetros de P
Por cada calor en $P$ hay que definir valor de probabilidad
- ¿Para $P(Y)$ cuantos posibles valores hay?
- Tantas como clases en $Y$
- ¿Para $P(X|Y)$ cuantos posibles valores hay?
- $2^m-1$ por la cantidad de clases
¿Cuantos datos?
- Cuando $Y$ es binaria, es como estimar un bolado ¿Cuantos volados para estimar una moneda?
- Para $P(X|Y)$ Crece exponencialmente
Independencia condicional
$$ P(Y=y_i|X=x_i,Z=z_i) = P(Y=y_i|Z=z_i)$$
Re escribiendo
$$P(X=x_1,\ldots,x_m|Y=y)$$
$$=P(X=x_1,\ldots x_{m-1}|x_m,Y=y)P(x_m|Y=y)$$
$$ =P(X=x_1,\ldots|Y=y)P(x_m|Y=y)$$
$$ =P(X=x_1|Y=y)\ldots P(x_m|Y=y)$$
Re escribiendo
$$P(X=x_1,\ldots,x_m|Y=y)$$
$$ =\prod_{i}^{m}P(x_i|y)$$
Naive bayes
$$ P(Y=y|X=x_1,\ldots,x_m) = \frac{\prod_{i}^{m}P(x_i|y)P(Y=y)}{\sum_{k=0} \prod_{i}^{m}P(x_i|y)P(Y=y_k)}$$
Seleccionando la clase
No es necesario el denominador, ya que es igual para todos los casos, dos aproximaciiones
Maximum a Posteri $$ \mathop{\textrm{argmax}}_{\hat{y}} P(\hat{y})\prod_{i}^{m}P(x_i|\hat{y}) $$
Maximum likelihood $$ \mathop{\textrm{argmax}}_{\hat{y}} \prod_{i}^{m}P(x_i|\hat{y}) $$
Estimando los parámetros
Likelihood $$ \hat{\theta}_{ij}=P(x_i|y_k) = \frac{|\mathbb{D}{x_i \land y_k}|}{|\mathbb{D}{y_k}|}$$
Prior $$ \hat{\pi}_k = P(y_k) = \frac{|\mathbb{D}{y_k}|}{|\mathbb{D}|}$$
¡Sobreajuste!
¿Qué pasa si no se presenció el evento en los datos $P(x_i|y_k)$ o la clase $P(y_k)$?
El parámetro sería cero, y por lo tanto la probabilidad resultante...
Suavisado
¡Idea! Repartir una parte de la masa de probabilidades a los eventos no vistos
$$ \hat{\theta_{ij}}= \frac{|\mathbb{D}{x_i \land y_k}|+\alpha}{|\mathbb{D}{y_k}|+\alpha J}$$
$$ \hat{\pi_k} = \frac{|\mathbb{D}{y_k}|+\alpha}{|\mathbb{D}|+ \alpha K}$$
Donde $\alpha$ es el parámetro de suavisado, y $J$ el número valores diferentes para $C