Mahout - Aprendizaje automático
Apache Mahout es una biblioteca de aprendizaje automático altamente escalable que permite a los desarrolladores utilizar algoritmos optimizados. Mahout implementa técnicas populares de aprendizaje automático como recomendación, clasificación y agrupación en clústeres. Por lo tanto, es prudente tener una sección breve sobre el aprendizaje automático antes de seguir adelante.
¿Qué es el aprendizaje automático?
El aprendizaje automático es una rama de la ciencia que se ocupa de programar los sistemas de tal manera que aprendan y mejoren automáticamente con la experiencia. Aquí, aprender significa reconocer y comprender los datos de entrada y tomar decisiones acertadas basadas en los datos proporcionados.
Es muy difícil atender todas las decisiones basadas en todos los insumos posibles. Para abordar este problema, se desarrollan algoritmos. Estos algoritmos construyen conocimiento a partir de datos específicos y experiencias pasadas con los principios de estadística, teoría de probabilidad, lógica, optimización combinatoria, búsqueda, aprendizaje por refuerzo y teoría de control.
Los algoritmos desarrollados forman la base de varias aplicaciones como:
- Procesamiento de la visión
- Procesamiento de lenguaje
- Pronóstico (por ejemplo, tendencias del mercado de valores)
- Reconocimiento de patrones
- Games
- Procesamiento de datos
- Sistemas expertos
- Robotics
El aprendizaje automático es un área extensa y está más allá del alcance de este tutorial cubrir todas sus características. Hay varias formas de implementar técnicas de aprendizaje automático, sin embargo, las más utilizadas sonsupervised y unsupervised learning.
Aprendizaje supervisado
El aprendizaje supervisado se ocupa de aprender una función a partir de los datos de entrenamiento disponibles. Un algoritmo de aprendizaje supervisado analiza los datos de entrenamiento y produce una función inferida, que puede usarse para mapear nuevos ejemplos. Los ejemplos comunes de aprendizaje supervisado incluyen:
- clasificar los correos electrónicos como spam,
- etiquetar páginas web en función de su contenido, y
- reconocimiento de voz.
Hay muchos algoritmos de aprendizaje supervisado, como redes neuronales, máquinas de vectores de soporte (SVM) y clasificadores Naive Bayes. Mahout implementa el clasificador Naive Bayes.
Aprendizaje sin supervisión
El aprendizaje no supervisado da sentido a los datos sin etiquetar sin tener ningún conjunto de datos predefinido para su entrenamiento. El aprendizaje no supervisado es una herramienta extremadamente poderosa para analizar los datos disponibles y buscar patrones y tendencias. Se usa más comúnmente para agrupar entradas similares en grupos lógicos. Los enfoques comunes para el aprendizaje no supervisado incluyen:
- k-means
- mapas autoorganizados, y
- agrupación jerárquica
Recomendación
La recomendación es una técnica popular que proporciona recomendaciones detalladas basadas en la información del usuario, como compras anteriores, clics y calificaciones.
Amazon utiliza esta técnica para mostrar una lista de elementos recomendados que podrían interesarle, extrayendo información de sus acciones pasadas. Hay motores de recomendación que funcionan detrás de Amazon para capturar el comportamiento del usuario y recomendar elementos seleccionados en función de sus acciones anteriores.
Facebook utiliza la técnica de recomendación para identificar y recomendar la "lista de personas que quizás conozcas".
Clasificación
Clasificación, también conocida como categorization, es una técnica de aprendizaje automático que utiliza datos conocidos para determinar cómo se deben clasificar los nuevos datos en un conjunto de categorías existentes. La clasificación es una forma de aprendizaje supervisado.
Los proveedores de servicios de correo como Yahoo! y Gmail utilizan esta técnica para decidir si un correo nuevo debe clasificarse como spam. El algoritmo de categorización se entrena a sí mismo analizando los hábitos de los usuarios de marcar ciertos correos electrónicos como spam. En base a eso, el clasificador decide si un correo futuro debe depositarse en su bandeja de entrada o en la carpeta de spam.
La aplicación iTunes usa la clasificación para preparar listas de reproducción.
Agrupación
La agrupación se utiliza para formar grupos o agrupaciones de datos similares basados en características comunes. La agrupación en clústeres es una forma de aprendizaje no supervisado.
Los motores de búsqueda como Google y Yahoo! utilizar técnicas de agrupamiento para agrupar datos con características similares.
Los grupos de noticias utilizan técnicas de agrupación en clústeres para agrupar varios artículos en función de temas relacionados.
El motor de agrupamiento revisa los datos de entrada por completo y, en función de las características de los datos, decidirá en qué grupo se debe agrupar. Eche un vistazo al siguiente ejemplo.
Nuestra biblioteca de tutoriales contiene temas sobre varios temas. Cuando recibimos un nuevo tutorial en TutorialsPoint, es procesado por un motor de agrupación que decide, en función de su contenido, dónde debe agruparse.