¿Debo aprender ahora … o más tarde? El aprendizaje es una habilidad y un rasgo universal que es adquirido por cualquier organismo vivo en este planeta.
El aprendizaje se define por: la adquisición de conocimientos o habilidades a través de la experiencia, el estudio o la enseñanza. Ya sea una planta que aprende a responder a la luz y la temperatura, un mono que aprende a pelar un plátano o nosotros, los humanos, que aprendemos a montar en bicicleta.
Pero, ¿y si dijera: «Las máquinas también pueden aprender»
Estamos en la era en que las máquinas no son diferentes. El aprendizaje automático sigue siendo un concepto bastante nuevo. Podemos enseñar a las máquinas a aprender y algunas máquinas incluso pueden aprender por sí mismas. Este fenómeno mágico se llama Machine Learning.
Este artículo proporcionará algunas ideas útiles y abrirá tu mente a lo que las computadoras pueden hacer hoy en día. No profundizaré en lo que es el aprendizaje automático, sino más bien en una descripción general de alto nivel.
Indice
¿Qué es Machine Learning?
El aprendizaje automático (Machine Learning) es un campo de la informática que tiene como objetivo enseñar a las computadoras cómo aprender y actuar sin ser programado explícitamente.
Más específicamente, el aprendizaje automático es un enfoque para el análisis de datos que implica construir y adaptar modelos, que permiten a los programas «aprender» a través de la experiencia. El aprendizaje automático implica la construcción de algoritmos que adaptan sus modelos para mejorar su capacidad de hacer predicciones.
Los primeros usos y debates sobre el aprendizaje automático se remontan a la década de 1950 y su adopción ha aumentado dramáticamente en los últimos 10 años.
Las aplicaciones comunes del aprendizaje automático incluyen el reconocimiento de imágenes, el procesamiento del lenguaje natural, el diseño de inteligencia artificial, la tecnología de automóviles autónomos y el algoritmo de búsqueda web de Google.
Machine Learning vs. Inteligencia artificial
Vale la pena enfatizar la diferencia entre el aprendizaje automático y la inteligencia artificial. El aprendizaje automático es un área de estudio dentro de la informática y un enfoque para diseñar algoritmos.
Este enfoque para el diseño de algoritmos permite la creación y el diseño de programas y máquinas artificialmente inteligentes.
La inteligencia artificial (IA) es la inteligencia exhibida por las máquinas. En ciencias de la computación, el campo de la investigación de IA se define a sí mismo como el estudio de «agentes inteligentes»: cualquier dispositivo que perciba su entorno y tome medidas que maximicen sus posibilidades de éxito en algún objetivo. Coloquialmente, el término «inteligencia artificial» se aplica cuando una máquina imita las funciones «cognitivas» que los humanos asocian con otras mentes humanas, como «aprendizaje» y «resolución de problemas».
El aprendizaje automático es el subcampo de la informática que brinda a las «computadoras la capacidad de aprender sin ser programadas explícitamente». Evolucionado del estudio del reconocimiento de patrones y la teoría del aprendizaje computacional en inteligencia artificial, el aprendizaje automático explora el estudio y la construcción de algoritmos que pueden aprender y hacer predicciones sobre los datos: dichos algoritmos se superan siguiendo instrucciones estrictamente estáticas del programa al hacer predicciones o decisiones basadas en datos, mediante la construcción de un modelo a partir de entradas de muestra.
Aplicaciones y ejemplos de aprendizaje automático
El aprendizaje automático es un área de estudio y un enfoque para la resolución de problemas. Y hay muchas aplicaciones diferentes a las que se pueden aplicar los métodos de aprendizaje automático. A continuación se presentan algunas de las muchas aplicaciones de las estrategias y métodos de aprendizaje automático:
Procesamiento natural del lenguaje
El procesamiento del lenguaje natural (PNL) es un campo de la informática que se ocupa principalmente de las interacciones entre las computadoras y los lenguajes naturales (humanos).
Los principales énfasis del procesamiento del lenguaje natural incluyen el reconocimiento del habla, la comprensión del lenguaje natural y la generación del lenguaje natural . Los métodos de aprendizaje automático se pueden aplicar a cada una de estas áreas.
Análisis de reclamaciones de seguros
La industria de seguros está aplicando el aprendizaje automático de varias maneras. Lo más interesante es que varias compañías están utilizando algoritmos de aprendizaje automático para hacer predicciones sobre futuras reclamaciones que se utilizan para fijar el precio de las primas de seguros.
Además, algunas compañías en las industrias de seguros y banca están utilizando el aprendizaje automático para detectar el fraude.
Bioinformática y diagnóstico médico
La cantidad de datos biológicos que compilan los científicos de investigación está creciendo a un ritmo exponencial. Esto ha provocado problemas con el almacenamiento y la gestión de datos eficientes, así como con la capacidad de extraer información útil de estos datos.
Actualmente, se están desarrollando métodos de aprendizaje automático para almacenar datos biológicos de manera eficiente y útil, así como para extraer de manera inteligente el significado de los datos almacenados.
También se están haciendo esfuerzos para aplicar el aprendizaje automático y las técnicas de reconocimiento de patrones a los registros médicos para clasificar y comprender mejor diversas enfermedades.
También se espera que estos enfoques ayuden a diagnosticar la enfermedad al identificar los segmentos de la población que tienen mayor riesgo de contraer ciertas enfermedades.
Procesamiento de imágenes y reconocimiento de patrones
Usar computadoras para identificar patrones e identificar objetos dentro de imágenes, vídeos y otros archivos multimedia es mucho menos práctico sin las técnicas de aprendizaje automático. Escribir programas para identificar objetos dentro de una imagen no sería muy práctico si fuera necesario escribir un código específico para cada objeto que desea identificar.
En cambio, los algoritmos de reconocimiento de imágenes, también llamados clasificadores de imágenes, pueden ser entrenados para clasificar imágenes en función de su contenido.
Estos algoritmos se entrenan procesando muchas imágenes de muestra que ya se han clasificado. Utilizando las similitudes y diferencias de las imágenes que ya han procesado, estos programas mejoran al actualizar sus modelos cada vez que procesan una nueva imagen.
Esta forma de aprendizaje automático utilizada en el procesamiento de imágenes generalmente se realiza mediante una red neuronal artificial y se conoce como aprendizaje profundo (Deep Learning).
Los motores de búsqueda
La búsqueda web también se beneficia del uso del aprendizaje profundo al usarlo para mejorar los resultados de búsqueda y comprender mejor las consultas de los usuarios.
Al analizar el comportamiento del usuario frente a la consulta y los resultados atendidos, las compañías como Google pueden mejorar sus resultados de búsqueda y comprender cuáles son los mejores resultados para una consulta determinada.
Las sugerencias de búsqueda y las correcciones ortográficas también se generan mediante el uso de tácticas de aprendizaje automático en consultas agregadas de todos los usuarios.
Análisis del mercado financiero
El comercio algorítmico y el análisis de mercado se han convertido en usos principales del aprendizaje automático y la inteligencia artificial en los mercados financieros.
Los gestores de fondos ahora confían en algoritmos de aprendizaje profundo para identificar cambios en las tendencias e incluso ejecutar operaciones.
Los fondos y los comerciantes que usan este enfoque automatizado hacen que las transacciones sean más rápidas de lo que podrían si estuvieran tomando un enfoque manual para detectar tendencias y realizar transacciones.
Aplicaciones adicionales de aprendizaje automático
El aprendizaje automático, debido a que es simplemente un enfoque científico para la resolución de problemas, tiene aplicaciones casi ilimitadas.
Además de las aplicaciones anteriores, el uso de técnicas de aprendizaje automático también se puede ver en las ciencias genéticas para la clasificación de secuencias de ADN, en la banca para la detección de fraudes, en la publicidad en línea para la perfección de la orientación de anuncios, y en muchas otras industrias para mejorar la eficiencia y la capacidad de procesamiento de los datos.
¿Cómo funciona el aprendizaje automático?
Claramente, hay muchas maneras en que el aprendizaje automático se está utilizando hoy en día.
¿Pero cómo se usa? ¿Qué están haciendo estos programas para resolver los problemas de manera más efectiva? ¿Cómo difieren estos enfoques de los métodos históricos para resolver problemas?
Como se indicó anteriormente, el aprendizaje automático es un campo de la informática que tiene como objetivo dar a las computadoras la capacidad de aprender sin ser programadas explícitamente. El enfoque o algoritmo que utiliza un programa para «aprender» dependerá del tipo de problema o tarea que el programa está diseñado para completar.
Entonces, una buena manera de entender cómo funciona el aprendizaje automático es comprender qué tipos de problemas intenta resolver el aprendizaje automático y luego ver cómo intenta resolver esos problemas.
Primero, una lista de los tipos de problemas que el aprendizaje automático tiene como objetivo resolver:
Tipos de tareas de aprendizaje automático
Todos los algoritmos de aprendizaje automático tienen como objetivo aprender y mejorar su precisión a medida que procesan más conjuntos de datos.
Una forma en que podemos clasificar las tareas que resuelven los algoritmos de aprendizaje automático es por la cantidad de comentarios que presentan al sistema.
En algunos escenarios, se proporciona a la computadora una cantidad significativa de datos de entrenamiento etiquetados, lo que se denomina aprendizaje supervisado. En otros casos, no se proporcionan datos etiquetados y esto se conoce como aprendizaje no supervisado. Por último, en el aprendizaje semi-supervisado, se proporcionan algunos datos de entrenamiento etiquetados, pero la mayoría de los datos de entrenamiento no están etiquetados.
Repasemos cada tipo con más detalle:
Aprendizaje supervisado
El aprendizaje supervisado es la forma más práctica y ampliamente adoptada de aprendizaje automático. Implica crear una función matemática que relacione las variables de entrada con las variables de salida preferidas.
Se proporciona una gran cantidad de conjuntos de datos de entrenamiento etiquetados que proporcionan ejemplos de los datos que la computadora procesará.
Las tareas de aprendizaje supervisadas pueden clasificarse además como problemas de «clasificación» o «regresión».
Los problemas de clasificación utilizan métodos de clasificación estadística para generar una categorización. Los problemas de regresión, por otro lado, utilizan el análisis de regresión estadística para proporcionar resultados numéricos.
Aprendizaje semi-supervisado
El aprendizaje semi-supervisado es en realidad lo mismo que el aprendizaje supervisado, excepto por los datos de capacitación proporcionados, solo se etiqueta una cantidad limitada.
El reconocimiento de imágenes es un buen ejemplo de aprendizaje semi-supervisado. En este ejemplo, podríamos proporcionarle al sistema varias imágenes etiquetadas que contienen objetos que deseamos identificar, y luego procesar muchas más imágenes sin etiquetar en el proceso de capacitación.
Aprendizaje sin supervisión
En los problemas de aprendizaje no supervisados, todas las entradas no están etiquetadas y el algoritmo debe crear una estructura a partir de las entradas por sí solo.
Los problemas de agrupación son tareas de aprendizaje sin supervisión que buscan descubrir agrupaciones dentro de los conjuntos de datos de entrada. Ejemplos de esto podrían ser patrones en datos bursátiles o tendencias de consumo. Las redes neuronales también se usan comúnmente para resolver problemas de aprendizaje no supervisados.
Algoritmos de aprendizaje automático y enfoques para la resolución de problemas
Un algoritmo es un enfoque para resolver un problema, y el aprendizaje automático ofrece muchos enfoques diferentes para resolver una amplia variedad de problemas.
A continuación se muestra una lista de algunos de los algoritmos y enfoques más comunes y útiles utilizados en las aplicaciones de aprendizaje automático en la actualidad. Ten en cuenta que las aplicaciones a menudo utilizarán muchos de estos enfoques juntos para resolver un problema dado:
Redes neuronales artificiales
Una red neuronal artificial es un modelo computacional basado en redes neuronales biológicas, como el cerebro humano.
Utiliza una serie de funciones para procesar una señal de entrada o archivo y traducirlo en varias etapas a la salida esperada.
Este método se usa a menudo en el reconocimiento de imágenes, la traducción de idiomas y otras aplicaciones comunes en la actualidad.
Aprendizaje profundo
El aprendizaje profundo se refiere a una familia de algoritmos de aprendizaje automático que hacen un uso intensivo de las redes neuronales artificiales.
En 2016 Google Tech Talk describe los algoritmos de aprendizaje profundo como el uso de redes neuronales muy profundas, donde «profundo» se refiere al número de capas o iteraciones entre la entrada y la salida.
A medida que la potencia informática se está volviendo menos costosa, los algoritmos de aprendizaje en las aplicaciones actuales se están volviendo «más profundos».
Análisis de conglomerados
Un análisis de conglomerado intenta agrupar objetos en «conglomerados» de elementos que son más similares entre sí que los elementos de otros conglomerados. La forma en que los elementos son similares depende de las entradas de datos que se proporcionan al programa de computadora.
Debido a que los análisis de conglomerados se usan con mayor frecuencia en problemas de aprendizaje no supervisados, no se brinda capacitación.
El programa utilizará los puntos de datos que se proporcionan para describir cada objeto de entrada y comparar los valores con los datos sobre los objetos que ya ha analizado. Una vez que se han analizado suficientes objetos para detectar agrupaciones en puntos de datos y objetos, el programa puede comenzar a agrupar objetos e identificar grupos.
La agrupación no es en realidad un algoritmo específico; de hecho, hay muchas rutas diferentes para realizar un análisis de clúster. Es una tarea común en el análisis estadístico y la minería de datos.
Redes Bayesianas
Una red bayesiana es un modelo gráfico de variables y sus dependencias entre sí. Los algoritmos de aprendizaje automático pueden usar una red bayesiana para construir y describir su sistema de creencias.
Un ejemplo en el que se utilizan redes bayesianas es en programas diseñados para calcular la probabilidad de enfermedades determinadas. Los síntomas pueden tomarse como entrada y la probabilidad de salida de enfermedades.
Aprendizaje reforzado
El aprendizaje reforzado se refiere a un área de aprendizaje automático donde la retroalimentación proporcionada al sistema se presenta en forma de recompensas y castigos, en lugar de ser expresada explícitamente, «correcta» o «incorrecta».
Esto entra en juego cuando es importante encontrar la respuesta correcta, pero también es importante encontrarla de manera oportuna.
Por lo tanto, un gran elemento del aprendizaje de refuerzo es encontrar un equilibrio entre «exploración» y «explotación».
¿Con qué frecuencia debe el programa «explorar» en busca de nueva información en lugar de aprovechar la información que ya tiene disponible?
Al «recompensar» al agente de aprendizaje por comportarse de una manera deseable, el programa puede optimizar su enfoque para lograr el mejor equilibrio entre exploración y explotación.
Decisión del árbol de aprendizaje
El árbol de decisiones de aprendizaje es un enfoque de aprendizaje automático que procesa entradas utilizando una serie de clasificaciones que conducen a una salida o respuesta.
Típicamente, tales árboles de decisión, o árboles de clasificación, generan una respuesta discreta; sin embargo, usando árboles de regresión, la salida puede tomar valores continuos (generalmente un número real).
Aprendizaje automático basado en reglas
El aprendizaje automático basado en reglas se refiere a una clase de métodos de aprendizaje automático que genera «reglas» para analizar modelos, aplica esas reglas mientras analiza modelos y adapta las reglas para mejorar el rendimiento.
Esta técnica se utiliza en sistemas inmunes artificiales y para crear algoritmos asociados de aprendizaje de reglas, que se analiza a continuación.
Aprendizaje de reglas de asociación
El aprendizaje de reglas de asociación es un método de aprendizaje automático centrado en identificar relaciones entre variables en una base de datos.
Un ejemplo de aprendizaje de reglas de asociación aplicadas es el caso en el que los vendedores utilizan grandes conjuntos de datos de transacciones de supermercados para determinar las correlaciones entre las diferentes compras de productos. Por ejemplo, «los clientes que compran encurtidos y lechuga también pueden comprar queso en rodajas».
Se pueden descubrir correlaciones o «reglas de asociación» como esta mediante el aprendizaje de reglas de asociación.
Programación Lógica Inductiva
Para comprender la programación lógica inductiva, es importante comprender primero la «programación lógica». La programación lógica es un paradigma en la programación de computadoras en el que los programas se escriben como un conjunto de expresiones que establecen hechos o reglas.
Entendiendo que la» programación lógica «gira en torno al uso de un conjunto de reglas lógicas, podemos comenzar a comprender la programación lógica inductiva.
La programación lógica inductiva es un área de investigación que utiliza el aprendizaje automático y la programación lógica. En los problemas de ILP, los conocimientos previos que utiliza el programa se recuerdan como un conjunto de reglas lógicas, que el programa utiliza para derivar su hipótesis para resolver problemas.
Las aplicaciones de la programación lógica inductiva de hoy se pueden encontrar en el procesamiento del lenguaje natural y la bioinformática.
Máquinas de vectores de soporte
Las máquinas de vectores de soporte son una herramienta de aprendizaje supervisado comúnmente utilizada en problemas de clasificación y regresión.
Se le puede pedir a un programa de computadora que use máquinas de vectores de soporte que clasifique una entrada en una de dos clases. El programa contará con ejemplos de capacitación de cada clase que pueden representarse como modelos matemáticos trazados en un espacio multidimensional.
El programa traza representaciones de cada clase en el espacio multidimensional e identifica un «hiperplano» o límite que separa cada clase.
Cuando se analiza una nueva entrada, su salida caerá en un lado de este hiperplano. El lado del hiperplano donde se encuentra la salida determina de qué clase es la entrada. Este hiperplano es la máquina de vectores de soporte.
Aprendizaje de representación
El aprendizaje de representación, también llamado aprendizaje de características, es un conjunto de técnicas dentro del aprendizaje automático que permite al sistema crear automáticamente representaciones de objetos que les permitirán reconocer y detectar características y luego distinguir diferentes objetos.
Por lo tanto, las características también se utilizan para realizar análisis después de que el sistema las identifica.
El aprendizaje de características es muy común en los problemas de clasificación de imágenes y otros medios.
Debido a que las imágenes, los vídeos y otros tipos de señales no siempre tienen modelos matemáticamente convenientes, generalmente es beneficioso permitir que el programa de computadora cree su propia representación con la cual realizar el siguiente nivel de análisis.
Aprendizaje de similitud
El aprendizaje de similitud es un método de aprendizaje de representación y un área de aprendizaje supervisado que está muy relacionada con la clasificación y la regresión.
Sin embargo, el objetivo de un algoritmo de aprendizaje de similitud es identificar cuán similares o diferentes son dos o más objetos, en lugar de simplemente clasificar un objeto.
Esto tiene muchas aplicaciones diferentes hoy en día, incluido el reconocimiento facial en teléfonos, sistemas de clasificación / recomendación y verificación de voz.
Sparse Dictionary Learning
El escaso aprendizaje del diccionario es simplemente la intersección del aprendizaje del diccionario y la escasa representación, o la escasa codificación.
El programa de computadora tiene como objetivo construir una representación de los datos de entrada, que se llama diccionario. Al aplicar principios de representación dispersos, los algoritmos de aprendizaje de diccionarios dispersos intentan mantener el diccionario más sucinto posible que pueda completar la tarea de manera efectiva.
Algoritmos Genéticos y Evolutivos
Aunque el aprendizaje automático ha sido muy útil para estudiar el genoma humano y las áreas relacionadas de la ciencia, la frase «algoritmos genéticos» se refiere a una clase de algoritmos de aprendizaje automático y al enfoque que adoptan para resolver problemas, y no a las aplicaciones genéticas relacionadas con la máquina.
Los algoritmos genéticos en realidad se inspiran en el proceso biológico de la selección natural. Estos algoritmos usan equivalentes matemáticos de mutación, selección y cruce para construir muchas variaciones de posibles soluciones.
Historia del Machine Learning
El aprendizaje automático ofrece a los humanos una enorme cantidad de beneficios hoy en día, y el número de usos para el aprendizaje automático está creciendo más rápido que nunca.
Sin embargo, ha sido un largo viaje para que el aprendizaje automático llegara a donde se encuentra actualmente.
Historia temprana y la base de la investigación
El término «aprendizaje automático» fue inventado por el pionero de la inteligencia artificial y los juegos de computadora Arthur Samuel en 1959. Sin embargo, Samuel en realidad escribió el primer programa de aprendizaje informático mientras estaba en IBM en 1952.
El programa era un juego de damas en el que la computadora mejoraba cada vez que jugaba, analizando qué movimientos compusieron una estrategia ganadora.
En 1957, Frank Rosenblatt creó la primera red neuronal de computadora artificial, también conocida como perceptrón, que fue diseñada para simular los procesos de pensamiento del cerebro humano.
En 1967, se diseñó el algoritmo de «vecino más cercano» que marca el comienzo del reconocimiento de patrones básicos utilizando computadoras.
Estos primeros descubrimientos fueron significativos, pero la falta de aplicaciones útiles y el poder de cómputo limitado de la época llevaron a un largo período de estancamiento en el aprendizaje automático y la inteligencia artificial hasta la década de 1980.
El aprendizaje automático se expande lejos de la IA
Hasta los años 80 y principios de los 90, el aprendizaje automático y la inteligencia artificial habían sido casi lo mismo. Pero a principios de los años 90, los investigadores comenzaron a encontrar aplicaciones nuevas y más prácticas para las técnicas de resolución de problemas que habían creado trabajando para la IA.
Mirar hacia usos más prácticos del aprendizaje automático abrió la puerta a nuevos enfoques que se basaban más en estadísticas y probabilidad que en el comportamiento humano y biológico.
El aprendizaje automático se había convertido ahora en su propio campo de estudio, al que muchas universidades, empresas e investigadores independientes comenzaron a contribuir.
Aprendizaje automático moderno
Hoy en día, el aprendizaje automático está integrado en un número significativo de aplicaciones y afecta a millones de personas todos los días.
La gran cantidad de investigación hacia el aprendizaje automático resultó en el desarrollo de muchos enfoques nuevos en desarrollo, así como en una variedad de nuevos casos de uso para el aprendizaje automático.
En realidad, las técnicas de aprendizaje automático se pueden usar en cualquier lugar donde se necesite analizar una gran cantidad de datos, lo cual es una necesidad común en los negocios.
Tres razones principales han llevado a una adopción masiva del aprendizaje automático en aplicaciones comerciales y de investigación:
- la potencia informática ha aumentado significativamente y se ha vuelto mucho menos costosa en las últimas décadas,
- información sobre los poderes y los casos de uso del aprendizaje automático se ha extendido con la expansión de Internet, y
- las herramientas de aprendizaje automático de código abierto se han vuelto más ampliamente disponibles.
Ejemplos
Las empresas de biomedicina, tecnología, logística y casi cualquier otra industria están utilizando el increíble poder del aprendizaje automático.
Aquí hay algunos ejemplos donde el aprendizaje automático se usa hoy en día:
- Google utiliza el aprendizaje automático para comprender mejor las consultas de búsqueda de sus usuarios. Y para mejorar sus resultados al medir el compromiso con los resultados que devuelve.
- Las organizaciones de investigación médica están utilizando el aprendizaje automático para analizar enormes cantidades de datos de registros de salud humana en un intento por identificar patrones en enfermedades y afecciones y mejorar la atención médica.
- Las aplicaciones para compartir viajes utilizan el aprendizaje automático para optimizar rutas y precios por hora del día y ubicación.
- Los programas de correo electrónico utilizan técnicas de aprendizaje automático para descubrir qué pertenece a la carpeta Spam.
- Los bancos están utilizando el aprendizaje automático para detectar transacciones y comportamientos que pueden ser sospechosos o fraudulentos.
Estos son solo unos pocos miles de ejemplos de dónde se utilizan las técnicas de aprendizaje automático en la actualidad.
El aprendizaje automático es un campo de estudio emocionante y en rápida expansión, y las aplicaciones son aparentemente infinitas.
A medida que más personas y empresas aprendan sobre los usos de la tecnología y las herramientas estén cada vez más disponibles y fáciles de usar, veremos que el aprendizaje automático se convertirá en una parte aún mayor de la vida cotidiana.