Machine Learning

menu icon

Machine Learning

Machine learning se centra en aplicaciones que aprenden de la experiencia y mejoran su toma de decisiones o precisión predictiva a lo largo del tiempo.

¿Qué es machine learning?

Machine learning es una rama de la inteligencia artificial (IA) centrada en la creación de aplicaciones que aprenden de los datos y mejoran su precisión con el tiempo sin estar programadas para ello. 

En la ciencia de datos, un algoritmo es una secuencia de pasos de procesamiento estadístico. En machine learning, se "entrenan" los algoritmos para encontrar patrones y características en cantidades masivas de datos con el fin de tomar decisiones y realizar predicciones basadas en nuevos datos. Cuanto mejor sea el algoritmo, más precisas serán las decisiones y las predicciones a medida que procesa más datos.

Actualmente, estamos rodeados de ejemplos de machine learning. Los asistentes digitales buscan en la web y reproducen música en respuesta a nuestros mandatos de voz. Los sitios web recomiendan productos, películas y canciones basándose en lo que hemos comprado, visto o escuchado antes. Los robots aspiran nuestros suelos mientras nosotros hacemos... algo mejor con nuestro tiempo. Los detectores de spam evitan que los correos electrónicos no deseados lleguen a nuestras bandejas de entrada. Los sistemas de análisis de imágenes médicas ayudan a los médicos a detectar tumores que podrían haber pasado por alto. Y ya están circulando los primeros coches de conducción autónoma.

Podemos esperar más. A medida que big data sigue aumentando, que la informática se vuelve más potente y asequible y que los científicos de datos siguen desarrollando algoritmos más capaces, machine learning incrementará la eficiencia en nuestras vidas personales y laborales. 

Cómo funciona machine learning

Hay cuatro pasos básicos para crear una aplicación (o modelo) de machine learning. Estos pasos los suelen realizar científicos de datos que trabajan en estrecha colaboración con los profesionales del negocio para quienes se está desarrollando el modelo.

Paso 1: Seleccionar y preparar un conjunto de datos de entrenamiento

Los datos de entrenamiento son un conjunto de datos representativo de los datos que el modelo de machine learning va a ingerir para resolver el problema para el cual se ha diseñado. En algunos casos, los datos de entrenamiento son datos etiquetados, "etiquetados" para llamar a las características y clasificaciones que el modelo necesitará identificar. Otros datos son sin etiqueta, y el modelo tendrá que extraer esas características y asignar clasificaciones por su cuenta.

En cualquier caso, los datos de entrenamiento deben preparase adecuadamente: aleatorizados, desduplicados y revisados por si hubiera desajustes o sesgos que pudieran afectar al entrenamiento. También se deben dividir en dos subconjuntos: el subconjunto de entrenamiento, que se utilizará para entrenar la aplicación, y el subconjunto de evaluación, utilizado para probar y refinar los datos.

Paso 2: Seleccionar un algoritmo para ejecutar en el conjunto de datos de entrenamiento

Una vez más, un algoritmo es un conjunto de pasos de procesamiento estadístico. El tipo de algoritmo depende del tipo (etiquetado o sin etiquetar) y de la cantidad de datos en el conjunto de datos de entrenamiento y en el tipo de problema que se va a resolver.

Los tipos más frecuentes de algoritmos de machine learning para utilizar con datos etiquetados incluyen los siguientes:

  • Algoritmos de regresión: la regresión lineal y logística son ejemplos de algoritmos de regresión utilizados para comprender las relaciones en los datos. La regresión lineal se utiliza para prever el valor de una variable dependiente basada en el valor de una variable independiente. La regresión logística se puede utilizar cuando la variable dependiente es binaria por naturaleza: A o B. Por ejemplo, se podría entrenar un algoritmo de regresión lineal para prever las ventas anuales de un vendedor (la variable dependiente) en función de su relación con la formación del vendedor o sus años de experiencia (las variables independientes). Hay otro tipo de algoritmo de regresión llamado máquina de vectores de soporte que resulta útil cuando las variables dependientes son más difíciles de clasificar.
  • Árboles de decisiones: los árboles de decisiones utilizan datos clasificados para realizar recomendaciones basadas en un conjunto de reglas de decisión. Por ejemplo, un árbol de decisiones que recomienda apostar a un caballo en particular para ganar, colocar o mostrar podría utilizar datos sobre el caballo (por ejemplo, la edad, el porcentaje de victorias, el pedigrí) y aplicar reglas a estos factores para recomendar una acción o decisión.
  • Algoritmos basados en instancias: un buen ejemplo de un algoritmo basado en instancias es K vecinos más cercanos o K-NN (K Nearest Neighbours). Utiliza la clasificación para estimar la probabilidad de que un punto de datos sea miembro de un grupo u otro en función de su proximidad a otros puntos de datos.

Entre los algoritmos para utilizar con datos sin etiquetar se incluyen los siguientes:

  • Algoritmos de agrupación en clúster: piense en clústeres como grupos. La agrupación en clúster se centra en identificar grupos de registros similares y etiquetar los registros según el grupo al que pertenecen. Esto se hace sin conocer previamente los grupos ni sus características. Los tipos de algoritmos de agrupación en clúster incluyen la agrupación en clúster de medias K, TwoStep y Kohonen.
  • Algoritmos de asociación: los algoritmos de asociación encuentran patrones y relaciones en los datos e identifican las relaciones condicionales ("if-then") frecuentes denominadas normas de asociación. Son similares a las reglas utilizadas en la minería de datos.
  • Redes neuronales: una red neuronal es un algoritmo que define una red en capas de cálculos con una capa de entrada, donde se ingieren datos; al menos una capa oculta, donde se realizan cálculos y se sacan diferentes conclusiones sobre la entrada, y una capa de salida, donde se asigna una probabilidad a cada conclusión. Una red neuronal profunda define una red con múltiples capas ocultas, cada una de las cuales refina sucesivamente los resultados de la capa anterior. (Para obtener más información, consulte la sección "Deep learning" a continuación).

Paso 3: Entrenar el algoritmo para crear el modelo

Entrenar el algoritmo es un proceso iterativo: implica ejecutar variables a través del algoritmo, comparar la salida con los resultados que debería haber generado, ajustar las ponderaciones y los sesgos dentro del algoritmo para producir un resultado más preciso y volver a ejecutar las variables hasta que el algoritmo devuelva el resultado correcto la mayoría de las veces. El algoritmo resultante entrenado y preciso es el modelo de machine learning, una distinción que cabe tener en cuenta, porque el "algoritmo" y el "modelo" se utilizan indistintamente de forma incorrecta, incluso por parte de los expertos en machine learning.

Paso 4: Utilizar y mejorar el modelo 

El paso final es utilizar el modelo con nuevos datos y, en el mejor de los casos, para que mejore en precisión y efectividad con el tiempo. De dónde vengan los nuevos datos dependerá del problema que se esté resolviendo. Por ejemplo, un modelo de machine learning diseñado para identificar spam ingerirá mensajes de correo electrónico, mientras que un modelo de machine learning que impulsa un robot aspirador va a ingerir los datos resultantes de la interacción en el mundo real con muebles movidos o nuevos objetos en la habitación.

Métodos de machine learning

Los métodos de machine learning (también denominados estilos de machine learning) se dividen en tres categorías principales.

Para un análisis más detallado sobre las diferencias entre estos enfoques, consulte el artículo "Supervised vs. Unsupervised Learning: What's the Difference?"

Machine learning supervisado             

Machine learning supervisado se entrena en un conjunto de datos etiquetados . Es decir, los datos se etiquetan con la información que el modelo de machine learning está diseñado para determinar y que incluso puede clasificarse en formas en que el modelo se supone que clasifica los datos. Por ejemplo, un modelo de visión computacional diseñado para identificar perros pastor alemanes de raza pura se podría entrenar en un conjunto de datos de varias imágenes de perros etiquetadas.

