¿Qué es Machine Learning? Una definición

aprendizaje automático que es

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

25 thoughts on “¿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!

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

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

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

    1. 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!

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

    1. 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

  6. 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

  7. 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ú.

    1. Hola Hernán, muchas gracias por comentar! Siempre dan ánimo esas líneas para seguir creando nuevos contenidos!
      Saludos

  8. He dado con este artículo de casualidad y de verdad que me ha encantado. Voy a seguir leyendo tus post porque son relamente interesantes. Tengo una página-blog donde trato diferentes temas relacionados con la Industria 4.0 y todo lo que ello conlleva y la verdad que es una gozada leer artículos como el tuyo. Te invito a que pases por mi sitio, es algo más modesto pero la verdad que me apasiona el tema mucho y voy tratando de informar con todo lo que puedo. Hace nada traté sobre el Machine Learning y el Deep Learning, te dejo aquí el enlace: Deep Learning Espero que te guste. Un saludo y te sigo leyendo 🙂

  9. Hola Juan. Un placer. Voy iniciando en el tema de ML y por lo que veo se requiere saber Python. Al respecto. ¿Qué libro y qué curso (en línea) recomiendas para aprender a programar en Python enfocado a ML? Saludos y gracias.

  10. Saludos a todos desde Cataluña,

    Yo también estoy empezando en esto del ML y todavía hay cosas que se me escapan. Pero lo cierto es que, por lo que he visto en este blog todo está muy bien estructurado y muy bien enlazado. Así que nos vamos hablando por aquí.

    Un Saludo

    1. Hola Rafael muchas gracias por el comentario, espero que el blog sea de ayuda para tu aprendizaje!
      Saludos y seguimos en contacto!

  11. Hola Muchas gracias por la información que brindas. 🙂 saludos desde Argentina.

Leave a Reply