¿Cuál es el mejor método de aprendizaje automático para predecir los datos de prueba una vez que conozco los datos de entrenamiento y la etiqueta de entrenamiento?

El teorema de No Free Lunch le impide afirmar inequívocamente que cualquier clasificador es mejor que todos los demás. Pero una cosa es preguntar qué clasificador supera al resto en todo el espacio del problema, y ​​otra cosa es preguntar cuáles generalmente funcionan mejor en la práctica sin conocimiento previo del modelo generador de datos. En mi opinión, esta es una pregunta más útil porque probablemente no tendrá tiempo para probar todos los clasificadores y en su lugar le gustaría elegir decir ocho realmente buenos y centrarse en el ajuste de parámetros y el preprocesamiento.

En este caso, hay algunos estudios que han hecho comparaciones. Me gusta este aquí, pero no contiene tantos conjuntos de datos. Los autores también hicieron una conferencia sobre este tema:

¿Qué método de aprendizaje supervisado funciona mejor para qué? Una comparación empírica de métodos y métricas de aprendizaje

Aquí hay otro, pero hay varios agujeros en su análisis a los que debe prestar atención.

Claramente hay confusión con estudios como estos. El aprendizaje profundo, por ejemplo, tiene varios matices que se están introduciendo rápidamente para especificar mejor las condiciones iniciales. Es complicado compararlos para decir un SVM.

En sincronía con otras respuestas, desafortunadamente, no existe el mejor algoritmo [1]: algunos pueden funcionar mejor que otros en los datos limitados que puede tener. Hablando teóricamente, si tiene una cantidad infinita de datos, entonces todos los clasificadores funcionarán igual. Entonces, incluso si tiene 1 millón de registros de datos a mano, es limitado y nadie puede garantizar qué método funcionará mejor. Por ejemplo, si su problema de clasificación es lineal, cualquier clasificador lineal normal funcionará, pero si el problema tiene un límite de clasificación no lineal, entonces ningún clasificador lineal funcionará [2]. Muchas veces los modelos / clasificadores más simples son el mejor enfoque [3].

Notas al pie

[1] Sin teorema del almuerzo gratis

[2] La respuesta de Shehroz Khan a En el aprendizaje automático, ¿cómo podemos determinar si un problema es lineal / no lineal?

[3] Navaja de Occam

No puedo hablar de esto desde una perspectiva académica / de investigación, así que le daré mi opinión basada en mi experiencia comercial y la experiencia de Kaggle.

Solo para establecer el trasfondo aquí, trabajo en el área de la salud, donde resolvemos problemas de clasificación típicos y casi nunca necesito lidiar con problemas de recomendación, aprendizaje en línea, grandes conjuntos de datos o un rápido desempeño en vivo. En Kaggle resolví una variedad de problemas con conjuntos de datos de todo tipo y tamaño, ganando dos competiciones y clasificándome en el puesto 12 en el ranking de Kaggle.

Con ese trasfondo en mente, si bien estoy de acuerdo con lo que todos los demás están señalando sobre el teorema de no almuerzo gratis, y si bien pruebo un amplio conjunto de algoritmos sobre la mayoría de los problemas que resuelvo, descubrí que Gradient Boosting generalmente supera fácilmente a la mayoría de los otros métodos que intento (SVM, regresión logística, bosque aleatorio, redes neuronales). XGBoost, una implementación paralela ligera y rápida de Gradient Boosting, supera a la mayoría de los otros modelos la mayoría de las veces. Lo he usado con éxito en miles de millones de características y de millones a decenas de millones de filas, incluso en los casos en que generalmente se prefiere una rápida regresión de descenso de gradiente (PNL) y simplemente funciona sin problemas.

La clasificación de imágenes suele ser el área principal donde XGB no puede superar (o incluso acercarse) a las redes neuronales convolucionales.

El teorema de no almuerzo gratis garantiza que no hay razón para preferir un método en particular a menos que sepa algo sobre la estructura de su problema.

Guau. Donde empezar.

Hay tantas cosas mal en esta pregunta. Primero no hay mejor método. Hay muchos muchos diferentes y cada uno tiene su aplicación. No tener ninguna información sobre sus datos no va a ayudar.

El tamaño de sus datos es importante. La similitud también importa. El tipo también tiene importancia. Y luego hay un propósito, ¿por qué estás prediciendo estos datos?

No existe el “mejor” algoritmo …

More Interesting

¿Cuál es un ejemplo de aplicación en el mundo real de los modelos de mezcla gaussiana?

¿Cuál es la importancia del lenguaje de programación Erlang para el aprendizaje automático?

¿Cuáles son las formas de ingresar a Stanford para obtener una maestría en informática o una maestría en aprendizaje automático e inteligencia artificial?

¿Puede un desarrollador de aprendizaje profundo atrapar criminales que abusan de niños?

¿Cuál es el mejor método de aprendizaje automático para predecir los datos de prueba una vez que conozco los datos de entrenamiento y la etiqueta de entrenamiento?

¿Cómo es tomar CS 228: modelo gráfico probabilístico en Stanford?

¿Cómo debe comenzar un principiante con la investigación en Machine Learning?

¿Cuál es la definición de un 'prior bayesiano'?

¿Mi reproductor de caja de ritmo aprendió qué canción tocar a continuación?

¿Por qué los académicos usan Matlab / Octave y tan pocos en la industria?

¿Cómo ser bueno en la programación de Python si quiero aprender el aprendizaje automático? ¿Son estos problemas diferentes de la programación competitiva?

¿Dónde puedo encontrar modelos de temas previamente capacitados para MALLET?

En el procesamiento del lenguaje natural para realizar análisis semántico, ¿es útil y necesario generar un árbol de análisis?

¿Es Bayes jerárquico básicamente una introducción de hiperparámetros en el modelo?

¿Qué algoritmos de aprendizaje automático para la clasificación admiten el aprendizaje en línea?