Machine learning supervisado requiere menos datos de entrenamiento que otros métodos de machine learning y facilita el entrenamiento porque los resultados del modelo se pueden comparar con los resultados etiquetados reales. Sin embargo, los datos etiquetados adecuadamente son caros de preparar, y existe el peligro de sobreajustarlos, o de crear un modelo tan estrechamente vinculado y sesgado con los datos de entrenamiento que no sea capaz de gestionar las variaciones en los nuevos datos con precisión.

Más información sobre el aprendizaje supervisado.   

Machine learning no supervisado

Machine learning no supervisado ingiere grandes cantidades de datos sin etiquetar y utiliza algoritmos para extraer características significativas necesarias para etiquetar, ordenar y clasificar los datos en tiempo real, sin intervención humana. El aprendizaje no supervisado no consiste tanto en la automatización de decisiones y predicciones, sino más bien en la identificación de patrones y relaciones en los datos que las personas podrían pasar por alto. La detección de spam, por ejemplo. Las personas generan más correo electrónico que lo que un equipo de científicos de datos podría esperar etiquetar o clasificar en toda su vida. Un algoritmo de aprendizaje no supervisado puede analizar grandes volúmenes de correos electrónicos y descubrir características y patrones que indican si es spam (y seguir mejorando a la hora de marcar dicho correo con el tiempo).

Más información sobre el aprendizaje no supervisado.

Aprendizaje semisupervisado 

El aprendizaje semisupervisado ofrece un punto intermedio entre el aprendizaje supervisado y no supervisado. Durante el entrenamiento, utiliza un conjunto de datos etiquetados más pequeño para guiar la clasificación y la extracción de características de un conjunto de datos sin etiquetar de mayor tamaño. El aprendizaje semisupervisado puede resolver el problema de no tener suficientes datos etiquetados (o no poder permitirse etiquetar suficientes datos) para entrenar un algoritmo de aprendizaje supervisado. 

Machine learning de refuerzo

Machine learning de refuerzo es un modelo de machine learning de comportamiento que es similar al aprendizaje supervisado, pero el algoritmo no se entrena utilizando datos de muestra. Este modelo aprende a través de prueba y error. Se reforzará una secuencia de resultados satisfactorios para desarrollar la mejor recomendación o política para un problema determinado.

El sistema IBM Watson® que ganó el concurso de televisión Jeopardy! en 2011 es un buen ejemplo. El sistema utilizó el aprendizaje de refuerzo para decidir si intentaba dar una respuesta (o pregunta, por así decirlo), qué casilla seleccionar en el tablero y cuánto apostar, especialmente en los dobles diarios.

Más información sobre el aprendizaje de refuerzo.    

Deep learning

Deep learning es un subconjunto de machine learning (todo deep learning es machine learning, pero no todo machine learning es deep learning). Los algoritmos de deep learning definen una red neuronal artificial que está diseñada para aprender la forma en que el cerebro humano aprende. Los modelos de deep learning requieren grandes cantidades de datos que pasan a través de múltiples capas de cálculos, aplicando ponderaciones y sesgos en cada capa sucesiva para ajustar y mejorar continuamente los resultados.

Los modelos de deep learning normalmente son no supervisados o semisupervisados. Los modelos de aprendizaje de refuerzo también pueden ser modelos de deep learning. Ciertos tipos de modelos de deep learning, incluidas las redes neuronales convolucionales (CNN) y las redes neuronales recurrentes (RNN), están impulsando el progreso en áreas como la visión computacional, el procesamiento del lenguaje natural (incluido el reconocimiento de voz) y los coches de conducción autónoma. 

Consulte la entrada del blog "AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?" para obtener un análisis más exhaustivo sobre cómo se relacionan los diferentes conceptos.

