【Serie de aprendizaje automático】Te lleva a aprender rápidamente diez algoritmos de aprendizaje automático

prefacio

Los algoritmos de aprendizaje automático son una clase de algoritmos que se utilizan para aprender patrones y regularidades a partir de datos. Estos algoritmos pueden usar la entrada y la salida de muestras de entrenamiento para inferir los parámetros del modelo, que luego se pueden usar para predecir nuevos datos desconocidos.

inserte la descripción de la imagen aquí


algoritmo de aprendizaje automático

Cuando se trata de algoritmos de aprendizaje automático, hay muchos algoritmos diferentes que se pueden usar, aquí están los diez algoritmos básicos de aprendizaje automático:

  • Algoritmo de regresión lineal Regresión lineal
  • Algoritmo de máquina de vectores de soporte (Máquina de vectores de soporte, SVM)
  • Algoritmo vecino más cercano/k-vecino más cercano (K-vecinos más cercanos, KNN)
  • Algoritmo de regresión logística Regresión logística
  • Árbol de decisión Algoritmo Árbol de decisión
  • algoritmo k-medias K-medias
  • Algoritmo de bosque aleatorio Bosque aleatorio
  • Algoritmo bayesiano ingenuo Bayesiano ingenuo
  • Algoritmo de reducción dimensional Reducción dimensional
  • Algoritmo de aumento de gradiente Aumento de gradiente

Los algoritmos de aprendizaje automático se pueden dividir aproximadamente en tres categorías:

  • Algoritmos de aprendizaje supervisado (Algoritmos supervisados) : durante el proceso de entrenamiento de aprendizaje supervisado, se puede aprender o establecer un modelo (función/modelo de aprendizaje) a partir del conjunto de datos de entrenamiento, y se pueden inferir nuevas instancias en función de este modelo. El algoritmo requiere entradas/salidas específicas, empezando por decidir qué tipo de datos usar como ejemplo. Por ejemplo, un carácter escrito a mano o una línea de texto escrito a mano en una aplicación de reconocimiento de texto. Los algoritmos principales incluyen red neuronal, máquina de vectores de soporte, método del vecino más cercano, método bayesiano ingenuo, árbol de decisión, etc.
  • Algoritmos de aprendizaje no supervisados ​​(Algoritmos no supervisados) : este tipo de algoritmo no tiene una salida objetivo específica y el algoritmo divide el conjunto de datos en diferentes grupos.
  • Algoritmos de refuerzo (Algoritmos de refuerzo) : el aprendizaje de refuerzo tiene una gran universalidad y se entrena principalmente en función de la toma de decisiones. El algoritmo se entrena a sí mismo de acuerdo con el éxito o error del resultado de salida (decisión), y el algoritmo optimizado a través de una gran cantidad de experiencia. el entrenamiento será capaz de dar mejores resultados.Predicción. Bajo el estímulo de recompensas o castigos dados por el entorno, organismos similares gradualmente forman expectativas del estímulo y producen comportamientos habituales que pueden obtener el mayor beneficio. En el contexto de la investigación de operaciones y la cibernética, el aprendizaje por refuerzo se denomina "programación dinámica aproximada" (ADP).

Estos algoritmos tienen diferentes ventajas y aplicabilidad en diferentes problemas y conjuntos de datos, y la selección del algoritmo apropiado depende de las tareas específicas y las características de los datos. A continuación, permítanme presentarles estos algoritmos:

1. Algoritmo de regresión lineal Regresión lineal

El Análisis de Regresión (Análisis de Regresión) es un método de análisis de datos estadísticos, el propósito es comprender si dos o más variables están relacionadas, la dirección y la fuerza de la correlación, y establecer un modelo matemático para observar variables específicas para predecir cambios en otras variables.

El proceso de modelado del algoritmo de regresión lineal (Regresión lineal) consiste en utilizar los puntos de datos para encontrar la línea de mejor ajuste. La fórmula, y = m*x + c, donde y es la variable dependiente y x es la variable independiente, utiliza el conjunto de datos dado para encontrar los valores de m y c.
La regresión lineal se divide en dos tipos, a saber, regresión lineal simple (regresión lineal simple) , con una sola variable independiente; regresión multivariada (regresión múltiple) , con al menos dos o más variables independientes.

imagen

Este es un ejemplo de regresión lineal: basado en la descripción del kit de herramientas Python scikit-learn.

imagen

2. Algoritmo de máquina de vectores de soporte (Máquina de vectores de soporte, SVM)

