¿Cuáles son las ventajas de los diferentes algoritmos de clasificación?

Hay un número de dimensiones que puede mirar para darle una idea de lo que será un algoritmo razonable para empezar, a saber:

Estrategias de Clasificación

Estrategias de Clasificación

  • Número de ejemplos de entrenamiento
  • Dimensionalidad del espacio de características
  • ¿Espero que el problema sea linealmente separable?
  • ¿Las funciones son independientes
  • ¿Se espera que las características dependan linealmente de la variable objetivo?
  • Es el Sobreajuste predecible como problema?
  • ¿Cuáles son los requisitos del sistema en términos de velocidad / rendimiento / uso de memoria …?

Esta lista puede parecer un poco desalentadora porque hay muchos problemas que no son fáciles de responder. La buena noticia, sin embargo, es que, como muchos problemas en la vida, puede abordar esta cuestión siguiendo el principio de la navaja de Occam: utilizar el algoritmo menos complicado que puede satisfacer sus necesidades y sólo ir a algo más complicado si es estrictamente necesario.

Regresión logística

Como regla general, recomendaría comenzar con la Regresión Logística. La regresión logística es un algoritmo de clasificación bastante bien comportado que puede ser entrenado siempre y cuando usted espera que sus características sean aproximadamente lineales y el problema sea linealmente separable. Usted puede hacer algunas características de ingeniería para convertir la mayoría de las características no lineales en linea muy fácilmente. También es bastante resistente al ruido y se puede evitar la sobreequipación e incluso seleccionar las fun

Regresión logística (logistic regression)

Regresión logística (logistic regression)

ciones mediante la regularización l2 o l1. La regresión logística también se puede utilizar en escenarios Big Data, ya que es bastante eficiente y se puede distribuir usando, por ejemplo, ADMM (ver logreg). Una ventaja final de LR es que la salida se puede interpretar como una probabilidad. Esto es algo que viene como un buen efecto secundario, ya que se puede utilizar, por ejemplo, para la clasificación en lugar de la clasificación.


Incluso en un caso en el que no esperas que la Regresión Logística funcione al 100%, hazte un favor y ejecuta un LR simple regularizado por L2 para obtener una línea de base antes de usar enfoques “más sofisticados”.

Ok, así que ahora que ha establecido su línea de base con Regresión logística, lo que debería ser su próximo paso. Básicamente, recomendaría dos direcciones posibles: (1) SVM, o (2) Tree Ensembles. Si no sabía nada sobre su problema, definitivamente iría por (2), pero empezaré describiendo por qué SVM puede ser algo que vale la pena considerar.

 

Máquinas de Soporte vectoriales (SVM)

Imagen de SVM

Imagen de SVM

 

Las máquinas de soporte vectorial (SVMs) utilizan una función de pérdida diferente (bisagra) de LR. También se interpretan de manera diferente (margen máximo). Sin embargo, en la práctica, un SVM con un kernel lineal no es muy diferente de una Regresión Logística (si usted es curioso, usted puede ver cómo Andrew Ng deriva SVMs de la Regresión Logística en su Curso de Aprendizaje de Máquina Coursera). La principal razón por la que desearía usar un SVM en lugar de una Regresión Logística es porque su problema podría no ser linealmente separable. En ese caso, tendrá que utilizar un SVM con un núcleo no lineal (por ejemplo, RBF). La verdad es que una Regresión Logística también se puede usar con un kernel diferente, pero en ese momento es mejor que vayas por SVMs por razones prácticas. Otra razón relacionada para usar SVMs es si usted está en un espacio altamente dimensional. Por ejemplo, se ha informado que las SVM funcionan mejor para la clasificación de texto.

Desafortunadamente, la principal desventaja de SVMs es que pueden ser dolorosamente ineficientes para entrenar. Por lo tanto, no les recomendaría para cualquier problema en el que tiene muchos ejemplos de formación. En realidad iría incluso más lejos y decir que no recomendaría SVMs para la mayoría de “la industria” aplicaciones. Cualquier cosa más allá de un problema de juguete / laboratorio podría ser mejor abordado con un algoritmo diferente.

Conjuntos de árboles

Arboles de decisión (decision tree)

Arboles de decisión (decision tree)

Esto me lleva a la tercera familia de algoritmos: Tree Ensembles. Esto básicamente cubre dos algoritmos distintos: RandomForrest (algoritmo) y Gradient Boosted Trees. Hablaré de las diferencias más adelante, pero por ahora déjenme tratarlas como una con el propósito de compararlas con la Regresión Logística.

Tree Ensembles tienen diferentes ventajas sobre LR. Una ventaja principal es que no esperan características lineales o incluso características que interactúan linealmente. Algo que no mencioné en LR es que apenas puede manejar características categóricas (binarias). Tree Ensembles, porque no son nada más que un montón de Decision Trees combinados, pueden manejar esto muy bien. La otra ventaja principal es que, debido a cómo se construyen (usando embolsar o alzar) estos algoritmos manejan muy bien los espacios dimensionales altos así como gran número de ejemplos del entrenamiento.

En cuanto a la diferencia entre los Bosques al azar (RF) y los Árboles de Decisiones Graduados (GBDT), no voy a entrar en muchos detalles, pero una manera fácil de entender es que GBDTs por lo general tienen un mejor desempeño, pero son más difíciles de conseguir . Más concretamente, los GBDTs tienen más hiperparametros para ajustar y son también más propensos a overfitting. RFs casi pueden trabajar “fuera de la caja” y esa es una razón por la que son muy populares.

Aprendizaje profundo (Deep Learning)

Por último pero no menos importante, esta respuesta no estaría completa sin al menos una referencia menor a Deep Learning. Definitivamente no recomendaría este enfoque como una técnica de propósito general para la clasificación. Sin embargo, es probable que haya escuchado lo bien que estos métodos funcionan en algunos casos, como la clasificación de imágenes. Si ha pasado por los pasos anteriores y todavía siente que puede exprimir algo de su problema, es posible que desee utilizar un enfoque de aprendizaje profundo. La verdad es que si utiliza una implementación de código abierto como Theano, puede tener una idea de cómo algunos de estos enfoques realizan en su conjunto de datos bastante rápidamente.

 

adaptado de https://www.quora.com/What-are-the-advantages-of-different-classification-algorithms

Leave a Reply

Your email address will not be published.