Está en la página 1de 26

Capítulo 1: Vista de pájaro

Aprendizaje automático ≠ Algoritmos


El aprendizaje automático no se trata de algoritmos. El aprendizaje automático es un enfoque integral
para resolver problemas ...

... y los algoritmos individuales son solo una pieza del rompecabezas. El resto del rompecabezas es cómo
los aplica de la manera correcta.

El aprendizaje automático es la práctica de enseñar a las computadoras cómo aprender patrones a partir de
datos, a menudo para tomar decisiones o predicciones.

Para un verdadero aprendizaje automático, la computadora debe poder aprender patrones que no están
programados explícitamente para identificar.

Terminología clave

Tareas de aprendizaje automático


En el aprendizaje automático aplicado, primero debe elegir la tarea de aprendizaje automático adecuada
para el trabajo.

 Una tarea es un objetivo específico de sus algoritmos.


 Los algoritmos se pueden intercambiar dentro y fuera, siempre que elija la tarea
correcta.
 De hecho, siempre debe probar varios algoritmos porque lo más probable es que no
sepa cuál funcionará mejor para su conjunto de datos.

Aprendizaje supervisado

El aprendizaje supervisado incluye tareas para datos "etiquetados" (es decir, tiene una variable
objetivo).

 En la práctica, a menudo se utiliza como una forma avanzada de modelado predictivo.


 Cada observación debe estar etiquetada con una "respuesta correcta".
 Solo entonces puede construir un modelo predictivo porque debe decirle al algoritmo
qué es "correcto" mientras lo entrena (por lo tanto, "supervisarlo").
 La regresión es la tarea para modelar variables objetivo continuas.
 La clasificación es la tarea para modelar variables objetivo categóricas (también
conocidas como "clase").

Aprendizaje sin supervisión

El aprendizaje no supervisado incluye tareas para datos "no etiquetados" (es decir, no tiene
una variable de destino).

 En la práctica, a menudo se utiliza como una forma de  análisis de


datos    automatizado o  extracción de señales automatizada .
 Los datos sin etiquetar no tienen una "respuesta correcta" predeterminada.
 Permitirá que el algoritmo aprenda patrones directamente a partir de los datos (sin
"supervisión").
 La agrupación en clústeres  es la tarea de aprendizaje no supervisada más común y es
para  encontrar grupos  dentro de sus datos.

Los 3 elementos del gran aprendizaje automático

# 1: un chef experto (guía humana)

Primero, aunque estamos "enseñando a las computadoras a aprender por sí mismas", la guía
humana juega un papel muy importante.

 Como verá, deberá tomar decenas de decisiones a lo largo del camino.


 De hecho, la primera decisión importante es cómo planificar su proyecto para
garantizar el éxito.

# 2: ingredientes frescos (datos limpios y relevantes)

El segundo elemento esencial es la calidad de sus datos.

 Garbage In = Garbage Out, sin importar qué algoritmos utilice.


 Los científicos de datos profesionales dedican la mayor parte de su tiempo a
comprender los datos, limpiarlos y diseñar nuevas funciones.

Si bien eso suena abierto, obtendrá nuestros marcos probados en los que siempre puede
confiar como puntos de partida.

# 3: No lo cocine demasiado (evite el sobreajuste)

Uno de los escollos más peligrosos del aprendizaje automático es el sobreajuste. Un modelo
de sobreajuste ha "memorizado" el ruido en el conjunto de entrenamiento, en lugar de
aprender los verdaderos patrones subyacentes.

 Un modelo de sobreajuste dentro de un fondo de cobertura puede costar millones de


dólares en pérdidas.
 Un modelo de sobreajuste dentro de un hospital puede costar miles de vidas.
 Para la mayoría de las aplicaciones, las apuestas no serán bastante que alto, pero
sobreajuste sigue siendo el solo error más grande que usted debe evitar.

Le enseñaremos estrategias para prevenir el sobreajuste (A) eligiendo los algoritmos correctos
y (B) ajustándolos correctamente.
Hay 5 pasos básicos:

1. Análisis exploratorio
a. Primero, "conozca" los datos. Este paso debe ser rápido, eficaz y decisivo.
2. Limpieza de datos
a. Luego, limpie sus datos para evitar muchos errores comunes. Mejores datos
superan a algoritmos más sofisticados.
3. Ingeniería de funciones
a. A continuación, ayude a sus algoritmos a "centrarse" en lo que es importante
creando nuevas funciones.
4. Selección de algoritmo
a. Elija los mejores y más apropiados algoritmos sin perder el tiempo.
5. Entrenamiento de modelos
a. Finalmente, entrena a tus modelos. Este paso es bastante práctico una vez que
hayas hecho los primeros 4.

Conclusión clave: el aprendizaje automático no debe ser


desordenado y poco sistemático. Debe ser sistemático y
organizado.
"Mejores datos superan a algoritmos más sofisticados" 

Capítulo 2: Análisis Exploratorio


En el primer capítulo vimos cómo el "80/20" de la ciencia de datos incluye 5
pasos básicos. En esta descripción general, nos sumergiremos en el primero
de esos pasos básicos: análisis exploratorio.

