En general, las estructuras de datos y los algoritmos van de la mano. En cierto sentido, las estructuras de datos eficientes no solo permiten el almacenamiento y acceso eficientes de datos, sino que también hacen que ciertos algoritmos ‘eficientes’ sean realizables. El aprendizaje automático se compone de una clase de algoritmos informáticos diseñados para trabajar con datos “variables”. A diferencia de los algoritmos (código) que solo hacen lo que le dice el programador (por ejemplo, encontrar la raíz cuadrada, encontrar si los números son relativamente primos, etc.), el algoritmo de aprendizaje automático (código), basado en un modelo, aprende qué hacer (hasta hasta cierto punto) mirando los datos. Por lo tanto, las estructuras de datos tienen la misma importancia que en el caso de cualquier algoritmo. Muchos algoritmos de aprendizaje automático asumen cierta estructura de datos para un modelo, por ejemplo, una clase de algoritmos de aprendizaje automático asumen un modelo probabilístico, para explicar la relación ‘posible’ de causa-efecto en un entorno incierto (es decir, probabilísticamente). Uno se sentiría cómodo con tales algoritmos si están familiarizados con la estructura de datos del gráfico. Del mismo modo, algunos de los algoritmos de ML asumen un modelo de representación de espacio métrico en el que se utilizan medidas de similitud y distancia como criterio de aprendizaje y decisión (por ejemplo, k-medias, SVM, etc.). En tal caso, las matrices (estructura de datos de matriz) son útiles.
Entonces, en pocas palabras, sí, las estructuras de datos juegan un papel importante en el aprendizaje automático : a veces pueden diferenciar si su algoritmo de aprendizaje automático es prácticamente factible o simplemente una herramienta teórica de juego. Las herramientas teóricas solo entusiasman a un número muy pequeño de personas y desde la perspectiva de la “ingeniería”, no son del todo útiles. Para conocer las estructuras de datos, hasta donde yo sé, los libros relacionados con algoritmos de aprendizaje automático no presentan a los lectores los fundamentos de la estructura de datos en la profundidad que un principiante en este tema apreciaría. La mayoría de ellos toma ese conocimiento como un requisito previo. Por lo tanto, eche un vistazo a cualquier libro estándar sobre el tema (consulte ¿Cómo aprendo estructuras de datos y algoritmos?). Además, siga el tema de Estructuras de datos y algunas personas cuyos intereses estén alineados con el tema (si aún no lo ha hecho).
- ¿Cuáles son algunas de las ventajas de usar PyTorch sobre TensorFlow?
- ¿Qué ha aprendido sobre el aprendizaje automático, la recuperación de información y la minería de datos después de unirse a una empresa de Internet que se ocupa de big data?
- ¿El aprendizaje automático es un subconjunto de la ciencia de datos?
- ¿Qué es lo que más te gusta del aprendizaje automático?
- Soy un graduado en ingeniería eléctrica. Quiero seguir estudios superiores en aprendizaje automático o inteligencia artificial en EE. UU. ¿Qué tengo que hacer?