aprendizaje automático que es

¿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 70 años, en la última década han evolucionado notoriamente –Breve Historia de las RNA– (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 y aquí un ejemplo de código en 15 líneas usando Python y Keras para crear la compuerta XOR.

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

GuardarGuardar

18 comments

  1. David Martínez · noviembre 14, 2017

    ¡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!

    • Na8 · noviembre 14, 2017

      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. Francisco Garcia · febrero 13, 2018

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

    • Na8 · febrero 23, 2018

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

  3. Riki · agosto 13, 2018

    Excelente Blog. espero aprender, muchas gracias por compartir tus conocimientos, saludos desde Chile

    • Na8 · agosto 14, 2018

      Hola Riki, gracias por visitar mi blog y por tus comentarios! Espero que sigamos en contacto.
      Saludos

  4. walter · octubre 5, 2018

    Hola Juan, excelente el blog, y muy claras tus explicaciones, saludos

    • Na8 · octubre 5, 2018

      Hola Walter, muchas gracias por la visita! Seguimos en contacto!

  5. Martin · octubre 23, 2018

    Naccio, genio total! Lei un par de artículos, ahora manos a la obra. Voy a intentar hacerlos todos.
    Abrazo desde Argentina!

    • Na8 · octubre 24, 2018

      Gracias Martin!! qué bueno que sigamos en contacto después de tantos años! Espero que vaya todo bien! Cualquier cosa que te pueda dar una mano me decís!
      Abrazo!

  6. Luis Calero · enero 4

    Excelente blog , explicas muy bien y esto es bueno para quienes estamos iniciando en este mundo del Machine Learning , Saludos.

    • Na8 · enero 18

      Hola Luis, muchas gracias por escribir y participar! Espero que sigamos en contacto

  7. Genial , soy nuevo en este mundo y me interesa mucho la verdad , seguiré la guía que preparaste , muchas gracias!

    • Na8 · junio 19

      Hola Miguel gracias por escribir. Espero que te sirva la guía. En estoy días estaba pensando en agregar más contenidos! Cuando puedas me comentas como lo vas llevando!
      Saludos y seguimos en contacto

  8. noé · julio 15

    Muy bueno, dan ganas de meterse de cabeza ! muchas gracias por este blog.

    • Na8 · julio 29

      Hola Noé, gracias por escribir y participar en el Blog! Saludos!

  9. MoniK Arias · septiembre 22

    Excelente blog, excelente contenido, excelente además, la forma sencilla de explicar y transmitir. Me ha servido tanto para aprender algunos conceptos, como para reforzar otros ya adquiridos… Felicitaciones y gracias. Saludos desde Medellín, Colombia

  10. Omarciraptor · 23 Days Ago

    Hola, gracias por los artículos. Yo estoy interesado más en la aplicación de ML en Física de Altas Energías.
    Saludos desde Perú.

Deja un comentario