[Notas de aprendizaje automático] Resumen de algoritmos comunes para aprendizaje automático (actualizado)

Resumen de algoritmos comunes para el aprendizaje automático

Aprendizaje supervisado

Algoritmo de regresión lineal

Ventajas:

  • Velocidad de modelado rápida y bajos recursos de almacenamiento;
  • Pensamiento simple y fácil implementación. Modelado rápido, efectivo para pequeños volúmenes de datos y relaciones simples;
  • Es la base de muchos poderosos modelos no lineales;

  • El modelo de regresión lineal es muy fácil de entender y los resultados son muy interpretables, lo que conduce al análisis de decisiones;

  • Contiene muchas ideas importantes en el aprendizaje automático.

  • Puede resolver el problema de regresión.

Desventajas

  • Pobre adaptación de datos complejos, subadaptación;
  • Muy sensible a los valores atípicos;
  • Es difícil modelar datos no lineales o regresión polinómica con correlación entre las características de los datos.

  • Es difícil expresar bien datos muy complejos.

Varios puntos clave de la regresión de red elástica.

  • Fomenta los efectos de grupo en el caso de variables altamente correlacionadas, en lugar de poner a cero algunas de ellas como lo hace Lasso. Las redes elásticas son muy útiles cuando varias características están relacionadas con otra característica. Lasso tiende a elegir uno de ellos al azar, mientras que las redes elásticas prefieren elegir dos;
  • No hay límite para el número de variables seleccionadas.

Puntos clave de regresión polinómica

  • Capacidad para simular datos separables no lineales; la regresión lineal no puede hacer esto. En general, es más flexible y puede simular algunas relaciones bastante complejas;
  • Controle completamente el modelado de las variables del elemento (se debe establecer el índice de las variables);
  • Necesita un diseño cuidadoso. Se requiere cierto conocimiento previo de los datos para seleccionar el mejor índice;
  • Si el índice no se selecciona correctamente, es fácil sobreajustar.

Los principales puntos de regresión de cresta

  • La suposición de esta regresión es la misma que la de la regresión de mínimos cuadrados. La diferencia es que cuando se utiliza la regresión de mínimos cuadrados, suponemos que el error de los datos sigue la distribución gaussiana usando la estimación de máxima verosimilitud (MLE). El factor, la información previa de w, usa la estimación posterior máxima (MAP) para obtener los parámetros finales;
  • Reduce el valor del coeficiente, pero no llega a cero, lo que indica que no hay una función de selección de características.

Los puntos principales del regreso de Lasso

Existen algunas diferencias entre la regresión de cresta y la regresión de lazo, que básicamente se pueden atribuir a la diferencia en la naturaleza de la regularización de L2 y L1:

  • Selección de funciones incorporadas (Selección de funciones incorporadas): esta es una propiedad muy útil de la norma L1, y la norma L2 no tiene esta función. En realidad, esto se debe a que la norma L1 tiende a producir coeficientes dispersos. Por ejemplo, suponga que el modelo tiene 100 coeficientes, pero solo 10 de ellos son coeficientes distintos de cero. Esto en realidad significa que "las otras 90 variables no son útiles para predecir el valor objetivo". La norma L2 produce coeficientes no dispersos, por lo que no existe tal atributo. Por lo tanto, se puede decir que la regresión de lazo ha realizado una forma de "selección de parámetros", y el peso de las variables de características no seleccionadas en el conjunto es 0.
  • Escasez: se refiere al hecho de que solo unas pocas entradas en la matriz (o vector) no son cero. La norma L1 tiene la propiedad de producir muchos coeficientes con valores cero o valores muy pequeños con pocos coeficientes grandes.
  • Eficiencia de cálculo: la norma L1 no tiene solución analítica, pero la norma L2 sí. Esto permite calcular la solución de la norma L2. Sin embargo, la solución de la norma L1 es escasa, lo que hace posible su uso con algoritmos dispersos, lo que la hace más eficiente desde el punto de vista computacional.

