O que é aprendizado de máquina?

¿Qué es el aprendizaje automático?

El aprendizaje automático y el aprendizaje profundo son la columna vertebral de la inteligencia artificial en la era actual. Aunque los investigadores todavía están encontrando su camino hacia la Inteligencia Artificial General (AGI), la Inteligencia Artificial Débil/Estrecha ya se ha ganado un lugar en todas las industrias importantes. Casi el 37 por ciento de las organizaciones utilizarán alguna forma de IA estrecha en 2021. La inteligencia artificial se ha vuelto más importante a raíz del Internet de las cosas (IoT). Hay principalmente dos áreas en las que la IA es altamente aplicable hoy en día. Uno de ellos son las plataformas y servicios en la nube, donde el servidor se carga con un gran volumen de Big Data y en él hay que realizar tareas redundantes y detalladas, lo que puede resultar muy tedioso o propenso a errores para un trabajador humano. En segundo lugar, una IA débil es posible en cosas (dispositivos de borde) donde la IA se implementa en un espacio pequeño, realizando tareas cognitivas específicas. Así como los sistemas integrados ocupan el 98% de la industria electrónica debido a sus aplicaciones para tareas específicas, se espera que la inteligencia artificial siga la misma tendencia. La mayor parte de la inteligencia artificial será aplicable en dispositivos de vanguardia que incluyen dispositivos IoT, aplicaciones para teléfonos inteligentes, aplicaciones de escritorio, dispositivos portátiles y equipos industriales.

Concepto de transformación digital de fondo cerebral de tecnología AI

Toda la IA limitada disponible en la actualidad son implementaciones de aprendizaje automático y aprendizaje profundo. El aprendizaje automático es un subcampo de la inteligencia artificial y el aprendizaje profundo es un subconjunto del aprendizaje automático. Si bien la IA abarca muchos campos y tecnologías diferentes en desarrollo para la Inteligencia General Artificial, el aprendizaje automático se centra en implementar una de las funciones cognitivas humanas importantes, que es el aprendizaje. El aprendizaje profundo es un subconjunto del aprendizaje automático, donde el aprendizaje automático se implementa en forma de redes neuronales artificiales (RNA) para que la máquina pueda aprender de los datos mismos en lugar de simplemente identificar patrones de datos o correlaciones entre datos y resultados. En este artículo, presentamos el concepto de aprendizaje automático y analizamos cómo empezar a utilizarlo.

El enfoque DATOS PRIMERO

El siglo XXI comenzó con el amanecer de una era de conectividad. Internet, las redes sociales, el comercio electrónico, el IoT, el IIoT y el análisis empresarial en línea han hecho que los datos sean tan importantes que los datos son el nuevo petróleo y la ciencia de los datos es el trabajo más candente del siglo. Todas las empresas y organizaciones tienen a su disposición una enorme cantidad de datos, ya que todo el mundo dispone de al menos uno o más dispositivos informáticos que están siempre conectados a Internet. Este dispositivo puede ser una computadora/portátil, un teléfono inteligente, un dispositivo portátil o un dispositivo IoT. Las empresas y organizaciones necesitan obtener rápidamente información valiosa a partir de cantidades masivas de datos en tiempo real.

“Así que los datos están en todas partes”

En segundo lugar, un área de la inteligencia artificial está involucrada en la replicación de los sentidos humanos. Por ejemplo, la visión humana se reproduce en forma de visión por computadora. El habla se produce mediante el procesamiento del lenguaje natural y la comprensión del lenguaje natural. Y no sólo los sentidos naturales, las máquinas necesitan lidiar con muchos otros tipos de información, como datos comerciales, datos del usuario, comportamiento del usuario, datos de sensores, datos de navegación, etc.

“Así que todo lo que nos rodea son datos”

El aprendizaje automático ha evolucionado como una tecnología para tomar decisiones basadas en datos, donde las propias máquinas deben aprender de los datos y aplicar el razonamiento humano de forma independiente. El objetivo es permitir que las máquinas deriven sus programas para el procesamiento de datos basándose en la ingesta y comprensión de los datos entrantes. A diferencia de la teoría informática tradicional, donde las computadoras son máquinas aburridas que implementan programas definidos por el usuario, el aprendizaje automático visualiza a las computadoras y las máquinas como receptores naturales de datos, utilizando esos datos para tomar decisiones basadas en datos por sí mismas sin ningún programa definido por el usuario ni intervención humana. intervención. .

