Devlogs

ES

Mi introducción aprendiendo Machine Learning

3 min de lectura

En palabras muy sencillas y no muy técnicas Machine Learning es la ciencia de programar computadoras para que puedan "aprender" a partir de los datos proporcionados.

"Machine Learning es el campo de estudio que da habilidades a las computadoras para aprendan sin necesitad de programarlas explícitamente" - Arthur Samuel, 1959

Un ejemplo sencillo es un spam filter, esto puede utilizar Machine Learning ya que se suministran ejemplos de emails spam y ejemplos de emails normales, después este programa puede aprender a identificar un email spam.

Algunos términos que se deben tener claros:

  • Training Set: Son los ejemplos (datos) que el sistema usa para aprender. Cada uno de esto ejemplos se les llama training instance.
  • Accuracy: Forma en la que medimos el rendimiento de nuestro sistema, que tanto porcentaje de las predicciones son correctas.
  • Data Mining: Técnicas de Machine Learning que analizan grandes cantidades de datos para descubrir patrones.

El Machine Learning resuelve problemas que usando la programación tradicional posiblemente no encontremos una buena solución, quizás usando el ML si la encontremos. Las soluciones con Machine Learning mejoran a las tradicionales ya que se puede adaptar a los cambios.

Tipos de sistemas de Machine Learning

Existen tres tipos muy conocidos de sistemas clasificados según como se entrenan:

  • Supervised learning: Se entrena con un set de datos que incluyen las soluciones (labels), por ejemplo, se tiene un training set de correos, cada correo esta clasificado con un label con "spam" o "no spam".
  • Unsupervised learning: Los datos de entrenamientos no están etiquetados, el sistema intenta aprender sin un guía.
  • Reinforcement learning: Este aprende por prueba y error, recibiendo recompensas o penalizaciones.

Comparte este artículo en

Avatar byandrev

Andres Parra

Software Engineer

Soy Andrés Parra, Ingeniero de Software apasionado por crear soluciones tecnológicas escalables e innovadoras. Me especializo en la construcción de aplicaciones web modernas, dominando un stack versátil que incluye JavaScript, TypeScript, Python y Java, junto con frameworks como React, Next.js y Spring Boot. Interesado en las últimas tecnologías y herramientas de desarrollo.