Puntos clave del algoritmo KNN

Ventajas:

  • KNN puede manejar problemas de clasificación y, naturalmente, puede manejar problemas de clasificación múltiple, como la clasificación de flores de iris;
  • Simple, fácil de entender y potente al mismo tiempo, para el reconocimiento de dígitos e iris escritos a mano, la tasa de precisión es muy alta
  • KNN también puede manejar problemas de regresión, es decir, predicción

Desventajas

  • La eficiencia es baja, porque cada vez que clasifica o regresa, debe contar los datos de entrenamiento y los datos de prueba nuevamente. Si la cantidad de datos es grande, la potencia informática requerida será increíble, pero en el aprendizaje automático, el procesamiento de grandes datos es muy común Una cosa
  • La dependencia de los datos de entrenamiento es particularmente grande. Aunque todos los algoritmos de aprendizaje automático dependen en gran medida de los datos, KNN es particularmente grave, porque si nuestro conjunto de datos de entrenamiento, uno o dos datos son incorrectos, son correctos y tenemos que clasificar Junto al valor numérico, que conducirá directamente a la inexactitud de los datos pronosticados, y la tolerancia a fallas de los datos de entrenamiento es demasiado pobre;
  • Desastre dimensional, KNN no es muy bueno para el procesamiento de datos multidimensionales.
  • Ventajas de algoritmo:

        (1) Simple, fácil de entender, fácil de implementar, no es necesario estimar los parámetros.

        (2) El tiempo de entrenamiento es cero. No muestra entrenamiento, a diferencia de otros algoritmos supervisados ​​que usan el conjunto de entrenamiento para entrenar un modelo (es decir, ajustar una función), y luego usan el modelo para clasificar el conjunto de validación o conjunto de prueba. KNN simplemente guarda las muestras y las procesa cuando se reciben los datos de la prueba, por lo que el tiempo de capacitación de KNN es cero.

        (3) KNN puede manejar el problema de clasificación y, al mismo tiempo, puede manejar naturalmente los problemas de clasificación múltiple, adecuados para clasificar eventos raros.

        (4) Es especialmente adecuado para problemas multimodales (objetos multimodales con múltiples etiquetas de categoría), KNN funciona mejor que SVM.

        (5) KNN también puede manejar problemas de regresión, es decir, predicción.

        (6) En comparación con algoritmos tales como Naive Bayes, no hay suposición en los datos, la precisión es alta y no es sensible a puntos anormales.

      Desventajas del algoritmo:

        (1) La cantidad de cálculo es demasiado grande, especialmente cuando el número de características es muy grande. Cada texto a clasificar debe calcular su distancia a todas las muestras conocidas para obtener su Kth vecino más cercano.

        (2) La inteligibilidad es pobre y no se pueden dar reglas como los árboles de decisión.

        (3) Es un método de aprendizaje lento, básicamente no aprendizaje, lo que resulta en una velocidad de predicción más lenta que los algoritmos como la regresión logística.

        (4) Cuando las muestras están desequilibradas, la precisión de predicción de categorías raras es baja. Cuando las muestras no están equilibradas, por ejemplo, el tamaño de la muestra de una clase es grande, mientras que el tamaño de la muestra de otras clases es pequeño, puede dar lugar a que cuando se ingrese una nueva muestra, la muestra de la clase de gran capacidad sea la mayoría de los K vecinos de la muestra. 

        (5) La dependencia de los datos de entrenamiento es particularmente grande, y la tolerancia a fallas de los datos de entrenamiento es demasiado pobre. Si uno o dos datos están incorrectos en el conjunto de datos de entrenamiento, justo al lado del valor a clasificar, esto conducirá directamente a la inexactitud de los datos pronosticados.

Regresión logística

Ventajas:

  • Fácil de entender e implementar, bajos recursos de almacenamiento;
  • Aplicable a variables continuas y categóricas independientes;

Desventajas

  • Es fácil de equipar y la precisión de clasificación no es alta;
  • Cuando el espacio de características es grande, el rendimiento de la regresión logística no es muy bueno;
  • Para las características no lineales, se requiere conversión;
  • No puede manejar una gran cantidad de características o variables de varios tipos bien;
  • Solo puede tratar dos problemas de clasificación y debe ser linealmente separable;

Naive Bayes NBA

Ventajas:

  • El ingenuo modelo bayesiano se originó a partir de la teoría de las matemáticas clásicas y tiene una eficiencia de clasificación estable;
  • Se desempeña bien en datos a pequeña escala, puede manejar tareas de clasificación múltiple y es adecuado para entrenamiento incremental. Especialmente cuando la cantidad de datos excede la memoria, puede entrenar incrementalmente.
  • Menos sensible a los datos faltantes, y el algoritmo es relativamente simple, a menudo utilizado en la clasificación de texto;
  • Predicción en tiempo real: muy rápido y se puede usar en tiempo real;

  • Se puede ampliar mediante grandes conjuntos de datos;

  • No es sensible a características irrelevantes;

  • Buen rendimiento con datos de alta dimensión (gran cantidad de funciones).

Desventajas

  • Theory En teoría, en comparación con otros métodos de clasificación, el modelo Naive Bayes tiene la tasa de error más pequeña. Sin embargo, este no es siempre el caso, porque, dada la categoría de salida del modelo Naive Bayes, se supone que los atributos son independientes entre sí. Esta suposición a menudo es cierta en aplicaciones prácticas. Cuando hay muchos atributos o atributos Cuando la correlación entre ellos es grande, el efecto de clasificación no es bueno; y cuando la correlación de atributos es pequeña, Naive Bayes tiene el mejor rendimiento. Para esto, los algoritmos como Naive Bayes se mejoran moderadamente al considerar la relevancia parcial.
  • Es necesario conocer la probabilidad a priori, y la probabilidad a priori a menudo depende de la hipótesis. Puede haber muchos modelos hipotéticos, por lo que en algunas ocasiones, el efecto de predicción será pobre debido al modelo hipotético anterior.
  • Como determinamos la probabilidad posterior a través de datos previos y datos, y por lo tanto determinamos la clasificación, existe una cierta tasa de error en la decisión de clasificación.
  • Muy sensible a la expresión de los datos de entrada.

El alcance de la aplicación de Naive Bayes:

Se puede usar para la clasificación de texto (puede predecir varias categorías y no importa manejar funciones no relacionadas), filtrado de spam (reconocimiento de spam), análisis de sentimientos (reconocimiento de emociones positivas y negativas en el análisis de redes sociales), sistema de recomendación (bajo Lo que se comprará en un solo paso).

Soporte Vector Machine SVM

Ventajas:

  • Se desempeña bien en altas dimensiones. Hay infinitas dimensiones en el mundo real (no solo 2D y 3D). Por ejemplo, los datos de imágenes, datos genéticos, datos médicos, etc. tienen dimensiones más altas, y las máquinas de vectores de soporte son útiles a este respecto. Básicamente, cuando el número de características / columnas es grande, SVM funciona bien.
  • El mejor algoritmo cuando las clases son separables (cuando las instancias de dos clases pueden separarse fácilmente mediante líneas rectas o no linealidades).
  • El efecto de los valores atípicos es pequeño;

  • SVM es adecuado para la clasificación binaria en casos extremos.

Desventajas

  • Lento: para grandes conjuntos de datos de aprendizaje automático, el procesamiento lleva mucho tiempo;
  • Bajo rendimiento de clases superpuestas: bajo rendimiento en el caso de clases superpuestas;
  • Es importante elegir los hiperparámetros apropiados: esto permitirá un rendimiento de generalización suficiente;
  • Elegir la función correcta del núcleo puede ser problemático.

