Tabla de Contenidos

Fundamentos del Machine Learning

Que es la inteligencia artificial

Que es el machine learning

Es una rama de la IA que trata de desarrollar algoritmos que permitan a las máquinas aprender. Se busca desarrollar modelos computacionales que sean capaces de resolver problemas complejos usando como base ejemplos.

Cuando es apropiado usar machine learning

Generalización

Término usado para describir la capacidad de un modelo para clasificar o predecir nuevos datos correctamente. Hay 2 conceptos importantes relacionados con la generalización:

Hay que encontrar un balance entre estos 2 conceptos.

Praparación y limpieza de datos

Antes de usar datos para entrenar un modelo, suele ser necesario realizar ciertas preparaciones de los datos como:

Modelos lineales de aprendizaje supervisado

Primero debemos conocer las notaciones y definiciones:

\(\mathbf{x}^\top \mathbf{y} = [x_1, x_2, \ldots, x_m]\begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{bmatrix} = x_1 y_1 + x_2 y_2 + \cdots + x_m y_m\)

$||x|| = \sqrt{X^T X} = \sqrt{X_1^2 + x_2^2 + X^2_m}$

Métodos de regresión lineal

Tienen como objetivo predecir una o más variables continuas dado el valor de un set explicativo de variables repesentado por un vector $X$ con dimensión $m$

$ X = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_m \end{bmatrix}$

Para predecir los valores de las variables tenemos los siguientes elementos clave:

pan:entrenamientoml1.png

Métodos de clasificación lineal

Clasificación supervisada

Es similar a la regresión excepto en que el valor predecido toma valores dentro de un pequeño set discreto de datos. En el caso específico de clasificación binarias solo hay 2 posibles valores para cada item, por ejemplo:

Es una clasificación supervisada por que las etiquetas están disponibles para los datos entrenados.

Regiones de decisión

Conclusión sobre los clasificadores lineales

Métricas para la evaluación del error

Primero es necesario diferenciar entre error de función y métrica de evaluación:

Métricas de error de evaluación para regresión

$MSE = \frac{1}{n}∑^n_{i=1}(t_i-y_i)^2$

$RMSE = \sqrt{\frac{1}{n}∑^n_{i=1}(t_i-y_i)^2}$

$MAE = \frac{1}{n}∑^n_{i=1}|t_i-y_i|$

$MAPE = \frac{100}{n}∑^n_{i=1}|\frac{t_i-y_i}{t_i}|$

$SMAPE = \frac{100}{n}∑^n_{i=1}\frac{|t_i-y_i|}{|t_i|+|y_i|}$

Métricas de evaluación del error para la clasificación supervisada

Tenemos una matriz de confusión para dos clases de problemas:

Predicción de clasificador/Clase Real Positivo Negativo
Positivo Verdaderos Positivos (TP) Falsos positivos (FP)
Negativo Falsos negativos(FN) Verdaderos negativos (TN)

$Exactitud= \frac{Aciertos Globales}{Casos Totales} = \frac{TP+TN}{TP+TN+FP+FN} $

$Sensibilidad = \frac{Aciertos de casos positivos}{Casos positivos} = \frac{TP}{TP+FN}$

$Especifidad = \frac{Aciertos de casos negativos}{Casos negativos} = \frac{TN}{TN+FP}$

$Precisión = \frac{Aciertos para casos clasificados como positivos}{Casos clasificados como positivos} = \frac{TP}{TP+FP}$

$Puntuación F-1 = 2 + \frac{Exactitud*Sensibilidad}{Precisión+Sensibilidad}$

$Macro-Media = \frac{1}{c}∑^c_{i=1}Métrica de la clase i$

$media pesada = \frac{Σ^c_{i=1} num. datos clase i * métrica de la clase i}{num. datos locales}$

$MicroMedia = \frac{TP1 + TP2 + TP3}{TP1+TP2+TP3+FP1+FP2+FP3}$

Modelos no lineales de aprendizaje supervisado

Los métodos de aprendizaje no lineales permten la creación de regiones de decisión complejas para separar datos de diferentes clases. En general suelen rendir mejor que los modelos lineales.

Redes Neuronales Artificiales

Muchos modelos de Machine Leargin están inspirados por la biología. Las redes neuronales artificiales definen funciones de las entradas que son calculadas por las neuronas. El modelo matemático de una neurona artificial sería el siguiente:

pan:artifneurona.png

Las neurona están organizadas en una serie de capas que definen la arquitectura de la red:

El entrenamiento de las redes trata de encontrar el peso óptimo $W^*$

$W^* = argmin_w ∑^n_{i=1}E(y_i, t_i)$

$t_i$ es la salida deseada e $y_i$ es la salida para los datos $i$. Las funciones de error más utilizadas son:

$MSE = E(y_i,t_i) = \frac{1}{2}(y_i-t_i)^2$

$Entropía Cruzada = E(y_i,t_i) = -t_i log(y_i)$

Región de decisión

Redes Neuronales Convolucionales (CNN)

Modelo de red profunda que es capaz de capturar dependencias espaciales y temporales en una imagen aplicando filtros relevantes. La arquitectura es mucho mejor para datos de imágenes debido a la reducción en el número de parámetros involucrados yy el reuso de pesos.

Capa convolucional

Consiste en un grupo de filtros (Kernels) que sin aplicados a la imagen para que pueda ser aprendida. Los filtros se activan cuando cierto tipo de característica visual es detectada. El objetivo de la operación convolucional es extraer características relevantes de la imagen. La operación convolucional realiza productos de puntos entre los filtros y las regiones locales de la imagen de entrada.

La arquitectura de una CNN suele tener más de una capa convolucional. La primera capa convolucional es responsable de capturar las características a bajo nivel como bordes, colores, orientación de gradientes… Las consiguientes capas covolucionales en la arquitecutra capturan características de alto nivel.

Capa ReLU

Utilizadas normalmente después de las capas convolucionales para transformas las operaciones lineales retiradas por esta. Es una funciónde activación defenida por $max(0,x)$. No afecta al tamaño del volúmen de salida de la capa convolucional.

Capa Pooling

Se encarga de reducir el tamaño de la salida de la capa convolucional. Este tipo de capas se usan para reducir el número de parámetros en la red y así controlar el overfiting. Los pixeles vecionos en las imagenes tienden a tener valores similares, por lo que las capas convolucionales van a producir valores similares para los pixeles vecinos. Realiza transformacionaes que son similares a rotaciones y translaciones. Es común insertar períodicamente una capa poling entre sucesivas capas covolucionales en las CNN. Existen varios tipos de Pooling:

Capa completamente conectada

Permite aprender combinaciones no lineales de las características de alto nivel dadas por la capa convolucional. La entrada de esta capa es una transformación aplanada en un vector columna. A través del proceso de entrenamiento, el modelo es capáz de distinguir entre características dominantes y clasificarlas usando una función de salida softmax.

Recomendaciones para un buen entrenamiento de modelos