¿Estudiar CLRS me ayuda a aprender el aprendizaje automático?

¡La respuesta es no, pero sí (hasta cierto punto)!

No, porque la conexión no es demasiado fuerte. CLRS no es el libro más relevante sobre aprendizaje automático. Hay otros libros que serán mucho más útiles para su carrera en el aprendizaje automático, como:

  • La máquina de Kevin Murphy aprendiendo una perspectiva probabilística (Machine Learning)
  • Reconocimiento de patrones y aprendizaje automático de Bishop (Reconocimiento de patrones y aprendizaje automático | Christopher Bishop | Springer)

(hasta cierto punto) , porque una comprensión sólida de los algoritmos te ayuda a convertirte en un mejor ingeniero de software. También lo ayuda a comprender el análisis de rendimiento de diferentes enfoques algorítmicos (p. Ej., Soluciones de programación dinámica, avaricia, fuerza bruta). Esto será útil para usted si está trabajando en el diseño o implementación de algoritmos de aprendizaje automático.

Esa es una pregunta difícil. Dime quién eres, lo que ya sabes y cuál es tu interés en el aprendizaje automático.

En general, siempre ayuda a entender los algoritmos. Y CLRS ciertamente no es exhaustivo, sino una excelente fuente y referencia para la programación de algoritmos. Hay otros, por supuesto, también (como Sedgewick: Algorithms in C, o el aún insuperable DE Knuth: The Art of Computer Programming).

Como preparación directa para el aprendizaje automático, estudiar algoritmos como en esos libros no lo ayudaría demasiado, siempre que tenga una educación previa seria en algoritmos y programación de computadoras. Si no lo hace, comience con lo básico.

No. Pero la mayoría de los trabajos de aprendizaje automático son trabajos de ingeniería de software, y tener un buen conocimiento de los algoritmos es importante para la ingeniería de software.

Como ingeniero de aprendizaje automático, aún tendrá que escribir código eficiente y fácil de mantener, y conocer los algoritmos ayuda con la parte de “eficiencia”. Probablemente también se le harán preguntas de codificación y algoritmos durante algunas de sus entrevistas.

Personalmente, no creo que CLRS sea una buena fuente para aprender algoritmos desde cero . Es una gran fuente como referencia para algoritmos generales o un excelente texto complementario para un curso real (como 6.006 o 6.046). Pero a veces me resulta difícil aprender las cosas desde cero (por ejemplo, el primer capítulo puede ser explicado por un profesor o en persona por alguien en menos de 5 minutos, pero CLRS tarda 15 páginas en explicar su concepto en ese capítulo). ¿Por qué? Creo que lleva mucho tiempo obtener las ideas principales y, a veces, todos los detalles que tienen me pierden en las ideas principales. Algunas veces las pruebas son formales para conceptos que se supone que son intuitivos u obvios. Es una gran referencia, pero si desea algoritmos, le recomiendo comenzar primero con OCW 6.006 (o 6.046 para una versión más avanzada)

Además, CLRS no tiene mucho contenido real de Machine Learning. Por lo tanto, no estoy seguro de qué es exactamente lo que desea obtener de CLRS para hacer ML. Cursos como CS229, los cursos de ML de pregrado de cal tech (o incluso el MIT 9.520) parecen más apropiados para aprender ML. Por supuesto, necesita algoritmos básicos, como análisis asintótico, etc., pero creo que conocer la probabilidad, las estadísticas y el álgebra lineal son más útiles que los algoritmos, pero tal vez eso sea solo yo porque he hecho muchos algoritmos y mucha codificación que no Realmente lo necesito. Tengo una larga lista de cosas importantes para ML aquí en quora en algún lugar si quieres saber mi opinión al respecto.

Los mapas probabilísticos en robótica están diseñados como gráficos implícitos, por lo que el zumbido en torno a la robótica probabilística se basa solo en gráficos implícitos como estructuras de datos que representan mapas probabilísticos

estructura parte {
doble occ;
doble desenfoque;
}
std :: vector > vec;
// un gráfico 2D implícito es nuestro mapa para el problema de estadísticas

Consideremos que la localización se basa en la recursividad y que algunos problemas de planificación de la ruta se pueden resolver usando el relleno de inundación, CLRS podría no ser la guía definitiva pero lo ayudará a elegir las estructuras de datos correctas en ingeniería, solo puedo responder desde la perspectiva de la robótica, ya que es la IA en la que estoy entrenado.

Cada vez que contrato a alguien para mi equipo, siempre me aseguro de que la persona también sea buena para escribir código eficiente.

Para los científicos de datos, diría que CLRS no sería de mucha utilidad, pero para los ingenieros de aprendizaje automático, definitivamente es una buena lectura.

Para empezar, te recomendé el curso de aprendizaje automático de Andrew Ng en Coursera. Le muestra el panorama general sobre los algoritmos de aprendizaje automático. Y luego, puedes aplicar un curso de aprendizaje profundo. Mi sugerencia para ti es profundizar en la especiazilación en Coursera. Incluye 5 cursos y comprenderá cómo funciona la red neuronal profunda.

More Interesting

En los concursos de programación, ¿puedo adivinar la complejidad temporal de la solución (digamos n, n ^ 2, log n) para el problema, dado el límite de tiempo para el problema?

¿Qué es el algoritmo ABC?

¿Para qué se usan realmente los algoritmos?

Dada una biblioteca que proporciona una coincidencia aproximada de cadenas, ¿cuáles son algunos procedimientos adicionales que pueden explicar una mejor coincidencia de cadenas?

¿Qué es una matriz?

¿Por qué chupo la programación (algoritmos de programación dinámica en particular)?

Soy bueno en algoritmos y estructuras de datos, ¿cuál debería ser mi estrategia para comenzar una carrera independiente en este dominio?

Cómo encontrar el elemento más grande y el segundo más grande entre los elementos de la matriz sin la técnica de selección de selección

Cómo usar el algoritmo de dijkstra en programación competitiva

Entiendo cómo leer la recursividad pero no sé cómo resolverlos.

¿Necesito conocer algoritmos de aprendizaje automático para asegurar un trabajo como analista de datos?

¿Cómo paso la matriz asociativa como un argumento con los elementos de esa matriz que se pasan en un orden específico?

¿Los investigadores que elaboran algoritmos útiles ganan mucho dinero cuando sus algoritmos se aplican ampliamente en la industria?

¿Cuál es la diferencia entre el tipo de burbuja y el de inserción? Además del hecho de que el ordenamiento de burbujas tiene una parte ordenada y una no ordenada de una matriz.

¿Cuál es la forma más fácil de animar el algoritmo de Dijkstra para Power Point Presentation?