Sobre Machine Learning (1)

Published on Author lopez

El año pasado toqué el tema de Inteligencia Artificial con JavaScript, y me gustaría ahora comenzar a comentar sobre un tema relacionado, que está digamos “de moda” por estos tiempos. Es el tema de Machine Learning, aprendizaje automático. También estoy preparando una charla, y parte de ese material que estoy investigando quiero volcarlo en esta serie de posts.

Es un tema que ya tiene décadas de desarrollo. Lo que veo al revisitarlo y enterarame de los últimos avances, es que ha cambiado su definición común. Veamos una definición. Leo en el curso de Coursera:

https://www.coursera.org/course/ml

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you’ll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you’ll learn about some of Silicon Valley’s best practices in innovation as it pertains to machine learning and AI.

Esa definición es la que yo tenía en mente desde el siglo pasado: hacer que las computadoras actuaran de alguna forma sin haber sido explícitamente programadas para ello, tal vez con el agregado de ir mejorando en un tiempo inicial en la tarea (que no sea simplemente conducta aleatoria).

Ahora bien, hay otras definiciones que involucran datos. Veamos la definición en el artículo actual de la Wikipedia:

http://en.wikipedia.org/wiki/Machine_learning

Machine learning is a subfield of computer science[1] that evolved from the study of pattern recognition and computational learning theory in artificial intelligence.[1] Machine learning explores the construction and study of algorithms that can learn from and make predictions on data.[2] Such algorithms operate by building a model from example inputs in order to make data-driven predictions or decisions,[3]:2 rather than following strictly static program instructions.

Si bien es la definición más en boga en estos tiempos (usar datos como base del aprendizaje) no es la única, al menos en la historia de las ciencias de la computación. Lo que pasa es que vivimos en una época donde aparece el Big Data, y el Machine Learning sobre eso, e incluso en tiempo real, ha motivado varias implementaciones, a partir de “startups” y otros emprendimientos.

Veremos en los próximos posts algunos ejemplos históricos de Machine Learning, que no involucraban datos, y luego sí, nos sumergiremos en el actual estado del arte, con datos, aprendizaje supervisado, no supervisado, distribuido y en tiempo real.

Mientras, algunos enlaces y otros posts relacionados en inglés:

https://ajlopez.wordpress.com/category/machine-learning/

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez