Supervised learning: un plan de aprendizaje para máquinas
El machine learning, el deep learning, las redes neuronales y la inteligencia artificial están avanzando a pasos agigantados. Sin embargo, para que los ordenadores consigan pensar y resolver problemas por sí mismos, primero tienen que aprender. Igual que en una escuela tradicional, el machine learning utiliza una variedad de métodos. En el llamado reinforcement learning se establecen impulsos. El unsupervised learning funciona completamente sin intervención del desarrollador. Pero ¿qué pasa en el supervised learning o aprendizaje supervisado?
¿Qué es el supervised learning?
En el aprendizaje automático, los ordenadores aprenden a reconocer patrones y reglas. En vez de reaccionar únicamente a las entradas de los usuarios humanos, las máquinas aprenden a tomar decisiones de forma autónoma, basadas en las reglas que han aprendido. Por ejemplo, los algoritmos pueden aprender a reconocer correctamente un mensaje de spam o a interpretar el contenido de una imagen. Los desarrolladores y científicos emplean distintos métodos para el aprendizaje, entre los cuales el más utilizado es, probablemente, el supervised learning o aprendizaje supervisado.
En el supervised machine learning, los desarrolladores proporcionan a los algoritmos un conjunto de datos preparados para entrenarlos. De este modo, los algoritmos ya conocen el resultado y solo tienen que reconocer el patrón: ¿por qué esta información pertenece a la categoría A y no a la categoría B?
El supervised learning se utiliza, por tanto, para algoritmos destinados a categorizar los datos naturales (fotos, escritura, habla, etc.). Otro campo de aplicación típico del aprendizaje supervisado son los llamados problemas de regresión. Con ellos, los algoritmos aprenden a hacer predicciones, por ejemplo, sobre la evolución de los precios o el crecimiento de la clientela.
Por otro lado, el semi-supervised learning es una forma mixta de aprendizaje en la que solo se etiqueta parte del conjunto de datos. El resto permanece sin clasificar y los algoritmos deben emprender esta tarea motu proprio. Un buen ejemplo de este método es el algoritmo de reconocimiento de rostros. Basta con etiquetar algunas fotos con los nombres de los amigos: el algoritmo se encargará de encontrar a los demás.
Ejemplo de supervised learning
Supongamos que quieres entrenar a algoritmos para que aprendan a distinguir imágenes de gatos de imágenes de perros. Para esto, los desarrolladores preparan un enorme conjunto de datos. Este contiene imágenes que tendrían ya una etiqueta, es decir, que ya pertenecerían a una categoría. Se podrían establecer tres grupos diferentes: perro, gato, otro. Es importante que el conjunto de datos también contenga la mayor variedad posible. Por ejemplo, si en el set de entrenamiento solo hay fotos de gatos negros, el algoritmo pensará que todos los gatos tienen el pelo negro. Por esto, el conjunto de datos deberá ser lo más variado posible.
Durante el entrenamiento, el algoritmo recibe primero el contenido (sin clasificar), toma una decisión y luego la compara con el resultado proporcionado por los desarrolladores. El sistema compara su propio resultado con el correcto y saca conclusiones para ajustar sus futuras evaluaciones en el entrenamiento. El entrenamiento continúa hasta que las evaluaciones de la máquina se acercan lo suficiente a los resultados correctos.
Ventajas e inconvenientes del aprendizaje supervisado
El método de aprendizaje apropiado depende en gran medida de cuál sea la tarea que realizarán luego los algoritmos. El supervised learning está recomendado para problemas de categorización y regresión. En general, este método de aprendizaje automático permite entrenar a los algoritmos para que se adapten a su tarea a la perfección. Al tener el control total sobre el material de entrenamiento, solo se necesitan las entradas y el tiempo suficientes para configurar a los algoritmos correctamente. Lo más importante es compilar la mayor variedad de datos posible. Puesto que se deben etiquetar todos los elementos, es necesario un esfuerzo considerable por parte de los desarrolladores y científicos.
Aunque requiere bastante esfuerzo, el proceso es también relativamente fácil de comprender. Mientras que, con el aprendizaje no supervisado, muchos de los procesos son imposibles de analizar porque los algoritmos funcionan por sí mismos sin instrucciones reales, con el aprendizaje supervisado, las acciones de la máquina se pueden reconocer con precisión. Sin embargo, esto tiene el inconveniente de que los algoritmos solo funcionan dentro de las restricciones que se les han impuesto, es decir, este método no proporciona soluciones creativas.
El supervised learning debe su popularidad a que permite entrenar a los algoritmos de forma que los desarrolladores y los científicos mantienen el control total. Mientras que, con otros métodos de aprendizaje, los resultados a menudo no están muy claros, con el supervised learning, el objetivo del proceso de aprendizaje está definido desde el principio. Sin embargo, también requiere bastante esfuerzo por parte de los profesores humanos.