Aprendizaje automático supervisado - Predicciones en Machine Learning
El aprendizaje automático supervisado es una técnica de inteligencia artificial que se utiliza para resolver problemas de predicción. En este tipo de aprendizaje, el modelo es entrenado con datos etiquetados, es decir, con ejemplos que ya tienen una solución conocida. El objetivo del aprendizaje supervisado es generalizar el comportamiento aprendido a nuevos datos para hacer predicciones precisas.
El objetivo de la regresión es encontrar una función matemática que mejor se ajuste a los datos de entrenamiento y que permita hacer predicciones precisas para nuevos datos.
El algoritmo SVM se basa en el concepto de margen, que es la distancia máxima entre el vector soporte y cualquier punto de los datos. El objetivo es encontrar el vector soporte que maximice el margen, ya que esto aumenta la precisión del modelo.
SVM también es capaz de manejar problemas de clasificación no lineal mediante la utilización de funciones kernel, que transforman los datos a un espacio de características de mayor dimensión donde es posible encontrar una solución lineal.
Las redes neuronales se utilizan para una amplia variedad de problemas, como la clasificación, la regresión, el procesamiento del lenguaje natural, la visión por computadora y el aprendizaje profundo.
Si estás aprendiendo Machine Learning, ten paciencia. Al principio es bastante difícil conocer cuál de todos ellos usar, pero con un poco de práctica lo irás viendo mucho más claro. Márcate un objetivo y prueba diferentes algoritmos supervisados ML para ver los resultados. Esto hará que practiques y cojas soltura con sus diferentes peculiaridades.
Recuerda siempre que es importante diseñar modelos de aprendizaje automático con responsabilidad.
- Índice de Aprendizaje supervisado (ML):
Tipos de algoritmos de aprendizaje automático supervisado
Existen varios tipos de algoritmos de aprendizaje supervisado, cada uno de ellos se adapta mejor a un tipo de problema específico. A continuación, se describen algunos de los algoritmos más comunes:- Regresión: utilizado para predecir un valor continuo. Ejemplos incluyen predecir el precio de una casa o el rendimiento académico.
- Clasificación: utilizado para predecir una clase o etiqueta. Ejemplos incluyen predecir si un correo electrónico es spam o no, o clasificar imágenes
- Árboles de decisión: un algoritmo que crea un modelo en forma de árbol para tomar decisiones
- Random Forest: un conjunto de árboles de decisión que trabajan juntos para mejorar la precisión del modelo
- SVM (Support Vector Machines): un algoritmo utilizado para clasificación binaria y multinomial.
- Redes neuronales: una técnica de aprendizaje automático inspirada en la estructura y función del cerebro humano.
- Método enamble (combinación de modelos): es un algoritmo de clasificación que valora el peso ponderado de distintas predicciones.
Regresión
La regresión en Machine Learning es un tipo de algoritmo de aprendizaje supervisado utilizado para predecir un valor continuo. Es decir, se utiliza para establecer una relación entre una o varias variables independientes y una variable dependiente.- Variables independientes: reciben el nombre de características o predictores.
- Variable dependiente: es llamada objetivo o variable de salida.
Tipos de regresión en Machine Learning
Hay diferentes tipos de regresión, algunos de los más comunes son:- Regresión lineal simple: es el tipo de regresión más sencillo, se basa en la idea de que existe una relación lineal entre las características y la variable objetivo. La función de regresión lineal es una ecuación de una recta. Consta de una variable independiente y de una variable dependiente. Puedes aprender su implementación en nuestro artículo Modelos de regresión lineal simple con Python.
- Regresión lineal múltiple: su implementación requiere varias variables independientes y una única variable dependiente. Aprende con el ejemplo de cómo crear una regresión lineal múltiple con Python.
- Regresión lineal polinómica simple: es una extensión de la regresión lineal, donde se utilizan términos polinómicos para modelar relaciones no lineales entre las características y la variable objetivo.Obtiene la relación de una única variable independiente y otra dependiente, todo ello mediante una función polinómica de grado n.
- Regresión polinómica múltiple: conta de variables independientes y una única variable dependiente, relacionándose las variables mediante una función polinómica de grado n. Su diferencia con polinómica simple es que utiliza varias variables independientes.
- Regresión logística: es una extensión de la regresión lineal para problemas de clasificación binaria.
- Regresión no lineal: se utiliza para modelar relaciones no lineales entre las características y la variable objetivo.
Como ejemplos de regresión lineal en ML, podríamos predecir el valor de la bolsa en días consecutivos a partir de un histórico de datos, conocer aproximadamente cuántas ventas de un artículo podríamos tener en el próximo trimestre, año e incluso predecir la vida útil de unas zapatillas de running, etc.
La regresión en aprendizaje automático es una técnica utilizada para predecir valores continuos a partir de un conjunto de características o predictores. se basa en encontrar una función matemática que mejor se ajuste a los datos de entrenamiento y que permita hacer predicciones precisas para nuevos datos.
Clasificación
La clasificación en aprendizaje automático es un tipo de algoritmo de aprendizaje supervisado utilizado para predecir una clase o etiqueta a partir de un conjunto de características o predictores. Es decir, se utiliza para asignar una etiqueta a una muestra de datos en función de sus características. El objetivo de la clasificación en Machine Learning es identificar y asignar una categoría o categorías en base a los datos proporcionados con anterioridad. Para ello, se realizan predicciones con los nuevos datos.Tipos de clasificación en Machine Learning
Hay diferentes tipos de clasificación, algunos de los más comunes son:- Clasificación binaria: es el tipo más simple de clasificación, se utiliza para clasificar una muestra en una de dos clases. Ejemplo: clasificar un correo electrónico como spam o no spam. Dentro de la clasificación binaria hay dos categorías:
- Variable discreta: que se obtiene como salida si la observación nueva corresponde o no a una de las dos categorías.
- Variable de comprobación: en caso de que se cumpla que es categoría positiva, es decir, en una transacción fraudulenta.
- Clasificación multiclase: se utiliza para clasificar una muestra en una de varias clases. Ejemplo: clasificar una imagen como un gato, un perro o un pájaro.
- Clasificación jerárquica: se utiliza para clasificar una muestra en una jerarquía de clases. Ejemplo: clasificar una fruta como una manzana, una pera o una naranja y dentro de esa clasificación específica, clasificarlo si es una golden, granny smith, etc.
- Clasificación por vecinos más cercanos (KNN): es un algoritmo de clasificación simple basado en la idea de que las muestras similares pertenecen a la misma clase, siendo KNN el acrónimo del inglés k-Nearest Neighbor.
- Clasificación por redes neuronales: es una técnica de aprendizaje automático inspirada en la estructura y función del cerebro humano.
Un ejemplo de clasificación en ML sería clasificar un nuevo cliente en base a los clientes antiguos. Otro ejemplo podría ser predecir qué tipo de categoría pertenece un producto recién llegado, o categorizar artículos de una tienda online.
Árboles de decisión
Los árboles de decisión son otros de los tipos de algoritmos de aprendizaje automático, siendo usados para casos en los que necesitamos realizar una clasificación y regresión. Su implementación es mediante programación y visualización gráfica, es decir, creando un grafo de decisiones que se divide en ramas y hojas. Cada rama representa una decisión o una característica del conjunto de datos, y cada hoja representa un resultado o una clase. El algoritmo comienza en la raíz del árbol y se mueve a través de las ramas en función de los valores de las características, hasta llegar a una hoja, la cual representa el resultado final. Los árboles de decisión son fáciles de entender y explicar, y son ampliamente utilizados en aplicaciones de machine learning.Tipos de árboles de decisión
Existen varios tipos de árboles de decisión, algunos de los cuales son:- Árboles de decisión clásicos: son los árboles de decisión más comunes y se utilizan para clasificación y regresión. El objetivo es maximizar la ganancia o minimizar la pérdida.
- Árboles de decisión de clasificación y regresión: son similares a los árboles de decisión clásicos, pero se utilizan específicamente para clasificación o regresión.
- Árboles de decisión aleatorios: son una variante de los árboles de decisión clásicos que utilizan subconjuntos aleatorios de características para construir cada rama. Esto ayuda a reducir el sobreajuste y mejorar la precisión.
- Bosques aleatorios: son un conjunto de árboles de decisión aleatorios entrenados juntos. La idea es que los errores de un árbol sean compensados por los aciertos de otros árboles, lo que aumenta la precisión general del modelo.
- XGBoost y LightGBM: son dos de las implementaciones más populares de los árboles de decisión gradient boosting, que son una técnica avanzada que combina varios árboles de decisión para crear un modelo más preciso.
Como ejemplo de árbol de decisión ML sirve el juego de descubrir quién es la persona (juego Quién es quién) en donde se van realizando preguntas y, en base a la respuesta, desestimamos unas opciones y nos quedamos con otras, reduciendo las posibles ramas y hojas hasta llegar al resultado final. Otro ejemplo de árbol de decisión es encontrar al animal escondido, preguntando tamaño, si es carnívoro o herbívoro, tiene cola, etc.
Los árboles de decisión son muy usados por su facilidad de compresión gracias a sus gráficos, acelerando el proceso de explicación si presentamos un análisis de resultados al cliente. Como observación, indicar que, además de la programación de código deberemos implementar al menos una biblioteca gráfica en nuestro código. Por lo demás, si todavía no los conoces o has trabajado con ellos, te animo a que los pruebes. Dan resultados rápidos y facilitan mucho la comprensión del aprendizaje automático.
SVM (Support Vector Machines)
SVM (Support Vector Machines) o Máquina de Vectores es un algoritmo de aprendizaje automático que se utiliza para clasificación y regresión. Su objetivo es encontrar una línea o un hiperplano que separe los datos en diferentes categorías o clases. Esta línea o hiperplano se conoce como el vector soporte, y es el que maximiza la distancia entre las diferentes categorías o clases.El algoritmo SVM se basa en el concepto de margen, que es la distancia máxima entre el vector soporte y cualquier punto de los datos. El objetivo es encontrar el vector soporte que maximice el margen, ya que esto aumenta la precisión del modelo.
SVM también es capaz de manejar problemas de clasificación no lineal mediante la utilización de funciones kernel, que transforman los datos a un espacio de características de mayor dimensión donde es posible encontrar una solución lineal.
Tipos de algoritmos SVM
Existen dos tipos principales de SVM:- SVM de clasificación: es el tipo más común de SVM y se utiliza para clasificar los datos en diferentes categorías o clases. Es capaz de manejar problemas de clasificación lineal y no lineal mediante el uso de funciones kernel.
- SVM de regresión: es similar al SVM de clasificación, pero se utiliza para predecir un valor numérico en lugar de una categoría. Este tipo de SVM se utiliza para resolver problemas de regresión.
Como ejemplo de uso del algoritmo SVM en ML podríamos utilizarlo para reconocimiento facial, clasificación de imágenes, documentos, usos científicos como clasificación de proteínas, etc. Los algoritmos de aprendizaje automático de vectores SVM son eficientes en conjuntos de datos de alta dimensionalidad y en problemas donde hay un gran número de características. Otro ejemplo viable de SVM puede ser cuando trabajamos con datos procedentes de hojas de cálculo Excel y Google Sheet y disponemos de muchas columnas que procesar. Además, los algoritmos SVM son robustos ante el ruido en los datos y pueden manejar problemas de clasificación no lineal mediante usando funciones kernel. La recomendación es utilizar un algoritmo SVM cuando se tiene un conjunto de datos de alta dimensionalidad y se requiere una buena precisión en la clasificación.
El estadístico Vladimir Vapnik desarrolló las técnicas de SVM en la década de los noventa del siglo XX, nacido en la Unión Soviética y, en el año 2014 formó marte del equipo de Inteligencia Artificial de Facebook.
NOTA: Los dos algoritmos de clasificación lineal más empleados son SVM y regresión logística. Hay que destacar que son algoritmos de clasificación y no de regresión.
Redes neuronales
Las redes neuronales son un tipo de algoritmo de aprendizaje automático que se basa en la estructura y el funcionamiento del cerebro humano. Una red neuronal consta de una serie de capas de nodos, llamados neuronas, que están conectadas entre sí. Cada neurona recibe entradas, las procesa y genera una salida.Las redes neuronales se utilizan para una amplia variedad de problemas, como la clasificación, la regresión, el procesamiento del lenguaje natural, la visión por computadora y el aprendizaje profundo.
Tipos de redes neuronales
Hay varios tipos de redes neuronales, algunos de los cuales son:- Redes neuronales feedforward: son las redes neuronales más simples y se utilizan para problemas de clasificación y regresión. La información fluye en una sola dirección, de las entradas a las salidas.
- Redes neuronales recurrentes: son redes neuronales que tienen conexiones de retroalimentación, lo que permite que la información fluye en ambas direcciones. Se utilizan para problemas que requieren el procesamiento de secuencias, como el procesamiento del lenguaje natural.
- Redes neuronales de auto aprendizaje: son un tipo de red neuronal que se utiliza para aprender características y patrones de los datos de forma automática.
- Redes neuronales convolucionales (CNN): son un tipo especializado de red neuronal utilizado en visión por computadora. Utilizan un proceso de "convolución" para analizar imágenes y extraer características.
- Redes neuronales de aprendizaje profundo: son un conjunto de redes neuronales conectadas entre sí y que se utilizan para resolver problemas complejos. Estas redes son capaces de aprender y representar patrones complejos y abstractos en los datos.
Como ejemplo de redes neuronales en ML pueden utilizarse en la mayoría de casos en los que también podría ser empleado SVM. Las redes neuronales suelen tardar más tiempo en el entrenamiento y, si el tiempo es un factor importante, es posible que convenga más utilizar SVM en lugar de una red neuronal. En el caso de que necesitemos mucha precisión en los datos como en el reconocimiento de objetos, crear un modelo de red neuronal puede ser mejor opción daba su mayor precisión.
Método enamble
Los métodos de ensamblado o combinación de modelos son técnicas utilizadas para combinar varios modelos de aprendizaje automático con el fin de mejorar la precisión del modelo final.Tipos de algoritmos enamble
Algunos de los métodos de ensamblado o algoritmos más comunes enamble en Machine Learning son:- Bagging: consiste en entrenar varios modelos independientes y combinarlos mediante votación.
- Boosting: consiste en entrenar varios modelos secuencialmente, donde cada modelo trata de corregir los errores del modelo anterior.
- Stacking: consiste en combinar los resultados de varios modelos utilizando un modelo combinador.
- Blending: es una técnica parecida al stacking pero con la diferencia de que se utilizan diferentes conjuntos de datos para entrenar los modelos base y el modelo combinador.
Como ejemplo de uso de enamble o combinación de modelos en ML nos centraríamos en mejorar la robustez y reducir el sesgo y la varianza al usar una mezcla de algoritmos de aprendizaje automático. La reducción en ciertas ocasiones puede lograr la reducción de error en las predicciones y mejorar el rendimiento general.
Cuándo usar regresión, clasificación, SVM, árboles de decisión...
En cada tipo de algoritmo supervisado puedes encontrar las explicaciones y los casos de uso más probables para cada uno de ellos. Si lo que buscamos es obtener una predicción de valores continuos optaremos por una regresión. En cambio, si deseamos clasificar los datos en categorías lo ideal sería utilizar un algoritmo de clasificación, incluyendo los árboles de decisión ya que nos ayudarán a visualizar e interpretar de forma más sencilla un problema complejo. En el caso que necesitemos clasificar datos en dos categorías, el uso de SVM puede ser ideal.Si estás aprendiendo Machine Learning, ten paciencia. Al principio es bastante difícil conocer cuál de todos ellos usar, pero con un poco de práctica lo irás viendo mucho más claro. Márcate un objetivo y prueba diferentes algoritmos supervisados ML para ver los resultados. Esto hará que practiques y cojas soltura con sus diferentes peculiaridades.
Recuerda siempre que es importante diseñar modelos de aprendizaje automático con responsabilidad.
Comentarios del artículo "Aprendizaje automático supervisado - Predicciones en Machine Learning"
¿Te ha gustado la información? Coméntanos tus opiniones, dudas y sugerencias: