¿Cuándo funciona el aprendizaje conjunto?

No, no hay forma de predecir si un conjunto superará a un solo clasificador, pero hay algunos “indicadores” que podrían ayudarlo (consulte Ayuda y aumentar sus probabilidades ).

Buenas noticias

  • Pero la noticia de los bienes es que probablemente superarás al peor clasificador de tu conjunto. Digamos que no tiene muchos datos, y el mejor modelo de clasificador depende de la partición de datos (o del pliegue). El uso de un conjunto evitará la selección del peor clasificador (según el esquema de votación).
  • Si usa Apilamiento y tiene suficientes datos para aprender los pesos ideales, es probable que tenga, al menos, el mismo rendimiento que el mejor clasificador base del conjunto.
  • Es posible que dos clasificadores clasifiquen erróneamente una muestra de prueba dada, pero cuando se combinan, clasifican correctamente la muestra de prueba. Sí, ¡el aprendizaje conjunto es increíble! Entonces, si tienes suficiente tiempo, ¡pruébalo!
    • Problema de 3 clases, probabilidades de c1 = [0.5, 0.4, 0.1]; c2 = [0.1; 0.4; 0,5]; conjunto (promedio) = [0.3, 0.4, 0.3].

Malas noticias

  • Los sistemas clasificadores múltiples son mucho más complejos que un clasificador único; Es más difícil de mejorar, lleva más tiempo entrenar y más tiempo para clasificar una muestra de prueba. Entonces, no abuses de ello. Personalmente, he diseñado sistemas en los que un conjunto complejo tenía una precisión 1% mejor que un solo SVM. Adivina qué, usé un solo SVM.

Ayudante

Siempre es una buena idea probarlo y verlo, pero puede estar más seguro si se encuentra en uno de los siguientes casos:

  • Conjuntos de datos desequilibrados: pocas muestras de una clase (clase minoritaria) y muchas muestras de las otras clases (clases mayoritarias). Para tales conjuntos de datos, se sabe que los métodos de conjunto aumentan la precisión de la clasificación. Existen métodos específicos de aprendizaje en conjunto para conjuntos de datos desequilibrados, pero en general, cualquier aprendizaje en conjunto funcionará bien.
  • Conjuntos de datos ruidosos: Ensemble Learning también es conocido por ser capaz de generalizar soluciones evitando el sobreajuste en caso de conjuntos de datos ruidosos. Imagine Bagging, por ejemplo, para una región determinada en el espacio de características, algunos clasificadores fueron entrenados con datos ruidosos, algunos no tenían, en promedio, límites de decisión más suaves y un sistema más robusto al ruido.
  • Problemas mal definidos: los problemas definidos serán los peores. A veces tienes pocos datos y con mala calidad. El uso de un método de conjunto con la selección dinámica de conjunto es un buen enfoque en tales casos (manténgalo simple en el clasificador base).

Aumenta tus probabilidades

En su ejemplo (dos clasificadores con una precisión de 0.7 que combinados tienen 0.9), tiene un escenario específico de clasificadores diversos.

Si todos los clasificadores clasifican erróneamente las mismas muestras, el rendimiento no aumentará. Para aumentar el rendimiento, los clasificadores de base en un conjunto deben clasificar correctamente diferentes muestras, deben ser diversos. Existen varias métricas de diversidad (Q Statistics, Double Fault, Entropy E …), pero la mejor manera (IMHO) es garantizar que los clasificadores base sean diversos creando diversidad mediante:

  • utilizando clasificadores de diferentes naturalezas (árboles de decisión, KNN, SVM …).
  • cambiar el conjunto de entrenamiento para cada clasificador base (tenga en cuenta que debe usar clasificadores sensibles a los cambios en el conjunto de entrenamiento); [ver Embolsado]
  • cambiar el espacio de características para cada clasificador base (aplicando PCA, subselección y otros) es un buen enfoque cuando tiene demasiadas características. [ver Subespacio aleatorio].

Los dos últimos son especialmente útiles en los casos en que sus clasificadores básicos ya están basados ​​en conjuntos (Random Forest Classifier y XGBoost), caso en el que es más difícil aumentar el rendimiento mediante el ensamblaje. Ambos están disponibles a través de la configuración de parámetros en la apis sklearn y xgboost.

Buena suerte

No hay una forma sistemática de saber de antemano. Si sus clasificadores ya son conjuntos como Gradient Boosting o Random forest, no debe esperar mejoras importantes como la que menciona en su pregunta. Pero definitivamente deberías ver alguna mejora. El grado de mejora es imposible saber con anticipación.

Creo que puede hacerse una idea sobre el límite superior incorporando la correlación por pares en un modelo, pero no hay una manera confiable de predecir la mejora de esta manera.

More Interesting

¿Cuál es la explicación simple del modelo de Ising y Potts?

Cómo calcular un puntaje usando la prueba de relación de distancia al vecino más cercano en MATLAB

¿Qué es el aprendizaje no supervisado?

¿Cuántos datos son suficientes para entrenar un modelo NN profundo?

¿Cuál es la diferencia entre Empirical Bayes e inferencia bayesiana?

¿Cuál es el poder computacional de las redes neuronales no recurrentes frente a las redes neuronales recurrentes?

¿Tiene sentido entrenar clasificador para cada clase?

¿Hay alguna manera de probar el límite de precisión teórica para clasificar un conjunto de datos en particular? O, ¿hay alguna forma de confirmar que la calidad de los datos es insuficiente para un problema?

¿Existe alguna medida estadística que demuestre que un clasificador Neural Net con una precisión del 96% en un conjunto de datos de N ejemplos proporcionará una precisión similar en el mundo real?

Cómo crear una representación jerárquica de un conjunto de objetos usando una red neuronal

¿Es factible construir su propia máquina fMRI?

¿Cómo elijo theta0, thetaL y thetaU en un modelo de proceso gaussiano de scikit-learn?

¿Por qué la necesidad de depuración aún no se ha resuelto después de tantos desarrollos en tecnología, informática, algoritmos y aprendizaje automático?

¿Por qué algunos profesores dicen que nunca entendieron realmente las matemáticas o las estadísticas hasta que primero enseñaron un curso sobre ese tema?

En un modelo gráfico dirigido, el aprendizaje es fácil pero la inferencia es difícil. ¿Es esto cierto?