Más información sobre deep learning.                                                               

Casos de uso de machine learning en el mundo real

Como se ha señalado al principio, machine learning está en todas partes. Aquí se exponen algunos ejemplos de machine learning que puede encontrar en su día a día:

  • Asistentes digitales: Apple Siri, Amazon Alexa, Google Assistant y otros asistentes digitales están basados en procesamiento de lenguaje natural (NLP), una aplicación de machine learning que permite a los sistemas procesar datos de texto y voz y "comprender" el lenguaje humano como las personas. El procesamiento de lenguaje natural también se utiliza en aplicaciones basadas en voz como el GPS y el software de reconocimiento de voz (de voz a texto).
  • Recomendaciones: los modelos de deep learning son los que generan las recomendaciones "a otros usuarios también les gusta" y "solo para ti" ofrecidas por Amazon, Netflix, Spotify y otros servicios comerciales, de entretenimiento, viajes, búsqueda de empleo y noticias.
  • Publicidad contextual en línea: los modelos de machine learning y deep learning pueden evaluar el contenido de una página web, no solo el tema, sino también matices como la opinión o actitud del autor, y presentar anuncios adaptados a los intereses del visitante.
  • Chatbots: los chatbots pueden utilizar una combinación de reconocimiento de patrones, procesamiento de lenguaje natural y redes neuronales profundas para interpretar el texto de entrada y proporcionar respuestas adecuadas.
  • Detección de fraude: los modelos de clasificación y regresión de machine learning han sustituido a los sistemas de detección de fraude basados en reglas, que presentan un alto número de falsos positivos al marcar el uso de tarjetas de crédito robadas y rara vez detectan con éxito el uso delictivo de datos financieros robados o comprometidos.
  • Ciberseguridad: machine learning puede extraer inteligencia de informes de incidentes, alertas, publicaciones de blogs y más, para identificar amenazas potenciales, asesorar a analistas de seguridad y acelerar la respuesta.
  • Análisis de imágenes médicas: los tipos y el volumen de datos de imágenes médicas digitales se han disparado, lo que genera más información disponible para dar soporte a los diagnósticos, pero también más oportunidad para el error humano en la lectura de los datos. Las redes neuronales convolucionales (CNN), las redes neuronales recurrentes (RNN) y otros modelos de deep learning han demostrado cada vez más éxito en la extracción de características e información de imágenes médicas para facilitar diagnósticos precisos.
  • Coches de conducción autónoma: los coches de conducción autónoma requieren un gran logro de machine learning, ya que deben identificar continuamente objetos en el entorno alrededor del coche, prever cómo van a cambiar o moverse y guiar el coche alrededor de los objetos, así como hacia el destino del conductor. Prácticamente todas las formas de algoritmo de machine learning y deep learning mencionados anteriormente desempeñan su papel en la habilitación de la conducción autónoma.

Machine learning e IBM Cloud

IBM Watson Machine Learning da soporte al ciclo de vida completo de machine learning. Está disponible en una gama de ofertas que le permiten crear modelos de machine learning en cualquier lugar donde residan sus datos y desplegarlos en cualquier lugar del entorno híbrido multicloud. 

IBM Watson Machine Learning en IBM Cloud Pak for Data ayuda a los equipos de IA y ciencia de datos de empresa a acelerar el desarrollo y el despliegue de IA en cualquier lugar, en una plataforma de datos e IA nativa en cloud. IBM Watson Machine Learning Cloud, un servicio gestionado en el entorno de IBM Cloud, es la forma más rápida de pasar modelos de la experimentación en el escritorio al despliegue para cargas de trabajo de producción. Para equipos más pequeños que buscan escalar los despliegues de machine learning, IBM Watson Machine Learning Server ofrece una instalación sencilla en cualquier cloud privado o público.

Para empezar, regístrese para obtener un ID de IBM y crear su cuenta de IBM Cloud.