Si aborda un problema de aprendizaje supervisado, le aconsejo que comience primero con el espacio de hipótesis más simple. Es decir, pruebe un modelo lineal como la regresión logística. Si esto no funciona “bien” (es decir, no cumple con sus expectativas o criterio de rendimiento que definió anteriormente), pasaría al siguiente experimento.
Bosques aleatorios vs. SVM
Diría que los bosques aleatorios son más o menos el enfoque “libre de preocupaciones” aquí: no hay hiperparámetros reales para ajustar (tal vez excepto por la cantidad de árboles; típicamente, cuantos más árboles tenga, mejor). Por el contrario, hay muchas perillas para activar en SVM: elegir el núcleo “correcto”, penalizaciones de regularización, la variable de holgura, …
- Estamos viendo el comienzo de las máquinas que pueden codificar. ¿Aprender un lenguaje de programación aún sería útil en la carrera de ML?
- ¿Qué implica el e-Discovery?
- ¿Cuáles son las sinergias entre los estudios en Operaciones y Gestión de la Información y Ciencias de la Computación?
- ¿Cuál es la relación entre el modelo Log Linear, el modelo MaxEnt y la regresión logística?
- ¿Cómo es el curso de aprendizaje automático NPTEL?
Tanto los bosques aleatorios como las SVM son modelos no paramétricos (es decir, la complejidad crece con el número de muestras de entrenamiento), y el entrenamiento también puede ser computacionalmente bastante costoso (en comparación con un modelo lineal generalizado, por ejemplo). Cuantos más árboles tenga, más costoso es construir un bosque aleatorio. Por otro lado, puede terminar con muchos vectores de soporte en SVM, en el peor de los casos, tiene tantos vectores de soporte como muestras en el conjunto de entrenamiento. Si bien hay SVM de varias clases, también tenga en cuenta que las SVM se implementan típicamente usando la clasificación Uno contra todos, por lo tanto, debe entrenar un SVM para cada clase; en contraste, los árboles de decisión / bosques aleatorios pueden manejar múltiples clases fuera de la caja.
En resumen, los bosques aleatorios son mucho más fáciles de entrenar; Es más fácil obtener un modelo bueno y robusto. La complejidad de un bosque aleatorio crece con la cantidad de árboles en el bosque y la cantidad de muestras de entrenamiento que tiene. En los SVM, normalmente necesita hacer una buena cantidad de ajuste de parámetros, y el costo computacional también aumenta linealmente con el número de clases.
Aprendizaje profundo
Como regla general, diría que los SVM son excelentes para conjuntos de datos relativamente pequeños con menos valores atípicos, los bosques aleatorios pueden requerir más datos, pero casi siempre presentan un modelo bastante robusto. Y el aprendizaje profundo … bueno, requieren conjuntos de datos “relativamente” grandes para funcionar bien, y necesita la infraestructura para capacitarlos en un tiempo razonable. Además, los algoritmos de aprendizaje profundo requieren mucha más experiencia para “configurarlos” en comparación con los clasificadores listos para usar, como bosques aleatorios y SVM.
Por otro lado, el aprendizaje profundo realmente brilla cuando se trata de problemas complejos como la clasificación de imágenes, el procesamiento del lenguaje natural y el reconocimiento de voz. Otra ventaja es que debe preocuparse menos por la ingeniería de características. Nuevamente, en la práctica, la decisión de qué clasificador elegir realmente depende de su conjunto de datos y de la complejidad general del problema: ahí es donde entra en juego su experiencia como profesional de aprendizaje automático.
Si se trata de rendimiento predictivo, hay casos en que los SVM funcionan mejor que los bosques aleatorios y viceversa:
- Caruana, Rich y Alexandru Niculescu-Mizil. “Una comparación empírica de algoritmos de aprendizaje supervisado”. Actas de la 23ª conferencia internacional sobre aprendizaje automático. ACM, 2006. https://www.cs.cornell.edu/~caru…
Lo mismo es cierto para los algoritmos de aprendizaje profundo si nos fijamos en los puntos de referencia MNIST (base de datos de dígitos escritos a mano MNIST, Yann LeCun, Corinna Cortes y Chris Burges):
El mejor modelo en este conjunto es un comité de 35 ConvNets, de los cuales se informó que tenían un error de prueba del 0.23%; El mejor modelo SVM tiene un error de prueba del 0,56%. El conjunto ConvNet puede ser mejor (por el bien de este conjunto, supongamos que se trata de estimaciones totalmente imparciales), pero sin duda, diría que los 35 conv. El comité neto es mucho más caro (computacionalmente). Entonces, si toma esa decisión: ¿Vale la pena una mejora del 0.33%? En algunos casos, tal vez lo sea (por ejemplo, en el sector financiero para predicciones en tiempo no real), en algunos casos probablemente no lo sea.
Entonces, mi consejo práctico es:
- Defina una métrica de rendimiento para evaluar su modelo
- Pregúntese: qué puntaje de rendimiento se desea, qué hardware se requiere, cuál es la fecha límite del proyecto
- Comience con el modelo más simple.
- Si no cumple con su objetivo esperado, pruebe con modelos más complejos (si es posible)