El algoritmo de red/máquina de vectores de soporte (SVM) pertenece al algoritmo de clasificación. Los modelos SVM representan instancias como puntos en el espacio y se usará una línea recta para separar los puntos de datos. Cabe señalar que las máquinas de vectores de soporte requieren un etiquetado completo de los datos de entrada y solo se aplican directamente a tareas de dos clases, y las aplicaciones reducen la necesidad de tareas de varias clases a unos pocos problemas binarios.

imagen

imagen

imagen

3. Algoritmo vecino más cercano/k-vecino más cercano (K-vecinos más cercanos, KNN)

El algoritmo KNN es un aprendizaje basado en ejemplos o aprendizaje perezoso que es una aproximación local y difiere todos los cálculos hasta la clasificación. Use vecinos más cercanos (k) para predecir puntos de datos desconocidos. El valor k es un factor clave para la precisión de la predicción, ya sea clasificación o regresión, es muy útil para medir el peso de los vecinos, y el peso de los vecinos más cercanos es mayor que el de los vecinos distantes.

La desventaja del algoritmo KNN es que es muy sensible a la estructura local de los datos. El cálculo es pesado y los datos deben normalizarse para que cada punto de datos esté en el mismo rango.

imagen

imagen

imagen

Extensión: una desventaja de KNN es que depende de todo el conjunto de datos de entrenamiento. Learning Vector Quantization (LVQ) es un algoritmo de red neuronal humana de aprendizaje supervisado que le permite seleccionar ejemplos de entrenamiento. LVQ se basa en datos, busca las dos neuronas más cercanas, atrae neuronas del mismo tipo y repele neuronas de diferentes tipos, y finalmente obtiene el patrón de distribución de los datos. Si se puede obtener un mejor efecto de clasificación del conjunto de datos basado en KNN, el uso de LVQ puede reducir el tamaño de almacenamiento del conjunto de datos de entrenamiento de almacenamiento. Los algoritmos típicos de cuantificación del vector de aprendizaje incluyen LVQ1, LVQ2 y LVQ3, especialmente LVQ2 es el más utilizado.

imagen

4. Algoritmo de regresión logística

El algoritmo de regresión logística (Logistic Regression) generalmente se usa en escenarios que requieren una salida clara, como la ocurrencia de ciertos eventos (predecir si ocurrirá lluvia). Por lo general, la regresión logística usa alguna función para comprimir los valores de probabilidad a un cierto rango.
Por ejemplo, la función sigmoidea (función S) es una función con una curva en forma de S para la clasificación binaria. Convierte el valor de probabilidad de un evento en una representación de rango de 0, 1.

Y = mi ^ (b0 + b1 x) / (1 + mi ^ (b0 + b1 x))

Lo anterior es una ecuación de regresión logística simple, B0, B1 son constantes. Estos valores constantes se calcularán para garantizar que se minimice el error entre los valores previstos y los reales.

imagen

imagen

5. Árbol de decisión del algoritmo del árbol de decisión

Un árbol de decisiones es una estructura de árbol especial que consta de un gráfico de decisiones y posibles resultados (como costos y riesgos) para ayudar en la toma de decisiones. En el aprendizaje automático, un árbol de decisión es un modelo predictivo. Cada nodo del árbol representa un objeto, cada ruta bifurcada representa un posible valor de atributo y cada nodo hoja corresponde a la ruta desde el nodo raíz hasta el nodo hoja. El valor del objeto representado por el camino recorrido. Los árboles de decisión tienen una sola salida y, por lo general, este algoritmo se usa para resolver problemas de clasificación.

Un árbol de decisión contiene tres tipos de nodos:

  • Nodo de decisión: generalmente representado por un cuadro rectangular
  • Nodos de oportunidad: generalmente representados por círculos
  • Punto de terminación: generalmente representado por un triángulo

Ejemplo de un algoritmo de árbol de decisión simple para determinar a quién en una población le gusta usar tarjetas de crédito. Teniendo en cuenta la edad y el estado civil de la multitud, si la gente tiene 30 años o está casada, la gente se inclina más por las tarjetas de crédito y viceversa.
Este árbol de decisiones se puede ampliar aún más mediante la identificación de atributos adecuados para definir más categorías. En este ejemplo, si una persona está casada, es más probable que tenga una tarjeta de crédito si tiene más de 30 años (100% de preferencia). Los datos de prueba se utilizan para generar un árbol de decisión.

imagen

imagen

Nota : para aquellos datos con tamaños de muestra inconsistentes, los resultados de la ganancia de información en el árbol de decisión están sesgados hacia aquellas características con más valores.