De esta manera, las máquinas podrían obtener información valiosa y realizar acciones de forma independiente, convirtiéndolas en criaturas autónomas con capacidades cognitivas similares a las humanas. Infundir inteligencia similar a la humana en el procesamiento de datos autónomo permitirá tomar decisiones a escala basadas en datos. Con la dependencia de programas definidos por el usuario y la participación de software humano, nunca se podrá lograr la escalabilidad en tareas detalladas y con uso intensivo de datos.

Aprendizaje automático versus programación informática

El aprendizaje automático es un enfoque completamente diferente a la teoría de la computación en sí. Las computadoras tradicionales son circuitos digitales con un conjunto definido de instrucciones y operaciones. Las computadoras deben ser programadas por un usuario para realizar cualquier tarea informática útil. Un programa es, de forma nativa, una secuencia de instrucciones sobre datos recibidos. Es el programa el que decide el resultado de los datos. En general, la computadora actúa como un procesador de datos en la informática tradicional.

El aprendizaje automático adopta un enfoque muy diferente. En el aprendizaje automático, la computadora no es un procesador de datos. Más bien, es un observador de datos. La máquina recibe acceso a los datos y sus resultados e intenta inferir patrones inherentes a los datos entrantes y todas las correlaciones posibles entre los datos y sus resultados. Al deducir patrones de datos y la relación entre los datos y sus resultados, la máquina diseña un modelo con la ayuda de un algoritmo de aprendizaje automático. El modelo es equivalente a un programa que predice nuevos valores posibles de datos o posibles resultados de los datos entrantes basándose en la experiencia de observaciones de datos anteriores. El algoritmo de aprendizaje automático es un software definido por el usuario para derivar el modelo y deducir el propio programa de procesamiento de datos. Con la ayuda de un algoritmo de aprendizaje automático, la computadora puede procesar datos futuros sin ninguna programación explícita ni intervención humana. Aquí, la propia computadora se convierte en un programador de datos.
El aprendizaje automático se aplica a menudo para imitar funciones cognitivas específicas. Estas funciones en el paradigma de la programación se conocen como Tareas de Aprendizaje Automático. Con una tarea determinada, un algoritmo de aprendizaje automático requiere algunos datos históricos o datos en tiempo real para aprender o entrenar el modelo.

Los datos se pueden alimentar desde una base de datos, archivos planos, registros o entradas/flujos en tiempo real. Los datos pueden estar etiquetados, es decir, los atributos o propiedades de los datos ya están definidos, o pueden estar sin etiquetar, es decir, no están predefinidos ni tabulados con atributos o propiedades. Normalmente, la tarea depende de la naturaleza de los datos mismos. Si los datos recibidos son factuales, la tarea debe estar relacionada con la identificación, reconocimiento, clasificación o extracción de características. Un ejemplo clásico de este tipo de datos es el caso de la visión por computadora y el procesamiento del lenguaje natural. Una máquina está entrenada para identificar, reconocer, clasificar o extraer características de una imagen o video en visión por computadora.

Si los datos entrantes son variables o dinámicos, la tarea debe estar relacionada con predecir valores futuros, encontrar anomalías o predecir los resultados de los datos. Por ejemplo, en el comercio algorítmico, un modelo de aprendizaje automático predice el valor futuro de una acción, criptomoneda, materia prima o tipo de cambio. De manera similar, se entrena una máquina para identificar palabras, frases y sus implicaciones en el procesamiento del lenguaje natural.

Para el aprendizaje automático, los datos en sí son suficientes o, a veces, se necesitan datos y resultados. Todo depende de la tarea que implementará el algoritmo de aprendizaje automático. Es posible que todos los resultados sean desconocidos y deban ser predichos por el propio modelo. Por ejemplo, es posible que un algoritmo para identificar las preferencias de compra del cliente nunca sepa qué artículos comprará el cliente esta vez. Sin embargo, puede predecir una lista de compras basándose únicamente en las transacciones de compras anteriores del cliente.

¿Qué es el aprendizaje automático?

