Machine Learning
Busca dotar a las máquinas de capacidad de aprendizaje/generalización a partir de la experiencia
(Datos)
¿Qué es un modelo de Machine Learning?
Datos de Entrada > Modelos ML > Salida
Modelo
Representación de un problema o sistema que aprende a partir de los datos
(relación entre los diferentes datos) utilizando un algoritmo de aprendizaje y se
utiliza para hacer predicciones o tomar decisiones en nuevos datos
Tareas con Machine Learning
Tipos de aprendizaje
1.- Aprendizaje supervisado: busca descubrir la relación y/o patrones existentes entre variables de
entrada y de salida. Aplica para set de datos etiquetados
2.- Aprendizaje no supervisado: busca descubrir relaciones entre variables de entrada sin una guía
del aprendizaje. Aplica para set de datos sin etiquetas.
3.- Aprendizaje reforzado: Un agente aprende a tomar decisiones en un entorno interactivo para
maximizar una recompensa acumulativa.
Aprendizaje Supervisado
Salida Existen 2 tipos de aprendizaje supervisado dependiendo de la naturaleza de la variable
objetivo.
- Clasificación: Cuando la variable objetivo es una categoría. Por ej, clasificación de
imágenes, predicción de fuga, clasificación de correos.
- Regresión: Cuando la variable objetivo es un valor numérico. Por ej, predicción del precio
de vivienda, predicción de demanda.
Aprendizaje No Supervisado
- Reducción de dimensionalidad: Se utiliza para reducir la cantidad de dimensiones
aprovechando la relación entre las diferentes variables.
- Clustering: Se utiliza para agrupar conjunto de datos que se asemejan entre ellos. Por
ejemplo, segmentación de clientes para descubrir segmentos de clientes similares entre sí
Retomando la regresión lineal
Para realizar el ejemplo de la regresión lineal desde la perspectiva del Machine Learning vamos a
proceder a aplicar los siguientes pasos:
Objetivo: Dotar al algoritmo de una buena capacidad de generalización en nuevos datos, para
poder utilizar el algoritmo en los procesos pertinentes.
Machine Learning con Python
Dividimos el set de datos en entrenamiento y testeo.
Objetivo: Poder estimar los parámetros de algoritmo en el test de entrenamiento y testear cuál es
el poder predictivo del algoritmo en datos nuevos, no vistos anteriormente.
Importante: Asegurar independencia entre ambos sets de datos, para asegurar la generalización
A partir de una serie de variables numéricas se llega a una categórica (puede codificarse en
1/0)
Clasificación Variable Objetivo: Categórica (Maligno o No Maligno)
Variables Predictoras: Se utilizan para predecir la variable objetivo
KNN
K Nearest Neighbors
Votación de la mayoría dentro de los k vecinos más cercanos
1. Se utiliza el set de entrenamiento como ejemplos de prueba.
2. Se necesita una medida de distancia entre los elementos
3. Se necesita conocer los k valores vecinos para comparar.
KNN
1. Al predecir un nuevo registro se calcula la distancia con el set de entrenamiento.
2. Se identifican los k registros más cercanos.
3. Se etiqueta con la clase que se la mayoría de los k registros cercanos.
KNN
Ventajas Desventajas
? Es computacionalmente
? Fácil de entender e implementar. costoso
? No hace suposiciones sobre la (conjuntos grandes).
distribución de los datos. ? Sensible a la escala de las
? Es adecuado para problemas de características, por lo que es
clasificación multi clase. importante realizar una
? Puede funcionar bien en
conjuntos normalización adecuada.
de datos pequeños o con pocos ? La elección del valor de k puede
atributos. ser crucial.
# Explicación teórica y matemática de KNN y de validación cruzada, junto con Arbol de desisicion
Métricas de desempeño
Las métricas de desempeño son medidas utilizadas para evaluar el rendimiento de un modelo de
clasificación. Un primer paso es analizar los aciertos y fallos que obtiene, considerando las
diferentes clases presentes en el conjunto.
Estos datos se registran en la matriz de confusión.
Matriz de Confusión
● TP = Verdaderos positivos (True positives)
● FN = Falsos Negativos (False Negatives)
● FP = Falsos Positivos (False Positives)
● TN = Verdaderos Negativos (True Negatives
A partir de la matriz, podemos definir algunas métricas de desempeño
Accuracy: Es la exactitud global del modelo corresponde a la proporción de datos que fueron
correctamente clasificados, independiente de la categoría, por eso se considera la métrica de
exactitud global.
Precision: es la proporción de ejemplos clasificados correctamente como positivos (verdaderos
positivos) en relación con todos los ejemplos clasificados como positivos (verdaderos positivos y
falsos positivos). Se puede entender como la capacidad del modelo para identificar correctamente
los positivos.
Recall (Sensibilidad): es la proporción de ejemplos clasificados correctamente como positivos
(verdaderos positivos) en relación con todos los ejemplos reales positivos (verdaderos positivos y
falsos negativos). Se puede entender como la capacidad del modelo para detectar correctamente
los positivos.
Valor F1 (F1 Score): es una métrica que combina la precisión y la sensibilidad en una sola medida.
Es útil cuando se busca un equilibrio entre la precisión y la sensibilidad, ya que tiene en cuenta
tanto los falsos positivos como los falsos negativos.
¿Cómo escoger un valor óptimo?
Cross Validation
Se divide el conjunto de datos disponibles en “k” subconjuntos de entrenamiento y prueba, y se
realizan varios experimentos en los que se testea con cada uno de los subconjuntos, en cada
iteración
1. Se entrena el algoritmo de esta forma para cada combinación de hiper parámetros.
2. Se elige la combinación de hiper parámetros que mejor resultado tiene.
k=3
k=5
k=7
Se calculan métricas de desempeño con cada combinación y se elige la que mejores métricas tiene.
Cross Validation y valor de K
Veremos cómo realizar validación cruzada y escoger, a partir de ello, un valor adecuado para K en
Python, para lo que puedes abrir un archivo de Jupyter Notebook y replicar los pasos que te irá
presentando tu profesor. En esta presentación abordaremos:
1. Validación cruzada con KNN
2. Validación cruzada y valor de K.
/* Árboles de Decisión*/
Árboles de decisión
Método que busca particionar el espacio de atributos en una serie de rectángulos y
posteriormente se implementa un modelo simple (o estadístico) de representación [Definición de
Hastie et al. 2009]
Los hiperparámetros en un árbol de decisión buscan controlar la tendencia de crecer de manera
irrestricta:
● ¿Hasta qué punto puedo dejar crecer un árbol?
● ¿Cuántos datos son suficientes en cada nodo para particionar o declararlo terminal?
● ¿Cuántos atributos son suficientes para que mi árbol pueda capturar de buena manera el
fenómeno?
Árboles de decisión: Hiper parámetros y características
Máximo de Profundidad
¿Hasta qué niveles puede crecer un árbol?
Cantidad de atributos
¿Cuántos atributos debemos considerar en un árbol?
Mínimo de muestras en un nodo particionable
¿Con cuántas observaciones podemos seguir subdividiendo?
Mínimo de muestras en un nodo terminal
¿Con cuántas observaciones dejamos de subdividir?
/* Overfitting y Underfitting */
Sobreajuste
1. Alto Sesgo (forma inflexible)
2. Menor capacidad explicativa
3. Error generalizable
Subajuste
1. Alto Varianza (forma acoplada)
2. Mayor capacidad explicativa
3. Error poco generalizable
Regresión Logística
Determinando los parámetros. ¿Cómo encontramos los que ajusten mejor la función a la
realidad? ¡Método de Máxima Verosimilitud!
1. Regresión logística
2. Support vector machine
3. Hiperparámetros
4. Métricas - ROC AUC
/* Regresión */
En este caso, tenemos una variable objetivo numérica, se intenta entender el comportamiento
entre las variables predictoras y un valor continuo.
Variables Predictoras:
Se utilizan para predecir la variable objetivo
Variable Objetivo:
Numérico (Valores continuos con cierta distribución)
/* Regresión Logística */
Modelo de clasificación que utiliza la función logística (función sigmoide) para predecir la
probabilidad de que una observación pertenezca a una clase.
Aplicaciones
● Economía: Estimar el PIB de un país o región utilizando variables económicas como el
consumo, la inversión y el gasto público.
● Medicina: Predecir la tasa de crecimiento de un tumor basándose en características médicas y
datos de pacientes.
● Agricultura: Estimar el rendimiento de los cultivos basándose en datos climáticos, de suelo y de
cultivo.
● Manufactura: Predecir el tiempo de vida útil de un componente o maquinaria basándose en
datos de mantenimiento y uso.
● Marketing: Predecir las ventas futuras de un producto basándose en datos de marketing,
promociones y precios.
● Seguros: Predecir el costo de las reclamaciones basándose en datos de seguros y características
del asegurado.
● Medio Ambiente: Estimar la concentración de contaminantes atmosféricos basándose en datos
de calidad del aire y factores ambientales.
Estimación de parámetros en regresión lineal
Mínimos cuadrados
Para estimar los betas de la regresión lineal (“entrenar el modelo”) se utiliza el método de Mínimos
cuadrados ordinarios (MCO o OLS), con el cual se busca ajustar los betas al mínimo error.
¿Qué lo caracteriza?
Recordemos que estamos observando la regresión lineal desde el enfoque de Machine Learning.
Esto significa que nuestro objetivo es poder estimar de la mejor forma en nuevos datos, es decir,
poder generalizar el comportamiento del modelo.
/*Regularización*/
Definición y normas
La regularización es una técnica utilizada para controlar y evitar el sobreajuste (overfitting) del
modelo. Se implementa utilizando normas para penalizar los parámetros.
Norma L1 (Lasso): Se mide la distancia entre 2 vectores según la norma absoluta.
Norma L2 (Ridge): Sintetiza la distancia entre dos vectores mediante la norma euclídea.
Ridge
● Ridge modifica la superficie de penalización de los coeficientes mediante el hiperparámetro
lambda.
● Lambda gobierna la superficie de penalización que está determinada por la cantidad de
parámetros inferidos en el modelo.
● Dado que tiene una forma cuadrática, suaviza pero no elimina atributos irrelevantes.
Características y cálculo
Lasso
● Principal diferencia con Ridge: permite seleccionar y eliminar atributos irrelevantes del modelo.
● De igual manera que en Ridge, el hiperparámetro lambda define el área de la superficie de
penalización.
● La diferencia radica en la norma de penalización.
Elastic Net
● Elastic Net combina ambas normas de penalización.
● L1 nos asegura una selección de atributos.
● L2 nos asegura una penalización parsimoniosa de los coeficientes de los atributos.
● Existe un parámetro que gobierna la dominancia entre ambas formas de penalización.
Regularización en regresión lineal:
a. Ridge regression
b. Lasso regression
c. Elastic Net
/* Árboles de regresión */
Son una extensión de los árboles de clasificación que predicen un valor numérico. En vez de utilizar
criterios de pureza, utilizan unas métricas de regresión.
Árboles de regresión
Son una extensión de los árboles de clasificación que predicen un valor numérico. En vez de utilizar
criterios de pureza, utilizan un métricas de regresión.
Los árboles de regresión funcionan de manera similar a los árboles de clasificación, pero en lugar
de predecir una etiqueta de clase mayoritaria en cada nodo hoja, se predice un valor numérico
promedio basado en las muestras que llegan a esa hoja.
- Selección de la división
El árbol comienza con un nodo raíz que contiene todos los datos de entrenamiento. En cada paso,
se selecciona una característica y un umbral que dividirá los datos en dos grupos.
- Cálculo de la predicción
Se calcula la predicción numérica para cada región basada en los valores promedio de las
muestras en esa región.
- Criterio de división
La elección de la característica y el umbral se realiza de manera que la reducción en el error de
predicción sea máxima después de la división. El error se mide en términos de alguna métrica,
como la suma de los cuadrados de los residuos (SSE) o la desviación absoluta media (MAD).
- Crecimiento del árbol
El proceso de selección y división se repite para cada región creada en pasos anteriores, hasta que
se cumple algún criterio de detención, como la profundidad máxima del árbol o el número mínimo
de muestras en una región.
Árboles de regresión
Ventajas Desventajas
Interpretabilidad Sobreajuste
No linealidad Estabilidad
Flexibilidad Limitaciones con la extrapolación
Robustez ante outliers No considera relaciones globales
Tratamiento automático de
variables
Métricas de regresión
Como el objetivo de ML es poder generalizar el modelo a nuevos datos es importante poder medir
el error del modelo, Para esto tenemos múltiples métricas a disposición como:
1. MAE: Mean Absolute Error
2. MSE: Mean Square Error
3. MAPE: Mean Absolute Percentage Error
4. Otros varios