Este paso no debe confundirse con la visualización de datos o las estadísticas


resumidas. Esas son meras herramientas ... medios para un fin.

El análisis exploratorio adecuado se trata de responder preguntas. Se trata de


extraer suficientes conocimientos de su conjunto de datos para corregir el
rumbo antes de perderse en la maleza.

¿Por qué explorar su conjunto de datos por adelantado?

El propósito del análisis exploratorio es “conocer" el conjunto de datos. Hacerlo


por adelantado hará que el resto del proyecto sea mucho más sencillo, de tres
formas principales:

 Obtendrá valiosos consejos para la limpieza de datos (que pueden hacer


o deshacer sus modelos).
 Pensará en ideas para la ingeniería de características (que pueden
llevar sus modelos de buenos a excelentes).
 Obtendrá una "sensación" del conjunto de datos, lo que lo ayudará a
comunicar los resultados y generar un mayor impacto.

Sin embargo, el análisis exploratorio para el aprendizaje automático debe ser rápido,


eficiente y decisivo ... ¡no largo y extenso!
Verá, hay infinitos posibles gráficos, gráficos y tablas, pero solo necesita
unos pocos para "conocer" los datos lo suficientemente bien como para trabajar con
ellos.

Comience con lo básico


Primero, querrá responder un conjunto de preguntas básicas sobre el conjunto
de datos:

 ¿Cuántas observaciones tengo?


 ¿Cuántas funciones?
 ¿Cuáles son los tipos de datos de mis funciones? ¿Son
numéricos? ¿Categórico?
 ¿Tengo una variable de destino?

Trazar distribuciones numéricas

Esto le dará una "idea" de los valores de cada función y es una buena forma de
comprobar si todo tiene sentido.
Puede resultar muy esclarecedor trazar las distribuciones de sus características
numéricas. A menudo, una cuadrícula rápida y sucia de histogramas es
suficiente para comprender las distribuciones.