La idea del aprendizaje automático se remonta a la Máquina Universal de Turing de Alan Turing, conceptualizada en 1935. Desde entonces, ha habido varias hazañas y logros en este campo, y la definición de aprendizaje automático también ha evolucionado a lo largo de los años. Arthur Samuel da una definición generalmente aceptada de aprendizaje automático:
"El aprendizaje automático es el campo de estudio que brinda a las computadoras la capacidad de aprender sin ser programadas explícitamente".

Durante las últimas dos décadas, el aprendizaje automático ha visto muchas implementaciones prácticas en forma de IA limitada. Por lo tanto, ahora se acepta ampliamente una definición más específica de aprendizaje automático de Tom Mitchell. Define el aprendizaje automático de la siguiente manera.
"Se dice que un programa de computadora aprende de la experiencia E con respecto a alguna clase de tareas T y medida de desempeño P, si su desempeño en las tareas en T, medido por P, mejora con la experiencia E. "
El aprendizaje automático se aplica e implementa en un algoritmo de aprendizaje para entrenar un modelo de aprendizaje automático. Como se desprende claramente de la propia definición:
1. El modelo está destinado a realizar alguna tarea específica T que requiere un razonamiento o análisis similar al humano.
2. El modelo se entrena a sí mismo con la experiencia E, donde se obtiene experiencia de los datos entrantes para identificar patrones de datos o correlacionar datos y sus resultados.
3. El modelo mejora su rendimiento P a medida que aumenta su experiencia, ya que puede predecir mejor los patrones de datos y los posibles resultados al estudiar los datos y/o los resultados.

Donde el aprendizaje automático es útil

Actualmente, el aprendizaje automático es más útil en aplicaciones limitadas de IA. En estas aplicaciones, el aprendizaje automático se aplica a tareas específicas que requieren habilidades cognitivas humanas. El aprendizaje automático es aplicable en varios escenarios donde desarrollar y mantener programas definidos por el usuario para las mismas tareas puede no ser factible o rentable. En primer lugar, el aprendizaje automático es más adecuado para tareas con uso intensivo de datos que implican una gran escala de procesamiento de datos redundante y orientado a los detalles. Los humanos no pueden procesar datos a la velocidad de las computadoras, y las computadoras no pueden aplicar la inteligencia natural al procesamiento de datos con programas tradicionales definidos por el usuario.

En segundo lugar, el aprendizaje automático es más adecuado para datos y sistemas que cambian dinámicamente con el tiempo. Los usuarios humanos no pueden monitorear estos sistemas y aplicaciones dentro de límites de tiempo aceptables y requieren que la computadora implemente cierta inteligencia sobre los datos y sus posibles resultados. Por ejemplo, un proveedor de servicios de Internet puede utilizar el aprendizaje automático para monitorear y garantizar la conectividad de la red para sus clientes, en lugar de que un trabajador humano pruebe manualmente cada conexión.

En tercer lugar, el aprendizaje automático es valioso cuando la experiencia o intervención humana no está disponible o no es posible. Por ejemplo, una nave espacial enviada a un planeta diferente no puede depender de la intervención humana para recorrer su camino. Básicamente, necesita aprender observando su entorno. El aprendizaje automático también es útil en áreas donde la experiencia humana no se puede aplicar inmediatamente a tareas computacionales o donde la informática requiere explícitamente conocimientos de un dominio específico, como la visión por computadora, el reconocimiento de voz y la traducción automática de idiomas.

Comprender las tareas de aprendizaje automático

Los algoritmos de aprendizaje automático están diseñados para entrenar un modelo en el que el modelo debe realizar una tarea cognitiva específica. Las técnicas de aprendizaje automático se dividen en tres categorías amplias, como se muestra a continuación.
1. Aprendizaje automático supervisado
2. Aprendizaje automático no supervisado
3. Aprendizaje automático de refuerzo
En el aprendizaje supervisado, la máquina recibe datos etiquetados donde los atributos o propiedades se definen explícitamente para los puntos de datos. Algunos ejemplos de tareas de aprendizaje automático en el aprendizaje supervisado son los siguientes.

1. Clasificación: en esta tarea, la máquina requiere clasificar o categorizar puntos de datos según los atributos adjuntos. Necesita identificar atributos comunes y diferentes y asignar clases o categorías a los puntos de datos disponibles en consecuencia. Por ejemplo, se puede entrenar un modelo de aprendizaje automático para clasificar vehículos en un peaje o clasificar artículos en un supermercado. Los algoritmos de aprendizaje automático comunes que se aplican para la clasificación son la regresión logística, los K vecinos más cercanos, el árbol de decisión, Naive Bayes y la máquina de vectores de soporte.

