¿Qué es Machine Learning? Una definición

Un artículo que intentará ayudar a comprender qué es el Machine Learning o Aprendizaje Automático

A partir de mi experiencia en diversos cursos, artículos y lecturas voy a describir qué es el Machine Learning. Veremos algunas definiciones ya existentes. Este es un compilado que intentará dar mejor comprensión sobre esta revolucionaria materia.

Definiendo Machine Learning

El Machine Learning -traducido al Español como “Aprendizaje Automático”- es un subcampo de la Inteligencia Artificial que busca resolver el “cómo construir programas de computadora que mejoran automáticamente adquiriendo experiencia”.

Esta definición indica que el programa que se crea con ML no necesita que el programador indique explícitamente las reglas que debe seguir para lograr su tarea si no que este mejora automáticamente.

Grandes volúmenes de datos están surgiendo de diversas fuentes en los últimos años y el Aprendizaje Automático relacionado al campo estadístico consiste en extraer y reconocer patrones y tendencias para comprender qué nos dicen los datos. Para ello, se vale de algoritmos que pueden procesar Gygas y/o Terabytes y obtener información útil.

Una Definición Técnica

Durante mi cursada de Aprendizaje Automático en Coursera, encontré la siguiente “definición técnica”:

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

La experiencia E hace referencia a grandes volúmenes de datos recolectados (muchas veces el Big Data) para la toma de decisiones T y la forma de medir su desempeño P para comprobar que mejoran con la adquisición de más experiencia.

Diagrama de Venn

Drew Conway creó un simpático diagrama de Venn en el que inerrelaciona diversos campos. Aquí copio su versión al Español traducida por mi:

En esta aproximación al ML, podemos ver que es una intersección entre conocimientos de Matemáticas y Estadística con Habilidades de Hackeo del programador.

Aproximación para programadores

Los programadores sabemos que diversos algoritmos de búsqueda pueden tomar mucho tiempo en resolverse y que cuanto mayor sea el campo de búsqueda crecerán potencialmente las posibilidades de combinación de una respuesta óptima, haciendo que los tiempos de respuesta tiendan al infinito o que tomen más tiempo de lo que un ser humano tolerar (por quedarse sin vida o por impaciencia). Para poder resolver este tipo de problemas surgen  soluciones de tipo heurísticas que intentan dar “intuición” al camino correcto a tomar para resolver un problema. Estos pueden obtener buenos resultados en tiempos menores de procesamiento, pero muchas veces su intuición es arbitraria y pueden llegar a fallar. Los algoritmos de ML intentan utilizar menos recursos para “entrenar” grandes volúmenes de datos e ir aprendiendo por sí mismos. Podemos subdividir el ML en 2 grandes categorías: Aprendizaje Supervisado o Aprendizaje No Supervisado.

Entre los Algoritmos más utilizados en Inteligencia Artificial encontramos:

Una mención a las Redes Neuronales Artificiales

Una mención distintiva merecen las RNAs ya que son algoritmos que utilizan un comportamiento similar a las neuronas humanas y su capacidad de sinopsis  para la obtención de resultados, interrelacionándose diversas capas de neuronas para darle mayor poder. Aunque estos códigos existen desde hace más de 30 años, en la última década han evolucionado notoriamente (en paralelo a la mayor capacidad tecnológica de procesamiento, memoria RAM y disco, la nube, etc) y están logrando impresionantes resultados para analizar textos y síntesis de voz, traducción de idiomas, procesamiento de lenguaje natural, visión artificial, análisis de riesgo, clasificación y predicción y la creación de motores de recomendación. Aquí comparto este artículo sobre Deep Learning que puede ampliar tu conocimiento.

En Conclusión

Creo que el Machine Learning es una nueva herramienta clave que posibilitará el desarrollo de un futuro mejor para el hombre brindando inteligencia a robots, coches y casas. Las Smart Cities, el IOT ya se están volviendo una realidad y también las aplicaciones de Machine Learning en Asistentes como Siri, las recomendaciones de Netflix o Sistemas de Navegación en Drones. Para los ingenieros o informáticos es una disciplina fundamental para ayudar a crear y transitar este nuevo futuro.

¿Y tu cómo entiendes al Machine Learning? ¿Cómo ves de importante esta disciplina para los próximos años? Déjame tus comentarios para poder debatir!

GuardarGuardar

4 Replies to “¿Qué es Machine Learning? Una definición”

  1. ¡Gracias por las aclaraciones Juan!

    Yo estoy desarrollando un proyecto con aprendizaje profundo. En mi proyecto, de momento encuentro la palabra más cercana a una palabra dentro del fichero adecuado.

    Tengo el proyecto separado en módulos, de esa forma puedo canviar una pieza y todo sigue funcionando igual. Por ejemplo, cambiar el LM que quiero usar.

    Yo he separado mi proyecto en:
    – WS Deep Learning que aprende a buscar la palabra más cerana.
    – WS Call To Internet que busca en internet las frases que deben añadirse en los ficheros que usa el WS Deep Learning para aprender.
    – WS File Generator que añade frases a un fichero en el servidor.
    – WS How Do You Learn que hace el CRUD de usuarios, robots, conceptos y relaciones.

    Verás los diferentes proyectos publicados en mi web: https://davidmartinezros.com con los links necesarios.

    ¡Espero que encontréis interesante mi proyecto!

    ¡Toda colaboración será bienvenida!

    ¡Un abrazo amigo!

    1. Hola David, muchas gracias por comentar!. Parece que está muy bien estructurado tu proyecto de Procesamiento de Lenguaje. Muy interesante tus proyectos, ya los había estado mirando, pero te sigo para estar al día! Espero que colaboremos juntos pronto!

  2. Excelente blog, voy iniciando en este maravilloso mundo del Machine Learning. Saludos desde México

    1. Muchas gracias por escribirme! Espero seguir escribiendo artículos que puedan servir a la comunidad de Machine Learning… esto recién comienza!

Leave a Reply