Aquí hay algunas cosas a tener en cuenta:

 Distribuciones que son inesperadas

 Posibles valores atípicos que no tienen sentido

 Funciones que deben ser binarias (es decir, "variables indicadoras


aspirantes")

 Límites que no tienen sentido

 Posibles errores de medición

En este punto, debe comenzar a tomar notas sobre las posibles correcciones
que le gustaría hacer. Si algo parece fuera de lugar, como un valor atípico
potencial en una de sus funciones, ahora es un buen momento para
preguntarle al cliente / a la parte interesada clave, o profundizar un poco más.

Sin embargo, esperaremos hasta la limpieza de datos para hacer las


correcciones y poder mantener nuestros pasos organizados.

Trazar distribuciones categóricas

Las características categóricas no se pueden visualizar mediante


histogramas. En su lugar, puede utilizar gráficos de barras.
En particular, querrá estar atento a las clases dispersas, que son clases que
tienen una cantidad muy pequeña de observaciones.
Por cierto, una "clase" es simplemente un valor único para una característica
categórica. Por ejemplo, el siguiente diagrama de barras muestra la distribución
de una característica llamada 'exterior_walls’. Entonces, revestimiento de
madera, ladrillo y estuco son clases para esa característica.
De todos modos, volviendo a las clases dispersas ... cómo puede ver, algunas
de las clases para ‘exterior_walls’ tienen barras muy cortas. Esas son clases
escasas.
Suelen ser problemáticos a la hora de construir modelos.
 En el mejor de los casos, no influyen mucho en el modelo.
 En el peor de los casos, pueden hacer que el modelo se sobreajuste.
Por lo tanto, recomendamos tomar nota para combinar o reasignar algunas de
estas clases más adelante. Preferimos guardar esto hasta la Ingeniería de
funciones.

Trazar segmentaciones

Las segmentaciones son formas poderosas de observar la relación entre


características categóricas y características numéricas.
Los diagramas de caja le permiten hacerlo.
Aquí hay algunas ideas que puede extraer del siguiente cuadro.
 La mediana del precio de la transacción (barra vertical media en la caja)
para viviendas unifamiliares era mucho mayor que la de Apartamentos /
Condos / Townhomes.
 Los min y max precios de las transacciones son comparables entre las
dos clases.
 De hecho, los números redondos mínimo ($ 200k) y máximo ($ 800k)
sugieren un posible truncamiento de datos ...
 ... ¡lo cual es muy importante recordar cuando evalúe la
posibilidad de generalizar sus modelos más adelante!
Correlaciones de estudio

Finalmente, las correlaciones le permiten observar las relaciones entre


características numéricas y otras características numéricas.
La correlación es un valor entre -1 y 1 que representa qué tan cerca se mueven
dos características al unísono (Que tiene el mismo tono). No es necesario
recordar las matemáticas para calcularlas. Solo conoce la siguiente intuición:

 La correlación positiva significa que a medida que aumenta una


característica, aumenta la otra. Por ejemplo, la edad y la altura de un
niño.
 La correlación negativa significa que a medida que una característica
aumenta, la otra disminuye. Por ejemplo, horas dedicadas al estudio y
número de fiestas a las que asistió.
 Las correlaciones cercanas a -1 o 1 indican una relación fuerte.
 Los más cercanos a 0 indican una relación débil.
 0 indica que no hay relación.
Los mapas de calor de correlación le ayudan a visualizar esta información. Aquí
hay un ejemplo (nota: todas las correlaciones se multiplicaron por 100):
En general, debe estar atento a:

 ¿Qué características están fuertemente correlacionadas con la variable


objetivo?
 ¿Existen fuertes correlaciones interesantes o inesperadas entre otras
características?
Nuevamente, su objetivo es obtener intuición sobre los datos, lo que lo ayudará
durante el resto del flujo de trabajo.

Al final de su paso de Análisis exploratorio, tendrá una comprensión bastante


buena del conjunto de datos, algunas notas para la limpieza de datos y
posiblemente algunas ideas para la ingeniería de características.

Capítulo 3: Limpieza de datos


Cubrimos pasos comunes como corregir errores estructurales, manejar datos
faltantes y filtrar observaciones.
En el capítulo anterior, aprendió acerca de las visualizaciones de datos
esenciales para "conocer" los datos.

Mejores datos> Algoritmos más sofisticados

La limpieza de datos adecuada puede hacer o deshacer su proyecto. Los


científicos de datos profesionales suelen dedicar una gran parte de su tiempo a
este paso.
Debido a una simple verdad en el aprendizaje automático: Mejores datos
superan a algoritmos más sofisticados.
Si tiene un conjunto de datos debidamente limpiado, ¡incluso los algoritmos
simples pueden obtener información impresionante de los datos!

Eliminar observaciones no deseadas

El primer paso para la limpieza de datos es eliminar las observaciones no


deseadas de su conjunto de datos. Esto incluye observaciones duplicadas o
irrelevantes.

Observaciones duplicadas
Las observaciones duplicadas surgen con mayor frecuencia durante la
recopilación de datos, como cuando:
 Combine conjuntos de datos de varios lugares
 Raspar datos
 Reciba datos de clientes / otros departamentos

Observaciones irrelevantes
Las observaciones irrelevantes son aquellas que en realidad no se ajustan
al problema específico que está tratando de resolver.

 Por ejemplo, si estuviera construyendo un modelo solo para viviendas


unifamiliares, no querría observaciones de apartamentos allí.
 Este también es un buen momento para revisar sus gráficos de Análisis
exploratorio. Puede consultar los gráficos de distribución de
características categóricas para ver si hay clases que no deberían estar
allí.
 La verificación de observaciones irrelevantes antes de las funciones de
ingeniería puede ahorrarle muchos dolores de cabeza en el futuro.

Corregir errores estructurales

Los errores estructurales son los que surgen durante la medición, la


transferencia de datos u otros tipos de "mala limpieza".
Por ejemplo, puede verificar si hay errores tipográficos o mayúsculas
inconsistentes. Esto es principalmente una preocupación para las
características categóricas, y puede mirar sus diagramas de barras para
verificar.
He aquí un ejemplo:

Como se puede ver:


 'composición' es lo mismo que 'composición'
 'asfalto' debería ser 'asfalto'
 'shake-shingle' debería ser 'Shake Shingle'
 'asfalto, tejas temblorosas' probablemente también podría ser solo 'tejas
sacudidas'

Después de reemplazar los errores tipográficos y las mayúsculas


inconsistentes, la distribución de clases se vuelve mucho más limpia:

Por último, compruebe si hay clases mal etiquetadas, es decir, clases


separadas que realmente deberían ser iguales.
 Por ejemplo, si 'N / A' y 'No aplicable' aparecen como dos clases
separadas, debe combinarlas.
 por ejemplo, "TI" y "tecnología de la información" deberían ser una sola
clase.

Filtrar valores atípicos no deseados

Los valores atípicos pueden causar problemas con ciertos tipos de


modelos. Por ejemplo, los modelos de regresión lineal son menos robustos a
valores atípicos que los modelos de árbol de decisión.
En general, si tiene una razón legítima para eliminar un valor atípico, ayudará al
rendimiento de su modelo. Sin embargo, los valores atípicos son inocentes
hasta que se demuestre su culpabilidad.  Nunca debe eliminar un valor atípico
solo porque es un "número grande". Ese gran número podría ser muy
informativo para su modelo.
No podemos enfatizar esto lo suficiente: debe tener una buena razón para
eliminar un valor atípico, como mediciones sospechosas que probablemente no
sean datos reales.
Manejar datos faltantes

La falta de datos es un problema engañosamente complicado en el aprendizaje


automático aplicado.
Primero, para que quede claro, no puede simplemente ignorar los valores
faltantes en su conjunto de datos. Debe manejarlos de alguna manera por la
muy práctica razón de que la mayoría de los algoritmos no aceptan valores
perdidos.
El "sentido común" no es sensato aquí
Desafortunadamente, según nuestra experiencia, las 2 formas recomendadas
más comúnmente para lidiar con los datos faltantes realmente apestan.
Ellos son:

 Eliminación de observaciones que tienen valores perdidos


 Imputar los valores perdidos en base a otras observaciones

Descartar los valores perdidos es subóptimo porque cuando descarta


observaciones, descarta información.

 El hecho de que faltara el valor puede ser informativo en sí mismo.


 Además, en el mundo real, a menudo es necesario hacer predicciones
sobre datos nuevos incluso si faltan algunas de las funciones.

La imputación de valores perdidos es subóptima porque el valor originalmente


faltaba, pero lo completó, lo que siempre conduce a una pérdida de
información, sin importar cuán sofisticado sea su método de imputación.

 Una vez más, la "falta" es casi siempre informativa en sí misma, y


debe indicarle a su algoritmo si falta un valor.
 Incluso si crea un modelo para imputar sus valores, no está agregando
ninguna información real. Solo está reforzando los patrones que ya
proporcionan otras funciones.
En resumen, siempre debe decirle a su algoritmo que falta un valor porque
la falta es informativa.

Faltan datos categóricos

¡La mejor manera de manejar los datos faltantes para


las características categóricas es simplemente etiquetarlos como 'Faltantes'!

 Básicamente, está agregando una nueva clase para la función.


 Esto le dice al algoritmo que faltaba el valor.
 Esto también evita el requisito técnico de que no falten valores.

Faltan datos numéricos

Para los datos numéricos que faltan, debe marcar y completar los valores.

 Marque la observación con una variable indicadora de ausencia.


 Luego, complete el valor faltante original con 0 solo para cumplir con el
requisito técnico de que no falten valores.

Al utilizar esta técnica de marcado y llenado, esencialmente está permitiendo


que el algoritmo estime la constante óptima para la falta, en lugar de
simplemente completarla con la media.
Después de completar correctamente el paso de limpieza de datos, tendrá un
conjunto de datos sólido que evita muchos de los errores más comunes.
Esto realmente puede ahorrarle un montón de dolores de cabeza en el futuro,
así que no se apresure en este paso.
Capítulo 4: Ingeniería de funciones
En el capítulo anterior, aprendió un marco confiable para limpiar su conjunto de
datos . Arreglamos errores estructurales, manejamos los datos faltantes y
filtramos las observaciones.
En esta guía, veremos cómo podemos realizar la ingeniería de funciones para
ayudar a nuestros algoritmos y mejorar el rendimiento del modelo.
¿Qué es la ingeniería de funciones?

La ingeniería de características consiste en crear nuevas características de


entrada a partir de las existentes.
En general, puede pensar en la limpieza de datos como un proceso de resta y
la ingeniería de características como un proceso de suma.
A menudo, esta es una de las tareas más valiosas que puede realizar un
científico de datos para mejorar el rendimiento del modelo, por 3 grandes
razones:

 Puede aislar y resaltar información clave, lo que ayuda a sus algoritmos


a "concentrarse" en lo que es importante.
 Puede aportar su propia experiencia en el dominio.
 Lo más importante es que, una vez que comprenda el "vocabulario" de
la ingeniería de funciones, ¡podrá aportar la experiencia en el dominio de
otras personas!

Infundir conocimiento del dominio

A menudo, puede diseñar funciones informativas aprovechando su experiencia (o la de


otros) sobre el dominio.
Intente pensar en información específica que quizás desee aislar. Aquí tienes mucha
"libertad creativa".
Volviendo a nuestro ejemplo con el conjunto de datos de bienes raíces, digamos que
recordó que la crisis de la vivienda ocurrió en el mismo período de tiempo ...
Bueno, si sospecha que los precios se verán afectados, puede crear una variable
indicadora para las transacciones durante ese período. Las variables indicadoras son
variables binarias que pueden ser 0 o 1. Ellos "indican" si una observación cumple una
determinada condición, y son muy útiles para aislar propiedades clave.
Como puede sospechar, el "conocimiento del dominio" es muy amplio y abierto. En
algún momento, te quedarás atascado o agotarás tus ideas.
Ahí es donde entran en juego estos próximos pasos. Estas son algunas heurísticas
específicas que pueden ayudar a generar más.

Crear funciones de interacción

La primera de estas heurísticas es verificar si puede crear funciones de


interacción que tengan sentido. Son combinaciones de dos o más funciones.
Por cierto, en algunos contextos, los "términos de interacción" deben ser productos
entre dos variables. En nuestro contexto, las características de interacción pueden
ser productos, sumas o diferencias entre dos características.
Un consejo general es mirar cada par de características y preguntarse: "¿Podría
combinar esta información de alguna manera que pueda ser aún más útil?"
Ejemplo (inmobiliaria)

 Digamos que ya teníamos una función llamada 'num_schools' , es decir, la


cantidad de escuelas dentro de un radio de 5 millas de una propiedad.
 Digamos que también tenemos la función 'median_school', es decir, la
puntuación de calidad media de esas escuelas.
 Sin embargo, podríamos sospechar que lo realmente importante es tener
muchas opciones escolares, pero solo si son buenas.
 Bueno, para capturar esa interacción, podríamos simplemente crear una
nueva función ‘school_score’ =  'num_schools'  x  'median_school'

Combinar clases dispersas

La siguiente heurística que consideraremos es agrupar clases dispersas.


Las clases dispersas (en características categóricas) son aquellas que tienen muy
pocas observaciones totales. Pueden ser problemáticos para ciertos algoritmos de
aprendizaje automático, lo que hace que los modelos se ajusten demasiado.

 No hay una regla formal de cuántos necesita cada clase.

 También depende del tamaño de su conjunto de datos y de la cantidad de


otras características que tenga.

 Como regla general , recomendamos combinar clases hasta que cada una
tenga al menos ~ 50 observaciones. Como con cualquier "regla" empírica,
utilícela como una guía (no como una  regla ).
ejemplo inmobiliario:

Para empezar, podemos agrupar clases similares. En el gráfico anterior, la


característica ‘exterior_walls’ tiene varias clases que son bastante similares.

 Es posible que deseemos agrupar 'Revestimiento de madera', 'Tejas de


madera' y 'Madera' en una sola clase. De hecho, etiquetémoslos a todos como
'Madera'.
A continuación, podemos agrupar las clases dispersas restantes en una sola clase
'Otro’, incluso si ya existe una clase 'Otro'.

 Agruparíamos 'Bloque de hormigón', 'Estuco', 'Mampostería', 'Otro' y 'Teja de


asbesto' en solo 'Otro'.
Así es como se ven las distribuciones de clases después de combinar clases similares
y otras:

Después de combinar clases dispersas, tenemos menos clases únicas, pero cada una
tiene más observaciones.
A menudo, una prueba visual es suficiente para decidir si desea agrupar determinadas
clases.

Agregar variables ficticias


La mayoría de los algoritmos de aprendizaje automático no pueden manejar
directamente características categóricas. Específicamente, no pueden manejar valores
de texto.
Por lo tanto, necesitamos crear variables ficticias para nuestras características
categóricas.
Las variables ficticias son un conjunto de variables binarias (0 o 1) que representan
cada una, una sola clase de una característica categórica.
La información que representa es exactamente la misma, pero esta representación
numérica le permite pasar los requisitos técnicos de los algoritmos.
En el ejemplo anterior, después de agrupar clases dispersas, nos quedamos con 8
clases, que se traducen en 8 variables ficticias:

Eliminar funciones no utilizadas

Por último, elimine las funciones redundantes o no utilizadas del conjunto de datos.
Las funciones no utilizadas son aquellas que no tienen sentido para pasar a nuestros
algoritmos de aprendizaje automático. Ejemplos incluyen:

 Columnas de identificación

 Funciones que no estarían disponibles en el momento de la predicción

 Otras descripciones de texto


Las funciones redundantes suelen ser aquellas que han sido reemplazadas por otras
funciones que ha agregado durante la ingeniería de funciones.
Después de completar la limpieza de datos y la ingeniería de características, habrá
transformado su conjunto de datos sin procesar en una tabla base analítica (ABT). Lo
llamamos "ABT" porque es sobre lo que construirás tus modelos.
Como consejo final: no todas las funciones que diseñe deben ser ganadoras. De
hecho, a menudo encontrará que muchos de ellos no mejoran su modelo. Eso está
bien porque una característica altamente predictiva compensa 10 fallas.
La clave es elegir algoritmos de aprendizaje automático que puedan seleccionar
automáticamente las mejores funciones entre muchas opciones (selección de
funciones incorporadas).
Esto le permitirá evitar sobre ajustar su modelo a pesar de proporcionar muchas
funciones de entrada.

Capítulo 5: Selección de algoritmo


En el capítulo anterior, aprendió varias heurísticas diferentes para una ingeniería de
características efectiva . Aquellos incluyeron aprovechar el conocimiento del dominio y
agrupar clases dispersas.
Introduciremos dos mecanismos poderosos en algoritmos
modernos: regularización y conjuntos. Como verá, estos mecanismos "arreglan"
algunas fallas fatales en métodos más antiguos, lo que ha llevado a su popularidad.

Cómo elegir algoritmos ML

En lugar de darle una larga lista de algoritmos, nuestro objetivo es explicar algunos
conceptos esenciales (por ejemplo, regularización, ensamblaje, selección automática de
funciones) que le enseñarán por qué algunos algoritmos tienden a funcionar mejor que
otros.
En el aprendizaje automático aplicado, los algoritmos individuales deben
intercambiarse dentro y fuera según cuál funcione mejor para el problema y el conjunto
de datos. Por lo tanto, nos centraremos en la intuición y los beneficios prácticos sobre
las matemáticas y la teoría.

Por qué la regresión lineal es defectuosa

Para presentar el razonamiento de algunos de los algoritmos avanzados, comencemos


discutiendo la regresión lineal básica. Los modelos de regresión lineal son muy
comunes, pero muy defectuosos.

Los modelos de regresión lineal simple se ajustan a una "línea recta" (técnicamente un
hiperplano dependiendo del número de características, pero es la misma idea). En la
práctica, rara vez funcionan bien. De hecho, recomendamos omitirlos para la mayoría
de los problemas de aprendizaje automático.
Su principal ventaja es que son fáciles de interpretar y comprender. Sin embargo,
nuestro objetivo no es estudiar los datos y redactar un informe de
investigación. Nuestro objetivo es construir un modelo que pueda realizar predicciones
precisas.
En este sentido, la regresión lineal simple adolece de dos defectos importantes:

1. Es propenso a sobreajustarse con muchas funciones de entrada.


2. No puede expresar fácilmente relaciones no lineales.

Regularización en aprendizaje automático

Esta es la primera táctica "avanzada" para mejorar el rendimiento del modelo. Se


considera bastante "avanzado" en muchos cursos de aprendizaje automático, pero es
muy fácil de entender e implementar.
El primer defecto de los modelos lineales es que tienden a sobreajustarse con muchas
características de entrada.
Tomemos un ejemplo extremo para ilustrar por qué sucede esto:

 Supongamos que tiene 100 observaciones en su conjunto de datos de


entrenamiento.

 Digamos que también tiene 100 funciones.

 Si ajusta un modelo de regresión lineal con todas esas 100 características,


puede "memorizar" perfectamente el conjunto de entrenamiento.

 Cada coeficiente simplemente memorizaría una observación. Este modelo


tendría una precisión perfecta en los datos de entrenamiento, pero funcionaría
mal en datos invisibles.
 No ha aprendido los verdaderos patrones subyacentes; solo ha memorizado el
ruido en los datos de entrenamiento.
La regularización es una técnica utilizada para evitar el sobreajuste penalizando
artificialmente los coeficientes del modelo.

 Puede desalentar los coeficientes grandes (atenuándolos).

 También puede eliminar características por completo (estableciendo sus


coeficientes en 0).

 La "fuerza" de la pena es sintonizable. (Más sobre esto mañana ...) :C

Regresión Regularizada Algos

Hay 3 tipos comunes de algoritmos de regresión lineales regularizados.

Regresión de lazo
Least Absolute Shrinkage and Selection Operator.

 La regresión de lazo penaliza el tamaño absoluto de los coeficientes.


 Prácticamente, esto conduce a coeficientes que pueden ser exactamente 0.

 Por lo tanto, Lasso ofrece una selección automática de funciones porque


puede eliminar por completo algunas funciones.
 Recuerde, se debe ajustar la "fuerza" de la penalización.

 Una penalización más fuerte conduce a más coeficientes reducidos a cero.

Regresión de crestas (ridge)

 La regresión de crestas penaliza el tamaño al cuadrado  de los coeficientes.


 Prácticamente, esto conduce a coeficientes más pequeños, pero no los obliga
a 0.

 En otras palabras, Ridge ofrece contracción de características.


 Nuevamente, se debe ajustar la "fuerza" de la pena.

 Una penalización más fuerte lleva a que los coeficientes se acerquen más a
cero.
Red elástica

Elastic-Net es un compromiso entre Lasso y Ridge.

 Elastic-Net penaliza una combinación de tamaño absoluto y cuadrado.


 Se   debe ajustar la proporción de los dos tipos de penalización.
 La fuerza general también debe ajustarse.
Ah, y en caso de que se lo pregunte, no existe el "mejor" tipo de
penalización. Realmente depende del conjunto de datos y del
problema. Recomendamos probar diferentes algoritmos que utilizan un rango de
potencias de penalización como parte del proceso de ajuste, que cubriremos en detalle
mañana.

Árbol de Decisión Algos

Impresionante, acabamos de ver 3 algoritmos que pueden proteger la regresión lineal


del sobreajuste. Pero si recuerda, la regresión lineal adolece de dos defectos
principales:

1. Es propenso a sobreajustarse con muchas funciones de entrada.

2. No puede expresar fácilmente relaciones no lineales.


¿Cómo podemos solucionar el segundo defecto?
Bueno, necesitamos alejarnos de los modelos lineales para hacerlo ... necesitamos
traer una nueva categoría de algoritmos.
Los árboles de decisión modelan los datos como un "árbol" de ramas
jerárquicas. Hacen ramas hasta que llegan a "hojas" que representan predicciones.

Debido a su estructura de ramificación, los árboles de decisión pueden modelar


fácilmente relaciones no lineales.

 Por ejemplo, digamos que para las viviendas unifamiliares, los lotes más
grandes tienen precios más altos.

 Sin embargo, digamos que en el caso de los apartamentos, los lotes más


pequeños tienen precios más altos (es decir, es un indicador de lo urbano /
rural).
 Esta inversión de la correlación es difícil de capturar para los modelos
lineales a menos que agregue explícitamente un término de interacción (es
decir, puede anticiparlo con anticipación).
 Por otro lado, los árboles de decisión pueden capturar esta relación de forma
natural.
Desafortunadamente, los árboles de decisión también adolecen de un defecto
importante. Si les permite crecer sin límites, pueden "memorizar" completamente los
datos de entrenamiento, simplemente creando más y más y más ramas.
Como resultado, los árboles de decisión individuales sin restricciones son muy
propensos a sobreajustarse.
Entonces, ¿cómo podemos aprovechar la flexibilidad de los árboles de decisión
mientras evitamos que sobreajustan los datos de entrenamiento?

Conjuntos de árboles

Los conjuntos son métodos de aprendizaje automático para combinar predicciones de


varios modelos separados. Hay algunos métodos diferentes para ensamblar, pero los
dos más comunes son:

Empaquetado (bagging)

El empaquetado intenta reducir la posibilidad de sobreajustar modelos complejos.


 Entrena a un gran número de aprendices "fuertes" en paralelo.

 Un alumno fuerte es un modelo relativamente libre de restricciones .


 El empaquetamiento luego combina a todos los aprendices fuertes juntos para
"suavizar" sus predicciones.

Impulso

Impulsar los intentos de mejorar la flexibilidad predictiva de modelos simples.

 Entrena secuencialmente a un gran número de alumnos "débiles".

 Un alumno débil es un modelo restringido (es decir, podría limitar la profundidad


máxima de cada árbol de decisiones).
 Cada uno en la secuencia se enfoca en aprender de los errores del anterior.

 El impulso luego combina a todos los estudiantes débiles en un solo estudiante


fuerte.
Si bien el ensacado y el refuerzo son métodos conjuntos, abordan el problema desde
direcciones opuestas. Bagging usa modelos base complejos e intenta "suavizar" sus
predicciones, mientras que el impulso usa modelos base simples e intenta "aumentar"
su complejidad agregada.
El conjunto es un término general, pero cuando los modelos base son árboles de
decisión, tienen nombres especiales: ¡bosques aleatorios y árboles potenciados!

Bosques aleatorios

Los bosques aleatorios entrenan una gran cantidad de árboles de decisión


"fuertes" y combinan sus predicciones a través del ensacado.
Además, hay dos fuentes de "aleatoriedad" para los bosques aleatorios:

1. Cada árbol solo puede elegir entre un subconjunto aleatorio de características para
dividir (lo que lleva a la selección de características).
2. Cada árbol solo se entrena en un subconjunto aleatorio de observaciones (un
proceso llamado remuestreo ).
En la práctica, los bosques aleatorios tienden a funcionar muy bien desde el primer
momento.

 A menudo superan a muchos otros modelos que tardan hasta semanas en


desarrollarse.

 Son el algoritmo perfecto de "navaja suiza" que casi siempre da buenos resultados.


 No tienen muchos parámetros complicados para ajustar.

Árboles potenciados
Los árboles potenciados entrenan una secuencia de árboles de decisión
limitados y "débiles" y combinan sus predicciones mediante el refuerzo.

 A cada árbol se le permite una profundidad máxima, que debe ser afinada.


 Cada árbol de la secuencia intenta corregir los errores de predicción del anterior.
En la práctica, los árboles reforzados tienden a tener los techos de mayor rendimiento.

 A menudo superan a muchos otros tipos de modelos después de un ajuste


adecuado.
 Son más complicados de ajustar que los bosques aleatorios.

Conclusión clave:  los algoritmos más efectivos suelen ofrecer una combinación


de regularización, selección automática de funciones, capacidad para expresar
relaciones no lineales y / o enpaquetado. Esos algoritmos incluyen:
1. Regresión de lazo

2. Regresión de crestas

3. Red elástica

4. Bosque aleatorio

5. Árbol potenciado

Capítulo 6: Entrenamiento de modelos


Realmente ajustar (también conocido como entrenamiento) nuestro modelo será
bastante sencillo.
Hay algunas técnicas clave que discutiremos, y se han convertido en las mejores
prácticas ampliamente aceptadas en el campo.

Cómo entrenar modelos de ML

Puede parecer que nos tomó un tiempo llegar aquí, pero los científicos de datos
profesionales realmente dedican la mayor parte de su tiempo a los pasos que
conducen a este:

1. Explorando los datos.

2. Limpiando los datos.

3. Ingeniería de nuevas funciones.


Nuevamente, eso se debe a que mejores datos superan a los algoritmos más
sofisticados.
En esta lección, aprenderá cómo configurar todo el proceso de modelado para
maximizar el rendimiento y, al mismo tiempo, protegerse contra el
sobreajuste. Intercambiaremos algoritmos dentro y fuera y encontraremos
automáticamente los mejores parámetros para cada uno.

Conjunto de datos dividido

Comencemos con un paso crucial pero que a veces se pasa por alto: gastar sus datos.
Piense en sus datos como un recurso limitado.

 Puede gastar parte de él para entrenar su modelo (es decir, alimentarlo con el
algoritmo).

 Puede gastar parte de él para evaluar (probar) su modelo.

 ¡Pero no puede reutilizar los mismos datos para ambos!


Si evalúa su modelo con los mismos datos que utilizó para entrenarlo, su modelo
podría estar muy sobreajustado y ni siquiera lo sabría. Un modelo debe juzgarse por
su capacidad para predecir datos nuevos que no se ven.
Por lo tanto, debe tener subconjuntos de prueba y entrenamiento separados de su
conjunto de datos.

Los conjuntos de entrenamiento se utilizan para ajustar y ajustar sus modelos. Los


conjuntos de prueba se apartan como datos "invisibles" para evaluar sus modelos.

 Siempre debe dividir sus datos antes de hacer cualquier otra cosa.


 Ésta es la mejor forma de obtener estimaciones fiables del rendimiento de sus
modelos.

 Después de dividir sus datos, no toque su conjunto de prueba hasta que esté


listo para elegir su modelo final.
Comparar el rendimiento de la prueba con el del entrenamiento nos permite
evitar el sobreajuste ... Si el modelo funciona muy bien en los datos de
entrenamiento, pero mal en los datos de prueba, entonces está sobreajustado.

¿Qué son los hiperparámetros?

Hasta ahora, hemos estado hablando casualmente sobre modelos de "ajuste", pero
ahora es el momento de tratar el tema de manera más formal.
Cuando hablamos de modelos de ajuste, nos referimos específicamente al ajuste
de hiperparámetros .
Hay dos tipos de parámetros en los algoritmos de aprendizaje automático.
La distinción clave es que los parámetros del modelo se pueden aprender
directamente de los datos de entrenamiento, mientras que los hiperparámetros
no.

Parámetros del modelo

Los parámetros del modelo son atributos aprendidos que definen modelos


individuales.

 por ejemplo, coeficientes de regresión

 por ejemplo, ubicaciones divididas en árboles de decisión

 Se pueden aprender directamente de los datos de entrenamiento.


Hiperparámetros

Los hiperparámetros expresan configuraciones estructurales de "nivel superior" para


los algoritmos.

 por ejemplo, fuerza de la penalización utilizada en la regresión regularizada

 por ejemplo, el número de árboles que se incluirán en un bosque aleatorio

 Se deciden antes de ajustar el modelo porque no se pueden aprender de los


datos.
¿Qué es la validación cruzada?

A continuación, es hora de presentar un concepto que nos ayudará a ajustar nuestros


modelos: la validación cruzada.
La validación cruzada es un método para obtener una estimación confiable del
rendimiento del modelo utilizando solo sus datos de entrenamiento.
Hay varias formas de realizar una validación cruzada. El más común, la validación
cruzada de 10 veces, divide sus datos de entrenamiento en 10 partes iguales (también
conocidas como pliegues), esencialmente creando 10 divisiones de tren / prueba en
miniatura.
Esencialmente creando 10 divisiones de tren / prueba en miniatura.
Estos son los pasos para una validación cruzada de 10 veces:

1. Divida sus datos en 10 partes iguales o "pliegues".

2. Entrene su modelo en 9 pliegues (por ejemplo, los primeros 9 pliegues).

3. Evalúelo en el 1 pliegue "de retención" restante.

4. Realice los pasos (2) y (3) 10 veces, cada vez sosteniendo un pliegue
diferente.
5. Promedio del rendimiento en los 10 pliegues de retención.
El rendimiento promedio en los 10 pliegues de retención es su estimación de
rendimiento final, también llamada puntuación de validación cruzada. Debido a que
creó 10 divisiones de mini tren / prueba, esta puntuación suele ser bastante confiable.

Ajustar y ajustar modelos

Ahora que hemos dividido nuestro conjunto de datos en conjuntos de prueba y


entrenamiento, y hemos aprendido sobre los hiperparámetros y la validación cruzada,
estamos listos para ajustar y ajustar nuestros modelos.
Básicamente, todo lo que necesita hacer es realizar todo el circuito de validación
cruzada se detalló anteriormente en cada conjunto de valores hiperparámetro nos
gustaría probar. Los pseudo-código de alto nivel es similar al siguiente:

Al final de este proceso, tendrá una puntuación con validación cruzada para cada
conjunto de valores de hiperparámetros ... para cada algoritmo.
Por ejemplo:

Luego, elegiremos el mejor conjunto de hiperparámetros dentro de cada algoritmo.

Es un poco como los Juegos del Hambre ... cada algoritmo envía sus propios
"representantes" (es decir, modelo entrenado en el mejor conjunto de valores de
hiperparámetros) a la selección final, que viene a continuación ...

Seleccione el modelo ganador

A estas alturas, tendrá 1 "mejor" modelo para cada algoritmo que se haya ajustado


mediante validación cruzada. Lo más importante es que hasta ahora solo ha utilizado
los datos de entrenamiento.
Ahora es el momento de evaluar cada modelo y elegir el mejor, al estilo de Los Juegos
del Hambre.
Debido a que ha guardado su conjunto de prueba como un conjunto de datos
realmente invisible, ahora puede usarlo para obtener una estimación confiable del
rendimiento de cada modelo.
Existe una variedad de métricas de rendimiento entre las que puede elegir. No les
dedicaremos demasiado tiempo aquí, pero en general:

 Para las tareas de regresión, recomendamos el error cuadrático medio


(MSE)  o  el error absoluto medio (MAE) . (Los valores más bajos son
mejores)
 Para las tareas de clasificación, recomendamos Área bajo curva ROC
(AUROC) . (Los valores más altos son mejores)

El proceso es muy sencillo:

1. Para cada uno de sus modelos, haga predicciones en su conjunto de prueba.

2. Calcule las métricas de rendimiento utilizando esas predicciones y la


variable objetivo de "verdad sobre el terreno" del conjunto de pruebas.
Finalmente, use estas preguntas para ayudarlo a elegir el modelo ganador:

 ¿Qué modelo tuvo el mejor rendimiento en el conjunto de


prueba? (actuación)
 ¿Funciona bien en varias métricas de rendimiento? (robustez)
 ¿También tuvo (uno de) los mejores puntajes con validación cruzada del
conjunto de entrenamiento? (consistencia)
 ¿Resuelve el problema comercial original? (condición de victoria)

También podría gustarte