2. Regresión: la tarea que requiere la máquina para predecir un resultado numérico para determinados puntos de datos etiquetados. Por ejemplo, es posible que un modelo de aprendizaje automático necesite predecir el precio de las casas en función de su área, ubicación y arquitectura. Los algoritmos de aprendizaje automático comunes que se aplican para la regresión son la regresión multilineal, el árbol de decisión y la máquina de vectores de soporte.

En el aprendizaje no supervisado, los datos no están etiquetados con atributos o propiedades. La propia máquina necesita predecir etiquetas para los puntos de datos. Algunos ejemplos de tareas de aprendizaje automático en aprendizaje no supervisado son los siguientes.

1. Detección de anomalías: en esta tarea, la máquina debe identificar patrones de datos o eventos inusuales basándose en la experiencia de algunos datos históricos. Por ejemplo, se puede aplicar un modelo de aprendizaje automático para detectar correo no deseado, identificar transacciones fraudulentas o identificar ataques de piratas informáticos a un sistema de ciberseguridad. Los algoritmos de aprendizaje automático comunes utilizados para la detección de anomalías son el factor de valores atípicos locales, los vecinos K más cercanos, la envolvente elíptica, el diagrama de caja, el DBSCAN, el bosque de aislamiento, las máquinas de vectores de soporte y la puntuación Z.

2. Anotación estructurada: en esta tarea, la máquina agrega metadatos estructurados, como anotaciones, a los puntos de datos dados para obtener información adicional o relaciones entre muestras de datos. Por ejemplo, se puede aplicar un modelo de aprendizaje automático para agregar metaetiquetas a partes de algunas imágenes, indicando características extraídas como lugares, personas u objetos en las imágenes. Las herramientas de anotación de datos populares incluyen Annotell, V7 Lab Darwin, Lighttag, Hasty, Dataloop AI, Hivemind, Deepen AI y Datasaur AI.

3. Traducción: En esta tarea, una máquina requiere identificar el idioma de un texto determinado y traducirlo a otro idioma. Para el procesamiento del lenguaje natural se utilizan algoritmos de aprendizaje automático supervisados ​​y no supervisados. Algunos de los algoritmos estándar de aprendizaje automático supervisado aplicados a la PNL son la máxima entropía, la red bayesiana, el campo aleatorio condicional, las máquinas de vectores de soporte y las redes neuronales. Las redes neuronales recurrentes se utilizan a menudo para la traducción de idiomas. Las técnicas de aprendizaje no supervisadas comunes utilizadas para la PNL son la indexación semántica latente y la factorización matricial.

4. Agrupación: en esta tarea, la máquina necesita organizar muestras de datos en agrupaciones/grupos observando sus patrones, similitudes, diferencias y relaciones latentes inherentes. Por ejemplo, un modelo de aprendizaje automático puede requerir agrupar productos identificando sus características y especificaciones. Algunos de los algoritmos de aprendizaje automático comunes aplicados para la agrupación en clústeres incluyen agrupación espectral, K-Means, propagación de afinidad, DBSCAN, OPTICS, Mean Shift, BIRCH, agrupación aglomerativa y K-Means mini-batch.

5. Visión por computadora: en esta tarea, una máquina puede requerir clasificar imágenes, realizar segmentación, extraer y anotar características y realizar detección de movimiento. Muchos algoritmos de aprendizaje automático se aplican a diferentes aspectos de la visión por computadora. Los algoritmos de aprendizaje automático comunes utilizados en visión por computadora son SURF, SIFT, algoritmo Viola-Jones, algoritmo Lucas-Kanade, Mean Shift, KNN y Naive Bayes.

6. Transcripciones: en esta tarea, una máquina debe segregar datos continuos no estructurados en datos estructurados discretos. Algunos de los ejemplos de transcripción incluyen el reconocimiento óptico de caracteres, la extracción de texto de imágenes y motores de conversión de voz a texto.

