Entendiendo el aprendizaje automático: de la teoría a los algoritmos [eBook gratis de 449 páginas]
(cs.huji.ac.il)- "Understanding Machine Learning", escrito por Shai Shalev-Shwartz y Shai Ben-David, es un libro publicado por Cambridge University Press en 2014
- Trata los fundamentos teóricos y los algoritmos del aprendizaje automático.
- Con autorización de Cambridge University Press, se publicó el PDF del manuscrito y solo puede descargarse para uso personal
- No es para distribución
1 comentarios
Opiniones de Hacker News
Si quieres entender machine learning de forma sencilla, recomiendo The StatQuest Illustrated Guide to Machine Learning de Josh Starmer: https://www.goodreads.com/book/show/75622146-the-statquest-i...
Hasta ahora no he visto a ningún docente que explique conceptos complejos de manera tan clara y concisa como Starmer, y como tiene un formato casi de libro infantil, es fácil de leer y entender.
También publicó hace poco un libro sobre redes neuronales, que es igual de bueno; lo recomiendo mucho incluso si ya eres experto, porque permite obtener buenas formas de enseñar y comunicar conceptos complejos de machine learning.
Lo usé mucho como material de apoyo cuando estudiaba estadística en la universidad.
Sin embargo, me cuesta recomendarlo como forma de aprender machine learning más allá de un nivel superficial, y también se siente un poco anticuado.
Todavía no lo leí, pero quizá el libro sobre redes neuronales cubra esa parte.
También me pregunto si es razonable pensar que, viniendo de un perfil de ingeniero de software web/desarrollo, estudiar a fondo los libros recomendados aquí puede permitir entrar a roles de machine learning/AI.
Mi trabajo consiste en usar machine learning para análisis econométrico, y la mayoría de los economistas no entiende machine learning de manera intuitiva.
Si quieres entender los fundamentos de machine learning, Probability for computer scientists de Stanford me pareció un recurso excelente: https://www.youtube.com/watch?v=2MuDZIAzBMY&list=PLoROMvodv4...
La forma en que aborda la teoría de la probabilidad y las bases teóricas de machine learning fue mejor que cualquier curso que haya visto, aunque en esencia se parece más a un curso de probabilidad que cubre fundamentos de machine learning.
El curso de Andrew Ng también es legendario, pero requiere cierto nivel de familiaridad matemática con álgebra lineal.
También se puede descargar el PDF de las notas del curso CS109: https://chrispiech.github.io/probabilityForComputerScientist...
Si quieres una comprensión teórica de temas de machine learning, Learning From Data de Caltech también me pareció bueno: https://work.caltech.edu/telecourse
También existe el libro de este curso de Caltech: https://www.amazon.com/Learning-Data-Yaser-S-Abu-Mostafa/dp/...
Para entender cómo construir redes neuronales desde cero, Neural Networks: Zero to Hero es bueno: https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...
https://bloomberg.github.io/foml/#home Este curso es el que más me gusta personalmente.
Si el objetivo es aprender IA generativa moderna, recomiendo en cambio https://udlbook.github.io/udlbook/
Leí algunas partes hace unos años y, por lo que recuerdo, era muy teórico y tenía mucha teoría del aprendizaje estadístico; personalmente considero que la parte sobre la minimización estructural del riesgo de Vapnik estaba equivocada.
Está fuertemente sesgado hacia la teoría y prácticamente no tiene aplicaciones; además, al ser un libro de 2014, en el campo de la IA eso es de hace una eternidad, así que es muy probable que hoy el contenido aplicado esté completamente obsoleto.
No creo que haya mucha gente que quiera leer este libro hoy en día.
Hasta donde sé, teorías matemáticas como la teoría del aprendizaje estadístico no ayudaron mucho a inventar los transformers, ni fueron útiles para explicar por qué las redes neuronales no sobreajustan incluso con una dimensión VC grande.
El título “de la teoría al aprendizaje automático” muestra bien el problema de este enfoque primero la teoría.
Personas interesadas en las matemáticas pero no en la ingeniería de software entraron al aprendizaje automático y crearon teorías abstractas del aprendizaje, como la teoría del aprendizaje estadístico, pero estaban lejos de lo que realmente se podía hacer.
En cambio, los ingenieros ignoraron esas teorías, se ensuciaron las manos implementando redes neuronales reales e intentaron mejorar su rendimiento, y de eso salieron cosas como las redes neuronales convolucionales y, más tarde, los transformers.
Recuerdo que Vapnik, en el prólogo de su libro, se quejaba como si fuera una forma de extremismo de la tendencia a ignorar las bellas teorías matemáticas y concentrarse solo en la práctica.
Pero ahora creo que quedó claro que esas teorías eran demasiado débiles para explicar la complejidad de los enfoques que realmente funcionan bien, y que el aprendizaje automático no es matemáticas ni ciencias de la computación teórica, sino una rama de la ingeniería.
En el título de este libro hay una esperanza equivocada: que la gente primero aprenda teorías abstractas del aprendizaje y, al inspirarse, pronto cree nuevos algoritmos.
La teoría del aprendizaje estadístico apenas puede modelar el aprendizaje supervisado, por no hablar del aprendizaje por refuerzo o el aprendizaje autosupervisado.
Ni siquiera puede explicar por qué las redes neuronales son resistentes al sobreajuste, y teorías fantásticas como la teoría computacional/algorítmica del aprendizaje, la inducción de Solomonoff o la complejidad de Kolmogorov están todavía más lejos de la realidad.
Entiendo que ciertos aspectos son sorprendentes y que, si el tamaño y la diversidad del dataset son adecuados, muchas veces se cumplen las leyes de escalado.
Pero por mi experiencia entrenando desde cero con datasets reales, no ajustando finamente modelos preentrenados, si no hay suficientes datos las redes neuronales claramente pueden sobreajustar.
Mi intuición es que las teorías existentes no habían demostrado ser verdaderas bajo ciertas condiciones, por ejemplo ciertas características del dataset, pero hoy parece que se omiten esas salvedades asumiendo implícitamente que los datasets son gigantescos.
En la realidad de problemas de nicho en empresas no FAANG, o cuando no se pueden usar datasets públicos pero no comerciales, esto sigue siendo un problema real.
No todos los problemas se resuelven con modelos fundacionales o modelos de frontera.
Me gustaría que me indicaran papers relacionados; todavía estoy aprendiendo.
Es parecido a la física: para entender algo como la mecánica cuántica se necesita teoría matemática. De lo contrario, puede no tener sentido.
Me pregunto si para un ingeniero de software que no hace investigación es práctico entender en profundidad los conceptos de aprendizaje automático.
No tengo planes de ir hacia investigación, así que estoy tratando de decidir en qué concentrar mi aprendizaje para mi carrera.
A grandes rasgos, parece que en las empresas hay demanda de implementación de AI/ML, pero, salvo por parte de la depuración, ¿realmente vale la pena desarrollar modelos desde cero?
También me pregunto si, para los negocios comunes, probablemente baste en la mayoría de los casos con ajustar un poco modelos listos para usar a casos de uso específicos.
Este libro es mi introducción favorita a la teoría del aprendizaje automático, en especial a la teoría del aprendizaje estadístico, y es mucho más accesible que otros libros.
Es un libro de 2014; ¿de verdad sigue siendo relevante?
El libro tiene 10 años; ¿no estará obsoleto?
Las actualizaciones sobre el dilema sesgo/varianza tampoco son grandes si se mira el paper original de Geman de 1992: https://www.dam.brown.edu/people/documents/bias-variance.pdf
En esa época se trataban datasets pequeños o datasets infinitos, y el doble descenso solo funciona correctamente cuando los patrones del conjunto de prueba son suficientemente parecidos a los del conjunto de entrenamiento.
Hay que tener cuidado con algunas perspectivas antiguas, pero los conceptos fundamentales son los mismos.
Incluso en fine-tuning o aprendizaje por refuerzo, el problema de datasets pequeños/datasets infinitos, donde la clase de conceptos de los datos de entrenamiento puede ser nueva, sigue siendo cubierto por el paper de 1992; asumir que eso queda universalmente invalidado te puede jugar en contra.
La mayoría de los conceptos base vienen de mediados del siglo XX.
La disponibilidad de datos masivos y los nuevos descubrimientos cambiaron mucho más los supuestos y las herramientas que invalidar el trabajo anterior.
Si hojeas ese paper, se ve que en ese momento simplemente descartaban como poco realistas los datos masivos y la capacidad de cómputo que tenemos hoy.
Conviene encontrar libros que te funcionen bien, aprender los conceptos y acumular conocimiento tácito.
Muchos intentos están tratando de integrar también métodos simbólicos y otros enfoques.
Construir tanto amplitud como profundidad ayuda a ahorrar tiempo y a encontrar oportunidades, y creo que para eso el conocimiento fundamental es decisivo.
Los fundamentos del aprendizaje/validación, varianza/sesgo, etc. del aprendizaje automático siguen igual, y los algoritmos clásicos todavía tienen su lugar.
Los avances recientes que podrían faltar quizá sean algo como los bosques al estilo XGBoost.
Con esos tres libros, desde lo más básico hasta temas avanzados, literalmente no necesitas nada más.
Si solo tienes curiosidad por el aprendizaje automático, es muy poco probable que la información sea incorrecta.
Pero, a diferencia de un libro de química de 11 años, por ejemplo, no está muy conectado con los problemas más interesantes con los que lidian hoy los ingenieros.
Así que no creo que sea lo más útil para preparar entrevistas o entrar a la industria.
Porque no se enfocaba en deep learning de punta, sino principalmente en teoría matemática abstracta de valor dudoso.
¿Hay otros libros recomendados?
Es un libro introductorio gratuito y accesible, escrito por investigadores destacados, que cubre ampliamente los temas clásicos y también incluye muchas secciones “Lab” con código.
Tiene un capítulo sobre deep learning, pero no cubre los avances recientes, así que para esa parte hacen falta otros materiales.
Las explicaciones son sólidas y tampoco se siente tan antiguo como AIMA.