¿Qué es el aprendizaje automático?
Para resolver un problema en una computadora, necesitamos un algoritmo, que es una secuencia de instrucciones que debe ejecutarse para transformar la entrada en salida. Por ejemplo, para ordenar un conjunto de números, el algoritmo toma como entrada un conjunto desordenado y devuelve la lista ordenada. Para tareas similares, pueden existir diferentes algoritmos, y a menudo buscamos el más eficiente, que requiera el menor número de instrucciones o memoria, o ambos.
Sin embargo, para algunas tareas no disponemos de un algoritmo claro. Un ejemplo de esto es la distinción entre correos electrónicos spam y legítimos. Sabemos cuál es la entrada: un mensaje de correo electrónico, que en su forma más simple es un archivo de caracteres. Sabemos cuál debe ser la salida: una respuesta sí/no que indique si el mensaje es spam o no. Pero no sabemos cómo transformar la entrada en la salida. Lo que se considera spam cambia con el tiempo y de una persona a otra.
Compensando el conocimiento con datos
Lo que nos falta en conocimiento lo podemos compensar con datos. Es fácil recopilar miles de ejemplos de correos electrónicos, algunos de los cuales sabemos que son spam, y lo que queremos es “aprender” qué constituye spam a partir de ellos. En otras palabras, deseamos que la computadora (la máquina) sea capaz de extraer automáticamente el algoritmo para esta tarea. Para ordenar números no necesitamos aprender un nuevo algoritmo, ya que ya tenemos métodos para ello. Pero existen muchas aplicaciones para las que no contamos con un algoritmo específico, pero sí con ejemplos de datos.
La importancia del procesamiento de datos
Con los avances en la tecnología, hoy en día podemos almacenar y procesar grandes cantidades de datos, además de acceder a ellos desde ubicaciones físicas distantes a través de redes. La mayoría de los dispositivos de adquisición de datos son ahora digitales y registran datos fiables. Un ejemplo es una cadena de supermercados que tiene cientos de tiendas en todo un país, vendiendo miles de productos a millones de clientes. Los terminales de punto de venta registran cada transacción: fecha, código de identificación del cliente, productos comprados y su cantidad, dinero gastado, entre otros. Esto genera grandes volúmenes de datos diariamente.
Lo que la cadena de supermercados busca es predecir qué clientes probablemente comprarán un producto determinado. El algoritmo para hacer esto no es evidente; varía con el tiempo y según la ubicación. Los datos solo son útiles cuando se analizan y se convierten en información que se puede utilizar para hacer predicciones.
El desafío de predecir comportamientos
No sabemos con certeza qué personas comprarán un sabor de helado en particular, el próximo libro de un autor, o si verán una nueva película. Si supiéramos la respuesta, no necesitaríamos analizar los datos; simplemente escribiríamos el código. Pero como no tenemos esa información, nuestra única opción es recopilar datos y esperar extraer las respuestas a esas preguntas de los mismos.
El proceso detrás de los datos
Aunque no conocemos todos los detalles del proceso subyacente que genera los datos, como el comportamiento de los consumidores, sabemos que no es completamente aleatorio. Las personas no compran productos de manera aleatoria. Por ejemplo, cuando compran cerveza, generalmente compran papas fritas; cuando compran helado en verano, a menudo también compran bebidas refrescantes. Existen ciertos patrones en los datos.
Aunque no siempre podamos identificar completamente el proceso, creemos que podemos construir una aproximación útil. Aunque esta aproximación no lo explique todo, puede ser suficiente para comprender una parte significativa de los datos. La detección de patrones o regularidades en los datos es el objetivo del aprendizaje automático. Estos patrones pueden ayudarnos a comprender el proceso subyacente, o podemos usarlos para hacer predicciones. Si el futuro cercano no es muy diferente del pasado, las predicciones basadas en estos patrones también pueden ser correctas.
Minería de datos: Extracción de conocimiento valioso
La aplicación de métodos de aprendizaje automático a grandes bases de datos se conoce como minería de datos. Es como extraer un gran volumen de tierra y materiales de una mina, que, cuando se procesan, generan una pequeña cantidad de material valioso. De manera similar, en la minería de datos, se procesan grandes volúmenes de datos para crear modelos simples pero útiles, como aquellos con alta precisión predictiva.
Las aplicaciones de la minería de datos son diversas. Por ejemplo, en finanzas, los bancos analizan datos pasados para construir modelos que se usan en solicitudes de crédito, detección de fraudes o el análisis del mercado de valores. En manufactura, los modelos de aprendizaje se emplean para optimizar procesos, controlar operaciones y solucionar problemas. En medicina, los programas de aprendizaje se utilizan para ayudar en diagnósticos médicos, y en telecomunicaciones, se analizan patrones de llamadas para mejorar la red y la calidad del servicio. En ciencias, grandes cantidades de datos de disciplinas como la física, astronomía y biología solo pueden analizarse con la ayuda de computadoras.
Inteligencia artificial y aprendizaje automático
El aprendizaje automático no solo es un problema relacionado con bases de datos, sino que también forma parte de la inteligencia artificial. Para que un sistema sea considerado inteligente, debe ser capaz de aprender. Si un sistema puede aprender y adaptarse a un entorno cambiante, no es necesario que el diseñador del sistema prevea y proporcione soluciones para todas las situaciones posibles.
El aprendizaje automático también ayuda a resolver problemas en áreas como visión por computadora, reconocimiento de voz y robótica. Por ejemplo, el reconocimiento de rostros es una tarea que realizamos sin esfuerzo, reconociendo a familiares y amigos mediante sus rostros, a pesar de las diferencias en pose, iluminación, o estilo de cabello. Sin embargo, no podemos explicar cómo lo hacemos. A pesar de no poder explicar nuestra experiencia, sabemos que un rostro no es solo una colección aleatoria de píxeles; tiene una estructura simétrica, con ojos, nariz y boca ubicados en lugares específicos. Un programa de aprendizaje analiza imágenes de rostros para capturar patrones específicos y reconocer a una persona verificando esos patrones en una nueva imagen. Este es un ejemplo de reconocimiento de patrones.
Conclusión
El aprendizaje automático es la programación de computadoras para optimizar un criterio de rendimiento utilizando ejemplos de datos o experiencias pasadas. El modelo se define con ciertos parámetros, y el proceso de aprendizaje ajusta estos parámetros para optimizar el modelo utilizando los datos de entrenamiento. El modelo puede ser predictivo (hacer predicciones futuras), descriptivo (extraer conocimiento de los datos) o ambos.
El aprendizaje automático usa la teoría estadística para construir modelos matemáticos, ya que su tarea principal es hacer inferencias a partir de una muestra de datos. La informática juega un papel clave en la creación de algoritmos eficientes tanto para el entrenamiento del modelo como para la inferencia posterior.
La Evolución y el Aprendizaje
La evolución es la principal fuerza que define nuestra forma corporal, instintos y reflejos. Sin embargo, también aprendemos a cambiar nuestro comportamiento durante nuestra vida para adaptarnos a cambios en el entorno que no pueden preverse por la evolución. Los organismos con una vida corta en un entorno bien definido pueden tener comportamientos predeterminados, pero los humanos, al tener un cerebro grande y un mecanismo de aprendizaje, pueden adaptarse a diferentes entornos y situaciones. Aunque tenemos límites, como la imposibilidad de aprender a crecer un tercer brazo, nuestro cerebro es capaz de almacenar estrategias aprendidas que nos permiten actuar de manera adecuada cuando una situación similar se presenta nuevamente.
Aprendizaje y Cognición en la Ciencia Cognitiva y Psicología
El aprendizaje tiene sus limitaciones, y aunque algunas cosas son imposibles de aprender debido a la capacidad limitada de nuestros cerebros, las estrategias que adquirimos a lo largo de nuestra vida nos permiten afrontar nuevos desafíos. A diferencia de disciplinas como la psicología y la neurociencia, que se enfocan en entender cómo los seres humanos y animales aprenden, el propósito del aprendizaje automático no es comprender los procesos biológicos detrás del aprendizaje, sino construir sistemas útiles que resuelvan problemas de ingeniería.
El Análisis de Datos en la Ciencia
En la ciencia, gran parte del trabajo consiste en ajustar modelos a los datos. Los científicos realizan experimentos, hacen observaciones y recopilan datos para luego intentar extraer conocimiento, identificando modelos simples que expliquen los datos observados. Este proceso de inferencia y descubrimiento de patrones se llama inducción, y se basa en la extracción de reglas generales a partir de casos particulares. Sin embargo, el volumen de datos actual es tan grande que ya no es posible que los humanos hagan este análisis de manera manual.
El Interés en el Aprendizaje Automático
Dado el volumen y la complejidad de los datos actuales, hay un creciente interés en los modelos computacionales que pueden aprender automáticamente de los datos. A medida que los métodos de aprendizaje automático han evolucionado, los enfoques de diferentes disciplinas científicas, como estadística, ingeniería y redes neuronales, han convergido en soluciones similares para abordar problemas de análisis de datos a gran escala.
Evolución de los Métodos en Aprendizaje Automático
En estadística, el aprendizaje se llama estimación, y la clasificación se conoce como análisis discriminante. Tradicionalmente, los estadísticos trabajaban con muestras pequeñas y modelos paramétricos simples. Sin embargo, en ingeniería, el enfoque fue más empírico y no paramétrico, conocido como reconocimiento de patrones. El aprendizaje automático también está relacionado con la inteligencia artificial, ya que un sistema inteligente debe ser capaz de adaptarse a los cambios en su entorno. Además, áreas como la visión, el reconocimiento de voz y la robótica se benefician del aprendizaje a partir de datos de muestra.
El Renacer de las Redes Neuronales
En la década de 1980, con los avances en la tecnología de VLSI y la posibilidad de construir hardware paralelo, el campo de las redes neuronales artificiales experimentó un renacimiento. Inicialmente, estas redes eran vistas como una forma de distribuir el procesamiento a través de múltiples unidades de procesamiento. Con el tiempo, la comunidad de redes neuronales reconoció que muchos de los algoritmos de aprendizaje tenían sus raíces en la estadística, y los intentos de simular el cerebro humano en máquinas comenzaron a desvanecerse.
El Éxito de los Algoritmos Basados en Núcleos
En los últimos años, los algoritmos basados en núcleos, como las máquinas de vectores de soporte, han ganado popularidad. Estas técnicas, que utilizan funciones núcleo, son muy efectivas para aplicaciones en bioinformática y procesamiento de lenguaje. Se ha descubierto que una buena representación de los datos es esencial para el aprendizaje, y las funciones núcleo ofrecen una excelente manera de incorporar conocimientos expertos en el proceso.
El Impacto de la Conectividad y el Almacenamiento en el Aprendizaje Automático
Con la reducción de los costos de almacenamiento y conectividad, hoy en día es posible disponer de enormes conjuntos de datos a través de Internet. Esto, combinado con la mayor capacidad de cómputo, ha permitido ejecutar algoritmos de aprendizaje sobre grandes volúmenes de datos. Este acceso masivo a datos y poder de cómputo ha hecho que los algoritmos más simples, como los de traducción automática o planificación, puedan ser entrenados de manera más efectiva con grandes cantidades de datos.
El Surgimiento de la Minería de Datos
El término «minería de datos» se utiliza en el mundo empresarial para describir la aplicación de algoritmos de aprendizaje automático a grandes volúmenes de datos. En ciencias de la computación, anteriormente se conocía como «descubrimiento de conocimiento en bases de datos» (KDD). El campo de la minería de datos sigue un enfoque similar al de otras disciplinas, como el reconocimiento de patrones y las redes neuronales, pero con una mayor concentración en el análisis de datos a gran escala.
Unificación de Diferentes Enfoques
La investigación en comunidades como estadística, reconocimiento de patrones, redes neuronales, procesamiento de señales, inteligencia artificial y minería de datos ha seguido caminos diferentes, pero con el tiempo se han encontrado enfoques comunes para abordar los mismos problemas. El objetivo en este campo es integrar estos enfoques para ofrecer soluciones más completas a los desafíos de la ciencia de datos.