En el aprendizaje por refuerzo, la máquina se basa en la retroalimentación de un agente para aprender de los datos. En este tipo de aprendizaje automático, la máquina observa continuamente los datos y sus resultados en el entorno circundante para predecir resultados futuros. Algunos de los modelos de aprendizaje por refuerzo más populares incluyen el proceso de decisión de Markov y el Q-Learning.

Comprender la experiencia del aprendizaje automático

En el aprendizaje automático, la experiencia se refiere a la ingesta de puntos de datos o muestras de datos. El modelo observa muestras de datos para identificar el patrón de los datos entrantes o reconocer la relación entre los datos y sus resultados. El modelo puede consumir el conjunto de datos de una sola vez en forma de datos históricos o pueden ser datos en tiempo real adquiridos durante un tiempo. El modelo puede consumir muestras de datos en cualquier momento. Es un proceso iterativo que idealmente nunca termina. La adquisición de muestras de datos mediante un modelo de aprendizaje automático se denomina entrenar el modelo. La forma en que el modelo aprende de la experiencia es una característica del algoritmo de aprendizaje automático.

Comprender el rendimiento del aprendizaje automático

Un modelo aprende de la experiencia para mejorar su desempeño en una tarea determinada. El rendimiento se puede medir utilizando indicadores como exactitud, sensibilidad, precisión, especificidad, recuperación, tasa de clasificación errónea, tasa de error, puntuación F1, etc. Los indicadores de rendimiento específicos aplicables a una tarea dependen del algoritmo de aprendizaje automático aplicado. Los indicadores de rendimiento se pueden evaluar en conjuntos de datos de entrenamiento o en muestras de datos recientes, lo que se denomina validación y prueba.

Introducción al aprendizaje automático

El aprendizaje automático es la tecnología más avanzada en este momento. A menudo resulta confuso para los principiantes cómo iniciar el aprendizaje automático. Es fácil comenzar con el aprendizaje automático con los siguientes tres pasos.

1. Elija un lenguaje de programación para el aprendizaje automático: el primer paso para comenzar con el aprendizaje automático es elegir un lenguaje de programación. La selección del lenguaje de programación depende de la aplicación para la que se requiere el aprendizaje automático. Los lenguajes de programación comunes para implementar el aprendizaje automático son Python, R, JavaScript, C/C++, Java, Scala y Go.

Se prefiere Python en desarrollo web, análisis de datos, desarrollo de juegos y desarrollo de aplicaciones de escritorio. R es específicamente útil para análisis estadístico y computación científica. Julia es otro lenguaje de programación preferido para aplicar el aprendizaje automático a la informática científica. JavaScript es el lenguaje de programación preferido para el aprendizaje automático en el desarrollo web front-end, el desarrollo de juegos y el desarrollo de aplicaciones móviles, ya que admite el desarrollo completo. Se prefiere C/C++ para aplicar el aprendizaje automático a sistemas integrados, software de sistemas, robótica y ciberseguridad. Java se utiliza para aplicar el aprendizaje automático a aplicaciones móviles, aplicaciones del lado del servidor y aplicaciones de back-end. Scala es preferible a Java cuando se trata de Big Data. Go le ayuda a aplicar el aprendizaje automático a plataformas y servicios en la nube.

Python es el mejor lenguaje de programación para que los principiantes comiencen a explorar el aprendizaje automático.

2. Aprender a utilizar herramientas y paquetes del lenguaje de programación elegido: Cada lenguaje de programación tiene sus herramientas y bibliotecas para implementar algoritmos de aprendizaje automático. Después de seleccionar un lenguaje de programación, necesita aprender herramientas y bibliotecas aplicables al aprendizaje automático.

3. Explore los algoritmos de aprendizaje automático: una vez familiarizado con las herramientas y paquetes específicos del lenguaje, explore diferentes algoritmos de aprendizaje automático para entrenar modelos para aplicaciones de la vida real.

Conclusión

El aprendizaje automático es fascinante. Se puede implementar en varios lenguajes de programación, donde se puede preferir un lenguaje de programación según la aplicación prevista. Sin embargo, no existe mejor lenguaje de programación para aplicar el aprendizaje automático. Python es el lenguaje preferido para iniciarse en el aprendizaje automático. Se puede utilizar fácilmente en cualquier computadora de escritorio o incluso en computadoras de placa única. Para aplicar el aprendizaje automático a aplicaciones de microcontroladores, se debe preferir C/C++ con herramientas como TinyML.

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.