Rango de aplicación de SVM:

Aplicación de bolsa de palabras (muchas características y columnas), datos de reconocimiento de voz, clasificación de imágenes (datos no lineales), análisis médico (datos no lineales), clasificación de texto (muchas características).

Árbol de decisiones

Ventajas:

  • Fácil de entender y explicar, análisis visual, reglas fáciles de extraer;
  • Puede manejar datos nominales y numéricos al mismo tiempo;
  • Más adecuado para procesar muestras con atributos faltantes;
  • Capacidad para manejar características no relacionadas;
  • Al probar el conjunto de datos, se ejecuta más rápido;
  • Puede producir resultados factibles y buenos para grandes fuentes de datos en un tiempo relativamente corto.

Desventajas

  • Los árboles de decisión son propensos al sobreajuste, pero los bosques aleatorios pueden reducir en gran medida el sobreajuste;
  • El árbol de decisión es fácil de ignorar la correlación de atributos en el conjunto de datos;
  • Para datos con tamaños de muestra inconsistentes en varias categorías, diferentes criterios de decisión traerán diferentes propensiones para la selección de atributos en el árbol de decisión al dividir los atributos; el criterio de ganancia de información tiene preferencia por los atributos que se pueden tomar en grandes cantidades, mientras que la tasa de ganancia El criterio CART tiene preferencia por un pequeño número de atributos que se pueden tomar, pero cuando CART divide los atributos, no solo usa la tasa de ganancia para dividirlo de todo corazón, sino que usa una regla heurística.

Bosque al azar

Ventajas:

  • Para la mayoría de los datos, su efecto de clasificación es mejor;
  • Puede manejar características de alta dimensión, no es fácil producir un sobreajuste, y la velocidad de entrenamiento del modelo es relativamente rápida, especialmente para big data;
  • Al decidir la categoría, puede evaluar la importancia de las variables;
  • Fuerte adaptabilidad al conjunto de datos: puede manejar tanto datos discretos como datos continuos, y el conjunto de datos no necesita ser normalizado.

Desventajas

  • La clasificación de un pequeño número de conjuntos de datos y conjuntos de datos de baja dimensión puede no necesariamente lograr buenos resultados;
  • La velocidad de cálculo es más lenta que un solo árbol de decisión;
  • Cuando necesitamos inferir variables independientes o no independientes que están fuera de rango, a los bosques aleatorios no les está yendo bien.

Aprendizaje sin supervisión

K-medias

Ventajas:

  • El principio es fácil de entender y realizar;
  • Cuando la diferencia entre grupos es más obvia, el efecto de agrupamiento es mejor;

Desventajas

  • Cuando el tamaño del conjunto de muestra es grande, la velocidad de convergencia será lenta;
  • Sensible a los datos atípicos, una pequeña cantidad de ruido tendrá un mayor impacto en el promedio;
  • El valor de k es muy crítico: para diferentes conjuntos de datos, la elección de k no tiene referencia y requiere muchos experimentos;

DBSCAN

Ventajas:

  • La velocidad de agrupamiento es rápida y puede manejar efectivamente los puntos de ruido y encontrar grupos espaciales de formas arbitrarias;
  • En comparación con K-MEANS, no es necesario ingresar el número de clústeres que se dividirán;
  • La forma del grupo no está sesgada;
  • Los parámetros de filtrado de ruido se pueden ingresar cuando sea necesario.

Desventajas

  • Cuando aumenta la cantidad de datos, se requiere una memoria más grande para admitir el consumo de E / S;
  • Cuando la densidad de la agrupación espacial no es uniforme y la diferencia entre los intervalos de agrupación es muy diferente, la calidad de la agrupación es deficiente, porque en este caso, es difícil seleccionar los parámetros MinPts y Eps;
  • El efecto de agrupamiento del algoritmo depende de la selección de la fórmula de distancia, y la distancia euclidiana se usa comúnmente en aplicaciones prácticas. Para datos de alta dimensión, hay un "desastre dimensional".

