ML es una disciplina muy diversa con muchos subcampos, cada uno con su propio algoritmo base que sirve como un buen punto de partida para un mayor aprendizaje.
Recomiendo los siguientes algoritmos básicos, con algunas lecturas adicionales:
- Regresión lineal -> cambio de la función de pérdida (por ejemplo, SVM, regresión logística, regresión multiclase) y regularizador (por ejemplo, lazo)
- Bayes ingenuos -> dirigida (Redes de Bayes, Modelos ocultos de Markov, Modelos temáticos) y modelos gráficos probabilísticos no dirigidos
- Perceptron -> ramas del aprendizaje profundo (convolucional, recurrente, recursivo, incrustado)
- Factorización / finalización de matrices -> cambio de la función de pérdida y regularizador (MF no negativo, codificación dispersa)
- Árboles de decisión -> Bosques aleatorios y árboles impulsados por gradientes
- Adaboost -> Árboles potenciados en gradiente
- K-means -> estrechamente relacionado con la agrupación basada en estadísticas (por ejemplo, modelos de mezcla gaussiana)
- Vecino K-más cercano -> punto de entrada a algoritmos no paramétricos (donde el tamaño del modelo crece con más datos de entrenamiento)
Los algoritmos avanzados de ML pueden combinar dos o más algoritmos básicos, por ejemplo, Gradient Boosted Trees se basa en árboles de decisión y refuerzo.
- ¿Cuál es la complejidad de tiempo en el peor de los casos para la eliminación en una cola?
- Como programador autodidacta de 24 años, ¿debo comenzar con la programación competitiva o el desarrollo web?
- ¿Cómo se puede predecir el rango basado en el rango anterior y los datos de puntaje disponibles?
- ¿Es seguro decir que un algoritmo iterativo es mejor que el recursivo para el mismo problema dado que ambos son de la misma complejidad temporal?
- ¿Dónde podemos ver el uso implícito de las estructuras de datos en la naturaleza, como lista enlazada, pila, Q, matriz, árbol y gráfico?