6. Algoritmo k-promedio K-Means

El algoritmo k-means (K-Means) es un algoritmo de aprendizaje no supervisado que proporciona una solución al problema de agrupamiento.
El algoritmo K-Means divide n puntos (que pueden ser una observación o una instancia de una muestra) en k conglomerados (conglomerados), de modo que cada punto pertenece al conglomerado correspondiente a la media más cercana (es decir, el centro del conglomerado, el centroide ) . Repita el proceso anterior hasta que el centro de gravedad no cambie.

imagen

7. Algoritmo de bosque aleatorio Bosque aleatorio

El nombre de algoritmo Random Forest (Random Forest) proviene de los bosques de decisión aleatorios propuestos por Bell Labs en 1995. Como su nombre lo dice, Random Forest puede considerarse como una colección de árboles de decisión.
Cada árbol de decisión en un bosque aleatorio estima una clase, un proceso llamado "votación". Idealmente, en base a cada voto en cada árbol de decisión, elegimos la clase con más votos.

imagen

imagen

8. Algoritmo bayesiano ingenuo Bayesiano ingenuo

El algoritmo Naive Bayes (Naive Bayes) se basa en el teorema de Bayes de la teoría de la probabilidad, que se usa ampliamente, desde la clasificación de texto, el filtro de correo no deseado, el diagnóstico médico, etc. Naive Bayes es adecuado para escenarios donde las características son independientes entre sí, como usar la longitud y el ancho de los pétalos para predecir el tipo de flor. La connotación de "simple" puede entenderse como la fuerte independencia entre características y características.

Un concepto íntimamente relacionado con el ingenuo algoritmo bayesiano es la estimación de máxima verosimilitud (Maximum approach estimation).La mayoría de las teorías de estimación de máxima verosimilitud de la historia también se han desarrollado mucho en la estadística bayesiana. Por ejemplo, para establecer un modelo de estatura poblacional, es difícil contar con recursos humanos y materiales para contar la estatura de cada persona en el país, pero es posible obtener la estatura de algunas personas mediante muestreo, y luego obtener la media y varianza de la distribución a través de la estimación de máxima verosimilitud.

imagen

9. Reducción dimensional

En el campo del aprendizaje automático y las estadísticas, la reducción de la dimensionalidad se refiere al proceso de reducir el número de variables aleatorias en condiciones limitadas para obtener un conjunto de variables principales "irrelevantes", y se puede subdividir en dos métodos: selección de características y extracción de características. .

Algunos conjuntos de datos pueden contener muchas variables inmanejables. Especialmente en el caso de recursos abundantes, los datos en el sistema serán muy detallados. En este caso, el conjunto de datos puede contener miles de variables, la mayoría de las cuales también pueden ser innecesarias. En este caso, es casi imposible identificar las variables que más influyen en nuestras predicciones. En este punto, necesitamos usar un algoritmo de reducción de dimensionalidad, y también se pueden usar otros algoritmos en el proceso de reducción de dimensionalidad, como tomar prestados bosques aleatorios y árboles de decisión para identificar las variables más importantes.

10. Aumento de gradiente

Gradient Boosting utiliza varios algoritmos débiles para crear un algoritmo exacto más potente. En lugar de utilizar un solo estimador, el uso de múltiples estimadores crea un algoritmo más estable y robusto. Hay varios algoritmos de aumento de gradiente:

  • XGBoost: use algoritmos lineales y de árbol
  • LightGBM: utiliza solo algoritmos basados ​​en árboles
    Los algoritmos de aumento de gradiente se caracterizan por su alta precisión. Además, el algoritmo LightGBM tiene un rendimiento increíble.

Resumir

El aprendizaje de algoritmos de aprendizaje automático es un proceso a largo plazo que requiere práctica continua y práctica para dominar. A través del aprendizaje y la práctica persistentes, podrá dominar rápidamente los algoritmos de aprendizaje automático y aplicarlos a problemas prácticos.


Libros recomendados

Me gusta + Comentar + Marcar como favorito este artículo, ¡6 personas serán seleccionadas al azar para regalar!

inserte la descripción de la imagen aquí

"Edición Python de aprendizaje automático"

Introducción: una guía para principiantes sobre el aprendizaje automático, utilizando el lenguaje Python y la biblioteca scikit-learn, para dominar los procesos, patrones y estrategias necesarios para desarrollar sistemas de aprendizaje automático.

Detalles: Haga clic aquí para ver

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_63947499/article/details/131504045
Recomendado
Clasificación