PF Crecimiento

Los algoritmos clásicos de minería de reglas de asociación incluyen el algoritmo Apriori y el algoritmo de crecimiento FP.

El algoritmo Apriori escanea la base de datos de transacciones varias veces, cada vez que usa el conjunto zd frecuente candidato para generar conjuntos frecuentes; mientras que FP-growth utiliza una estructura de árbol, no necesita generar conjuntos frecuentes candidatos sino obtener directamente conjuntos frecuentes, reduciendo en gran medida el número de escaneos de la base de datos de transacciones Mejora la eficiencia del algoritmo. Sin embargo, el algoritmo de Apriori tiene buena escalabilidad y puede usarse en computación paralela y otros campos.

El algoritmo Apriori es un algoritmo básico en las reglas de asociación. Es un algoritmo de minería de reglas de asociación propuesto por el Dr. Rakesh Agrawal y Ramakrishnan Srikant en 1994. El propósito de las reglas de asociación es encontrar la relación entre los artículos en un conjunto de datos, que también se conoce como análisis de Market Basket, porque el "análisis azul de compras" es muy apropiado para expresar la aplicación del algoritmo en el escenario Un subconjunto

A priori

El algoritmo Apriori es un algoritmo para las reglas de asociación minera. Se utiliza para extraer sus relaciones de datos contenidas, desconocidas, pero realmente existentes. Su núcleo es un algoritmo recursivo basado en la idea del conjunto de frecuencias de dos etapas.

El algoritmo Apriori se divide en dos etapas:

1) Encuentra conjuntos de artículos frecuentes

2) Encuentra reglas de asociación de conjuntos de elementos frecuentes

Desventajas

  • Se generan demasiadas combinaciones en un ciclo cuando se generan conjuntos de elementos candidatos en cada paso, y los elementos que no deberían participar en la combinación no se excluyen;
  • Cada vez que se calcula el soporte del conjunto de elementos, se escanean y comparan todos los registros de la base de datos, lo que requiere una gran carga de E / S.

PCA

Ventajas:

  • Hacer que el conjunto de datos sea más fácil de usar;
  • Reducir el costo computacional del algoritmo;
  • Eliminar el ruido
  • Haga que los resultados sean fáciles de entender;
  • No hay restricciones de parámetros en absoluto.

Desventajas

  • Si el usuario tiene cierto conocimiento previo del objeto observado y domina algunas características de los datos, pero no puede intervenir en el proceso de procesamiento a través de la parametrización y otros métodos, el efecto esperado puede no obtenerse y la eficiencia no es alta;
  • La descomposición del valor propio tiene algunas limitaciones, como la matriz de transformación debe ser una matriz cuadrada;
  • En el caso de la distribución no gaussiana, los componentes principales obtenidos por el método PCA pueden no ser óptimos.

Aplicación de algoritmo PCA:

  • Exploración y visualización de conjuntos de datos de alta dimensión;
  • Compresión de datos
  • Preprocesamiento de datos;
  • Análisis y procesamiento de imagen, voz y comunicación;
  • Reducción de dimensionalidad (lo más importante), elimina la redundancia de datos y el ruido.

Aprendizaje conjunto

XGBoost

Ventajas:

  • Se requiere menos ingeniería de características (no se requiere el escalado de datos, la normalización de datos y los valores perdidos también se pueden manejar bien);
  • Se puede encontrar la importancia de las características (genera la importancia de cada característica y se puede usar para la selección de características);
  • Los valores atípicos tienen el menor impacto;
  • Puede manejar bien grandes conjuntos de datos;
  • Buena velocidad de ejecución;
  • Excelente rendimiento del modelo (ganador en la mayoría de las competiciones de Kaggle);
  • No es fácil sobreajustar.

