Es bien sabido que si realmente tiene muchos datos etiquetados y las características correctas, muchos algoritmos ML funcionarán bien. Sin embargo, se prefieren algoritmos más simples cuando tiene muchos datos o sus datos son ruido. Por ejemplo, la regresión logística regularizada con miles, millones o incluso miles de millones de características funciona sorprendentemente bien.
Es probable que un algoritmo más sofisticado como GBRT (árbol de regresión impulsado por gradiente), bosques aleatorios o una red neuronal profunda superen a los métodos simples. Sin embargo, son más caros de entrenar. De hecho, cuando hay muchísimos datos, es posible que desee aplicar algún algoritmo de aprendizaje en línea, como el perceptrón lineal. Los algoritmos de aprendizaje en línea a menudo dependen del descenso de gradiente estocástico.
Quizás, el paso más importante es la selección de características. Las características son señales que le dicen algo sobre los datos. La selección de características es más un arte que una ciencia. Puede ser difícil seleccionarlos. Sin embargo, a menudo es fácil seleccionar un gran conjunto de características candidatas y eliminar una poco prometedora. Existe una gran cantidad de literatura sobre el tema de la reducción de características. Recolecté algunos enlaces (no necesariamente los más relevantes) aquí: Selección de funciones y reducción de dimensionalidad en inglés “Machine learning”
- ¿Habrá diferentes algoritmos para implementar la inserción y eliminación de una estructura de datos como b árboles?
- ¿Podemos tener un árbol binario cuyo recorrido posterior y posterior sea el mismo?
- Cómo resolver http://www.spoj.com/problems/SAMER08A/ usando el algoritmo de Dijkstra
- ¿Cuál es la intuición de los algoritmos de Prim y el algoritmo de Kruskal?
- Cómo dibujar un contorno vectorial en una matriz de cuadrícula binaria
Una alternativa a la generación manual de características son los codificadores automáticos: Autoencoder Esencialmente, uno usa una red neuronal para crear incrustaciones de espacio vectorial. Ahora, esto parece ser lo último en muchas áreas, incluido el procesamiento de imágenes. Un programa famoso para crear incrustaciones de vectores para datos textuales es word2vec.
La elección de un algoritmo también depende de la tarea: ¿es aprendizaje supervisado, no supervisado, semi-supervisado? Mi consejo es aplicable principalmente a los enfoques supervisados.
También debe buscar en Google consultas como “qué algoritmo de aprendizaje de máquina debería elegir”. Por ejemplo, he encontrado el siguiente enlace de Quora: ¿Cuál es la mejor manera de saber qué algoritmo de aprendizaje automático tiene una mejor probabilidad de clasificar con precisión o con mayor precisión un conjunto de datos, antes de aplicarlo?