El aprendizaje automático es la ciencia (y el arte) de programar ordenadores para que puedan aprender de los datos.
campo de estudio que da a los ordenadores la capacidad de aprender sin ser programados explícitamente. – Arthur Samuel, 1959
Una definición mejor:
Se dice que un programa de ordenador aprende de la experiencia E con respecto a alguna tarea T y alguna medida de rendimiento P, si su rendimiento en T, medido por P, mejora con la experiencia E. – Tom Mitchell, 1997
Por ejemplo, su filtro de spam es un programa de aprendizaje automático que puede aprender a marcar el spam después de recibir ejemplos de correos electrónicos de spam que son marcados por los usuarios, y ejemplos de correos electrónicos normales que no son spam (también llamados «jamón»). Los ejemplos que el sistema utiliza para aprender se denominan conjunto de entrenamiento. En este caso, la tarea (T) es marcar el spam de los nuevos correos electrónicos, la experiencia (E) son los datos de entrenamiento y hay que definir la medida de rendimiento (P). Por ejemplo, puede utilizar la proporción de correos electrónicos clasificados correctamente como P. Esta medida de rendimiento particular se llama precisión y se utiliza a menudo en las tareas de clasificación, ya que es un enfoque de aprendizaje supervisado.
Dive DeeperAn Introduction to Machine Learning for Beginners
Aprendizaje supervisado
En el aprendizaje supervisado, los algoritmos aprenden de los datos etiquetados. Después de entender los datos, el algoritmo determina qué etiqueta debe darse a los nuevos datos asociando patrones a los nuevos datos no etiquetados.
El aprendizaje supervisado puede dividirse en dos categorías: clasificación y regresión.
La clasificación predice la categoría a la que pertenecen los datos.
Algunos ejemplos de clasificación incluyen la detección de spam, la predicción de churn, el análisis de sentimientos, la detección de razas de perros, etc.
La regresión predice un valor numérico basado en datos previamente observados.
Algunos ejemplos de regresión incluyen la predicción del precio de la vivienda, la predicción del precio de las acciones, la predicción de la altura y el peso, etc.
Dive DeeperA Tour of the Top 10 Algorithms for Machine Learning Newbies
Classification
La clasificación es una técnica para determinar a qué clase pertenece la persona dependiente basándose en una o más variables independientes.
La clasificación se utiliza para predecir respuestas discretas.
Regresión logística
La regresión logística es algo parecido a la regresión lineal, pero se utiliza cuando la variable dependiente no es un número sino otra cosa (por ejemplo, una respuesta «sí/no»). Se llama regresión pero realiza una clasificación basada en la regresión y clasifica la variable dependiente en cualquiera de las clases.
La regresión logística se utiliza para la predicción de la salida que es binaria, como se dijo anteriormente. Por ejemplo, si una compañía de tarjetas de crédito construye un modelo para decidir si emite o no una tarjeta de crédito a un cliente, modelará si el cliente va a «incumplir» o «no incumplir» con su tarjeta.
En primer lugar, se realiza una regresión lineal sobre la relación entre las variables para obtener el modelo. Se supone que el umbral de la línea de clasificación está en 0,5.
K-Nearest Neighbors (K-NN)
El algoritmo K-NN es uno de los algoritmos de clasificación más simples y se utiliza para identificar los puntos de datos que están separados en varias clases para predecir la clasificación de un nuevo punto de muestra. K-NN es un algoritmo de aprendizaje no paramétrico y perezoso. Clasifica los nuevos casos basándose en una medida de similitud (es decir, funciones de distancia).
K-NN funciona bien con un pequeño número de variables de entrada (p), pero tiene problemas cuando el número de entradas es muy grande.
Máquina de vectores de apoyo (SVM)
El vector de apoyo se utiliza tanto para la regresión como para la clasificación. Se basa en el concepto de planos de decisión que definen los límites de decisión. Un plano de decisión (hiperplano) es el que separa entre un conjunto de objetos que tienen diferentes pertenencias de clase.
Realiza la clasificación encontrando el hiperplano que maximiza el margen entre las dos clases con la ayuda de los vectores de soporte.
El aprendizaje del hiperplano en SVM se realiza transformando el problema utilizando algo de álgebra lineal (es decir, el ejemplo anterior es un kernel lineal que tiene una separabilidad lineal entre cada variable).
Para datos de mayor dimensión, se utilizan otros kernels como puntos y no se pueden clasificar fácilmente. Se especifican en la siguiente sección.
Kernel SVM
Kernel SVM toma en una función de kernel en el algoritmo SVM y lo transforma en la forma requerida que mapea los datos en una dimensión más alta que es separable.
Los tipos de función kernel son:
- SVM lineal es la que hemos discutido anteriormente.
- En el kernel polinómico, se debe especificar el grado del polinomio. Permite líneas curvas en el espacio de entrada.
- En el kernel de función de base radial (RBF), se utiliza para variables no linealmente separables. Para la distancia, se utiliza la distancia métrica euclidiana al cuadrado. Utilizar un valor típico del parámetro puede llevar a sobreajustar nuestros datos. Se utiliza por defecto en sklearn.
- El kernel sigmoide, similar a la regresión logística se utiliza para la clasificación binaria.
El truco del kernel utiliza la función del kernel para transformar los datos en un espacio de características de mayor dimensión y hace posible realizar la separación lineal para la clasificación.
Función de base radial (RBF) Kernel
La región de decisión del kernel RBF SVM es en realidad también una región de decisión lineal. Lo que hace realmente el kernel RBF SVM es crear combinaciones no lineales de características para elevar las muestras a un espacio de características de mayor dimensión en el que se puede utilizar un límite de decisión lineal para separar las clases.
Así, la regla general es: utilizar SVMs lineales para problemas lineales, y kernels no lineales como el kernel RBF para problemas no lineales.
Bayes ingenuo
El clasificador Bayes ingenuo se basa en el teorema de Bayes con los supuestos de independencia entre predictores (es decir, asume que la presencia de una característica en una clase no está relacionada con ninguna otra característica). Incluso si estas características dependen unas de otras, o de la existencia de otras características, todas estas propiedades son independientes. De ahí el nombre de Bayes ingenuo.
Basado en el Bayes ingenuo, el Bayes ingenuo gaussiano se utiliza para la clasificación basada en la distribución binomial (normal) de los datos.
- P(clase|datos) es la probabilidad posterior de la clase(objetivo) dado el predictor(atributo). Es la probabilidad de que un punto de datos tenga una u otra clase, dado el punto de datos. Este es el valor que buscamos calcular.
- P(clase) es la probabilidad a priori de la clase.
- P(datos|clase) es la probabilidad, que es la probabilidad del predictor dada la clase.
- P(datos) es la probabilidad a priori del predictor o probabilidad marginal.
Pasos
1. Calcular la probabilidad previa
P(clase) = Número de puntos de datos en la clase/Número total de observaciones
P(amarillo) = 10/17
P(verde) = 7/17
2. Calcular la Probabilidad Marginal
P(datos) = Número de puntos de datos similares a la observación/Número total de observaciones
P(?) = 4/17
El valor está presente en la comprobación de ambas probabilidades.
3. Calcular la Probabilidad
P(datos/clase) = Número de observaciones similares a la clase/Número total de puntos de la clase.
P(?/amarillo) = 1/7
P(?/verde) = 3/10
4. Probabilidad posterior para cada clase
5. Clasificación
Cuanto mayor sea la probabilidad, mayor será la clase que pertenezca a esa categoría, ya que a partir de un 75% de probabilidad el punto pertenece a la clase verde.
Los modelos multinomial, Bernoulli ingenuo de Bayes son los otros modelos utilizados en el cálculo de probabilidades. Por lo tanto, un modelo Bayes ingenuo es fácil de construir, sin una complicada estimación iterativa de los parámetros, lo que lo hace especialmente útil para conjuntos de datos muy grandes.
Clasificación en árbol de decisión
El árbol de decisión construye modelos de clasificación o regresión en forma de estructura de árbol. Desglosa un conjunto de datos en subconjuntos cada vez más pequeños mientras que al mismo tiempo se desarrolla un árbol de decisión asociado de forma incremental. El resultado final es un árbol con nodos de decisión y nodos hoja. Sigue la estructura del algoritmo Iterative Dichotomiser 3(ID3) para determinar la división.
La entropía y la ganancia de información se utilizan para construir un árbol de decisión.
La entropía
Es el grado o la cantidad de incertidumbre en la aleatoriedad de los elementos. En otras palabras, es una medida de impureza.
Intuitivamente, nos habla de la predictibilidad de un determinado evento. La entropía calcula la homogeneidad de una muestra. Si la muestra es completamente homogénea la entropía es cero, y si la muestra está igualmente dividida tiene una entropía de uno.
Ganancia de información
La ganancia de información mide el cambio relativo en la entropía con respecto al atributo independiente. Trata de estimar la información que contiene cada atributo. La construcción de un árbol de decisión consiste en encontrar el atributo que devuelve la mayor ganancia de información (es decir, las ramas más homogéneas).
Donde Gain(T, X) es la ganancia de información aplicando la característica X. Entropy(T) es la entropía de todo el conjunto, mientras que el segundo término calcula la entropía después de aplicar la característica X.
La ganancia de información clasifica los atributos para filtrarlos en un nodo determinado del árbol. La clasificación se basa en la entropía de ganancia de información más alta en cada división.
La desventaja de un modelo de árbol de decisión es el sobreajuste, ya que intenta ajustar el modelo profundizando en el conjunto de entrenamiento y reduciendo así la precisión de la prueba.
El sobreajuste en los árboles de decisión puede minimizarse mediante la poda de nodos.
Métodos de conjunto para la clasificación
Un modelo de conjunto es un equipo de modelos. Técnicamente, los modelos ensemble comprenden varios modelos de aprendizaje supervisado que se entrenan individualmente y los resultados se fusionan de varias maneras para lograr la predicción final. Este resultado tiene un mayor poder de predicción que los resultados de cualquiera de sus algoritmos de aprendizaje constituyentes de forma independiente.
Clasificación de bosque aleatorio
El clasificador de bosque aleatorio es un algoritmo de conjunto basado en el bagging, es decir, la agregación de bootstrap. Los métodos de ensemble combinan más de un algoritmo del mismo o diferente tipo para clasificar objetos (por ejemplo un conjunto de SVM, Bayes ingenuo o árboles de decisión, por ejemplo.)
La idea general es que una combinación de modelos de aprendizaje aumenta el resultado global seleccionado.
Los árboles de decisión profundos pueden sufrir de sobreajuste, pero los bosques aleatorios evitan el sobreajuste creando árboles en subconjuntos aleatorios. La razón principal es que toma la media de todas las predicciones, lo que anula los sesgos.
El bosque aleatorio añade aleatoriedad adicional al modelo mientras crece los árboles. En lugar de buscar la característica más importante al dividir un nodo, busca la mejor característica entre un subconjunto aleatorio de características. Esto da lugar a una amplia diversidad que generalmente resulta en un mejor modelo.
Clasificación por refuerzo de gradiente
El clasificador por refuerzo de gradiente es un método de conjunto de refuerzo. Boosting es una forma de combinar (ensemble) aprendices débiles, principalmente para reducir el sesgo de predicción. En lugar de crear un conjunto de predictores, como en el bagging, el boosting produce una cascada de ellos, donde cada salida es la entrada para el siguiente aprendiz. Normalmente, en un algoritmo de bagging los árboles crecen en paralelo para obtener la predicción media de todos los árboles, donde cada árbol se construye sobre una muestra de datos originales. Por otro lado, el gradient boosting adopta un enfoque secuencial para obtener predicciones en lugar de paralelizar el proceso de construcción de árboles. En el refuerzo de gradiente, cada árbol de decisión predice el error del árbol de decisión anterior – de este modo se refuerza (mejora) el error (gradiente).
Funcionamiento del refuerzo de gradiente
- Inicie las predicciones con un árbol de decisión simple.
- Calcular el valor residual (real-predicción).
- Construir otro árbol de decisión superficial que prediga el residual en base a todos los valores independientes.
- Actualizar la predicción original con la nueva predicción multiplicada por la tasa de aprendizaje.
- Repite los pasos del dos al cuatro durante un número determinado de iteraciones (el número de iteraciones será el número de árboles).
Consulta este post: Gradient Boosting From Scratch
Rendimiento de los modelos de clasificación
Matriz de confusión
Una matriz de confusión es una tabla que suele utilizarse para describir el rendimiento de un modelo de clasificación en un conjunto de datos de prueba cuyos valores verdaderos se conocen. Es una tabla con cuatro combinaciones diferentes de valores predichos y reales en el caso de un clasificador binario.
La matriz de confusión para un problema de clasificación multiclase puede ayudarle a determinar patrones de error.
Para un clasificador binario:
Un positivo verdadero es un resultado en el que el modelo predice correctamente la clase positiva. Del mismo modo, un verdadero negativo es un resultado en el que el modelo predice correctamente la clase negativa.
Falso positivo &Falso negativo
Los términos falso positivo y falso negativo se utilizan para determinar lo bien que predice el modelo con respecto a la clasificación. Un falso positivo es un resultado en el que el modelo predice incorrectamente la clase positiva. Y un falso negativo es un resultado en el que el modelo predice incorrectamente la clase negativa. Cuantos más valores haya en la diagonal principal, mejor será el modelo, mientras que la otra diagonal da el peor resultado para la clasificación.
Falso positivo
Un ejemplo en el que el modelo predijo erróneamente la clase positiva. Por ejemplo, el modelo dedujo que un determinado mensaje de correo electrónico era spam (la clase positiva), pero ese mensaje de correo electrónico en realidad no era spam. Es como una señal de advertencia de que el error debe ser rectificado, ya que no es una preocupación muy grave en comparación con el falso negativo.
Falso positivo (error de tipo I) – cuando se rechaza una hipótesis nula verdadera
Falso negativo
Un ejemplo en el que el modelo predijo erróneamente la clase negativa. Por ejemplo, el modelo dedujo que un determinado mensaje de correo electrónico no era spam (la clase negativa), pero ese mensaje de correo electrónico realmente era spam. Es como una señal de peligro que el error debe rectificarse pronto, ya que es más grave que un falso positivo.
Falso negativo (error de tipo II): cuando se acepta una falsa hipótesis nula.
Esta imagen ilustra perfectamente la métrica anterior. Los resultados de la prueba del hombre son un falso positivo, ya que un hombre no puede estar embarazado. Los resultados de la prueba de la mujer son un falso negativo porque está claramente embarazada.
A partir de la matriz de confusión, podemos deducir la exactitud, la precisión, el recuerdo y la puntuación F-1.
Exactitud
La exactitud es la fracción de predicciones que nuestro modelo acertó.
La exactitud también puede escribirse como
La exactitud por sí sola no cuenta toda la historia cuando se trabaja con un conjunto de datos con desequilibrio de clases, donde hay una disparidad significativa entre el número de etiquetas positivas y negativas. La precisión y la recuperación son mejores métricas para evaluar los problemas de desequilibrio de clases.
Precisión
De todas las clases, la precisión es la cantidad de predicciones correctas.
La precisión debe ser lo más alta posible.
Recuperación
De todas las clases positivas, la recuperación es la cantidad de predicciones correctas. También se llama sensibilidad o tasa de verdaderos positivos (TPR).
El recuento debe ser lo más alto posible.
Puntuación F-1
A menudo es conveniente combinar la precisión y el recuento en una sola métrica llamada puntuación F-1, sobre todo si se necesita una forma sencilla de comparar dos clasificadores. La puntuación F-1 es la media armónica de la precisión y la recuperación.
La media regular trata todos los valores por igual, mientras que la media armónica da mucho más peso a los valores bajos castigando así los valores extremos más. Como resultado, el clasificador sólo obtendrá una puntuación F-1 alta si tanto el recuerdo como la precisión son elevados.
Curva del operador receptor (ROC) &Área bajo la curva (AUC)
La curva ROC es una importante métrica de evaluación de la clasificación. Nos indica el grado de precisión de la predicción del modelo. La curva ROC muestra la sensibilidad del clasificador trazando la tasa de verdaderos positivos con la tasa de falsos positivos. Si el clasificador es excelente, la tasa de verdaderos positivos aumentará y el área bajo la curva se acercará a uno. Si el clasificador es similar a la adivinación aleatoria, la tasa de verdaderos positivos aumentará linealmente con la tasa de falsos positivos. Cuanto mejor sea la medida AUC, mejor será el modelo.
Curva de perfil de exactitud acumulada
El CAP de un modelo representa el número acumulado de resultados positivos a lo largo del eje y frente al correspondiente número acumulado de un parámetro clasificador a lo largo del eje x. La CAP es distinta de la característica operativa del receptor (ROC), que traza la tasa de verdaderos positivos frente a la tasa de falsos positivos. La curva CAP se utiliza raramente en comparación con la curva ROC.
Considere un modelo que predice si un cliente comprará un producto. Si se selecciona un cliente al azar, hay un 50% de posibilidades de que compre el producto. El número acumulado de elementos que el cliente compra aumentaría linealmente hacia un valor máximo correspondiente al número total de clientes. Esta distribución se denomina PAC «aleatoria». Es la línea azul del diagrama anterior. Una predicción perfecta, en cambio, determina exactamente qué cliente comprará el producto, de forma que el máximo cliente que compra el bien se alcanzará con un número mínimo de selección de clientes entre los elementos. Esto produce una línea empinada en la curva del PAC que se mantiene plana una vez alcanzado el máximo, que es el PAC «perfecto». También se llama la línea «ideal» y es la línea gris en la figura anterior.
Al final, un modelo debe predecir donde maximiza las predicciones correctas y se acerca a una línea de modelo perfecto.