Desventajas

  • Difícil de explicar, difícil de visualizar;
  • Si los parámetros no se ajustan correctamente, puede ser demasiado ajustado;
  • Debido a que hay demasiados hiperparámetros, es difícil de ajustar.

Áreas de aplicación de XGBoost:

Se puede usar para cualquier problema de clasificación. XGBoost es particularmente útil si hay demasiadas características, el conjunto de datos es demasiado grande, hay valores atípicos y valores faltantes, y no desea hacer demasiada ingeniería de características. Ha ganado casi todas las competiciones, por lo que este es un algoritmo que debe tenerse en cuenta al resolver cualquier problema de clasificación.

AdaBoosting

Adaboost es un modelo aditivo. Cada modelo se basa en la tasa de error del modelo anterior. Presta demasiada atención a las muestras incorrectas y reduce la atención a las muestras clasificadas correctamente. Después de cada iteración, puede obtener un relativamente Buen modelo. Este algoritmo es un algoritmo de refuerzo típico, y las ventajas de su teoría de suma pueden explicarse utilizando la desigualdad de Hoeffding.

La ventaja es que tiene características de muy alta precisión . Este algoritmo puede usar varios métodos para construir subclasificadores, y el algoritmo Adaboost proporciona un marco. Al mismo tiempo, cuando se usa un clasificador simple, el resultado calculado es comprensible, y la construcción del clasificador débil es extremadamente simple. La simplicidad es también una de las características, sin selección de características. Finalmente, el sobreajuste no es fácil de suceder. Solo hay una desventaja, que es que es más sensible a los valores atípicos .

 

Algoritmos comunes para el aprendizaje automático
Clasificación Pequeña clasificación Algoritmo Complejidad computacional Interpretativo Impacto de valores perdidos

Aprendizaje supervisado

Supervisado

Aprendizaje

Volver

Regresión

Regresión lineal

Regresión lineal

Bajo Fácil Sensible

Regresión de red elástica

Regresión ElasticNet

     

Regresión polinómica

Regresión plominominal

     
Regresión de cresta      
Regresión de lazo      

Clasificación

Clasificación

Algoritmo K-vecino (KNN) Alta Media Media

Regresión logística

Regresión logística

Bajo Fácil Sensible

Naive Bayes NBA

Algoritmo bayesiano ingenuo

En Fácil Menos sensible
Soporte Vector Machine SVM En Fácil Sensible

Árbol de decisiones

Árbol de decisión

Bajo Fácil Insensible

Bosque al azar

Bosque al azar

Bajo Fácil Insensible

Aprendizaje no supervisado

Sin supervisión

Aprendizaje

Agrupamiento

Agrupación

Fuzzy C-Means      
Cambio de medios      
K-medias Bajo Fácil Media
DBSCAN      
Agrupación jerárquica      

Asociación de aprendizaje de reglas

Asociación

Regla

Aprendizaje

PF Crecimiento      
A priori      
Euclat      

Reducción de dimensionalidad

Dimensionalidad

Reducción

Algoritmo

LDA      
SVD      
LSA      
PCA      
t-SNE      

Aprendizaje integrado

Conjunto

Aprendizaje

Impulsar XGBoost      
LightGBM      
CatBoost      
AdaBoosting Bajo Fácil Insensible

Red neuronal y

Aprendizaje profundo

Red neuronal

y

Aprendizaje profundo

CNN   Alta Dificil Insensible
RNN        

Aprendizaje de refuerzo

Reforzamiento

Aprendizaje

Q-Learning        
DQN        
SARSA        
A3C        
Algoritmo genético        

 

 

 

 

 

 

 

 

 

Publicado 646 artículos originales · elogiado 198 · 690,000 visitas

Supongo que te gusta

Origin blog.csdn.net/seagal890/article/details/105400069
Recomendado
Clasificación