¿Qué métodos de aprendizaje automático lo llevarán al top 10 de las competencias de kaggle?

Los algoritmos por sí mismos no harán que uno entre los 10 primeros lugares en ningún lado. Nunca se trata de los algoritmos, siempre se trata de los datos. Si sus datos son inseparables, no lineales y colineales, Dios lo salve. Dicho eso, la respuesta fue un poco exagerada. Comprender la naturaleza de los datos es tan importante como elegir los algoritmos para entrenar el modelo. Xgboost es un gran clasificador no lineal, pero tiene este sesgo inherente de solo trabajar para conjuntos de datos medianos a pequeños. El flujo tensor de Google o las redes neuronales profundas funcionan mejor para los motores de reconocimiento de visión / habla / nlp donde hay una gran cantidad de datos disponibles. Las SVM se usan ampliamente en PNL. El ejemplo de libro de texto para la detección de spam es ingenuo Bayes. Más métodos gráficos como mcmc, la propagación de creencias hace maravillas. Los conjuntos trabajan en la práctica. El desafío de Netflix fue ganado por un conjunto de modelos más pequeños. Entonces, en teoría, es una capucha tener el siguiente conjunto de algoritmos como su navaja suiza, pero busque una mejor arma una vez que comprenda a su enemigo.

  1. K significa
  2. Métodos básicos de árboles c45, adaboost, bosques aleatorios y xgboost
  3. SVM y truco del kernel
  4. Modelos generativos, Naive Bayes (línea de base! Funciona más increíble si es el momento)
  5. Regresión lineal y logística.
  6. Redes de creencias neurales y profundas
  7. Aprende a ensamblar, bootstrap, embolsado y refuerzo
  8. Métodos de selección de características, entropía, chiSquare, varianza mínima, etc.
  9. Ingeniería de características (conocimiento del dominio)
  10. Generalmente, lo discreto siempre es mejor que los datos continuos
  11. Reducciones de dimensionalidad como PCA, SVD, Autoencoders (puede ser un poco excesivo) y otros modelos de factor latente
  12. Finalmente, mucha paciencia y potencia informática.

En una competencia de Kaggle, generalmente hay miles de competidores que usan algoritmos similares.

La única forma de obtener una puntuación ligeramente mejor es mediante el ensamblaje.

Esto es oro puro si quieres aprender más sobre el ensamblaje.

Guía de ensamblaje de Kaggle

Por lo general, usar diversos conjuntos de modelos te permite obtener una mejor puntuación.

Xgboost, aprendizaje profundo y lo más importante, Ensembling 😉

En caso de duda, comience con un conjunto de bosques al azar.