WOT

Thursday, December 8, 2016

10 algoritmos de aprendizaje automático que deben conocer los ingenieros

Nota: Este artículo es una traducción del original que aparece en el sitio de KDnuggets: The 10 Algorithms Machine Learning Engineers Need to Know

Muchas gracias al autor, James Le y a los responsables de KDnuggets por permitir su publicación en español.


10 algoritmos de aprendizaje automático que deben conocer los ingenieros





  
     


Lea este catálogo introductorio de los algoritmos de aprendizaje automático más importantes que se utilizan hoy en día y que todo ingeniero debe conocer.

Por James Le, New Story Charity.

Blackboard header
No cabe duda de que la popularidad de la especialidad de aprendizaje automático / inteligencia artificial ha experimentado un progresivo aumento en los últimos dos años. Big Data es en este momento una de las tendencias más candentes en el entorno de la tecnología, y el aprendizaje automático es increíblemente potente a la hora de hacer predicciones o sugerencias calculadas basadas en grandes cantidades de datos. Algunos de los ejemplos de aprendizaje automático que se citan con más frecuencia son los algoritmos de Netflix para hacer sugerencias sobre películas que tienen que ver con películas que ha visto el usuario en el pasado o los algoritmos de Amazon que recomiendan libros en función de los libros que el usuario ha comprado con anterioridad.
Si usted quiere aprender más sobre el aprendizaje automático, ¿por dónde empezar? En mi caso, tuve mi primer contacto cuando asistí a una clase de inteligencia artificial en mi época de estudiante en el extranjero, en Copenhague. Mi profesor era un catedrático en matemáticas aplicadas en informática en la Technical University of Denmark, y sus áreas de investigación eran la lógica y la inteligencia artificial, centrándose principalmente en el uso de la lógica para modelar la planificación, el razonamiento y la resolución de problemas emulando el modo en el que lo hacen las personas. La clase fue una mezcla entre discusiones teóricas / conceptos básicos y la resolución de problemas concretos. El libro de texto que utilizamos es uno de los clásicos de IA: Peter Norvig’s Artificial Intelligence — A Modern Approach, en el que se tratan los temas más importantes, entre los que se incluyen los agentes inteligentes, la resolución de problemas mediante búsqueda, la búsqueda de confrontación, la teoría de probabilidades, los sistemas multiagente, la IA social y la filosofía, la ética y el futuro de la IA. Al final de la clase, en equipos de 3 personas, realizamos un proyecto de programación en el que implementamos sencillos agentes de búsqueda básica que resolvían las tareas de transporte en un entorno virtual.

Aprendí mucho gracias a esa clase, y decidí seguir aprendiendo sobre este tema en particular. En las últimas semanas, he asistido en San Francisco a varias jornadas sobre tecnología, en concreto sobre aprendizaje profundo, redes neuronales, arquitectura de datos y a una conferencia de aprendizaje automático a la que asistieron muchos profesionales conocidos en este campo. Lo más importante es que me inscribí en el curso en línea de Udacity Intro to Machine Learning a principios de junio y acabo de terminarlo hace unos días. En esta entrada, quiero compartir algunos de los algoritmos de aprendizaje automático más habituales que aprendí en el curso.

Los algoritmos de aprendizaje automático pueden dividirse en 3 grandes categorías: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje de refuerzo. El aprendizaje supervisado es útil en los casos en que una propiedad (etiqueta) está disponible para un determinado conjunto de datos (conjunto de entrenamiento), pero en otros casos ha desaparecido y se necesita predecirla.  El aprendizaje sin supervisión es útil en los casos en que el desafío consiste en descubrir relaciones implícitas en un conjunto de datos no etiquetados (los elementos no están asignados previamente). El aprendizaje de refuerzo se sitúa entre estos dos extremos: hay alguna forma de retroalimentación disponible para cada paso o acción predictiva, pero no hay una etiqueta precisa o un mensaje de error. Como se trataba de una clase de introducción, no aprendí mucho sobre el aprendizaje de refuerzo, pero espero que los 10 algoritmos de aprendizaje supervisado y no supervisado sean suficientes para mantener el interés del lector.


Aprendizaje supervisado
 
1. Árboles para la toma de decisiones: Un árbol para la toma de decisiones es una herramienta de apoyo a la toma de decisiones que utiliza un gráfico similar a un árbol o modelo de decisiones y sus posibles consecuencias, incluidos los resultados de eventos fortuitos, los costes de los recursos y la utilidades. Eche un vistazo a la imagen para tener una idea de su estructura.


Árbol para la toma de decisiones

Desde el punto de vista de la toma de decisiones empresariales, un árbol para la toma de decisiones ofrece un mínimo número de preguntas con respuestas del tipo sí / no que hay que contestar habitualmente para evaluar la probabilidad de tomar una decisión correcta. Como se trata de un método, permite abordar el problema de una manera estructurada y sistemática para llegar a una conclusión lógica.
2. Clasificación bayesiana ingenua: Los clasificadores bayesianos ingenuos son una familia de clasificadores probabilísticos sencillos basados en la aplicación del teorema de Bayes con suposiciones de independencia fuertes (ingenuas) entre las características del objeto a clasificar. La imagen a continuación muestra la ecuación de estos clasificadores, en la que P (A | B) es probabilidad a posteriori, P (B | A) es probabilidad de B en la hipótesis de A, P (A) es probabilidad a priori y P (B) es la probabilidad de B a priori.


Clasificación de Bayes ingenua

Algunos ejemplos del mundo real son:
·         El etiquetado de un correo electrónico como spam o como no spam.
·         La clasificación de un artículo de noticias sobre tecnología, política o deportes.
·         La comprobación de la parte de un texto en la que se expresan emociones positivas, o emociones negativas.
·         Su utilización en el software de reconocimiento facial.

3. Regresión por mínimos cuadrados ordinarios: Si ha estudiado estadística, probablemente ya haya oído hablar de regresión lineal. El método para realizar la regresión lineal es el de mínimos cuadrados. Se puede pensar en la regresión lineal como el proceso de ajuste de un conjunto de puntos a una línea recta. Hay varias estrategias posibles para conseguirlo, y por ejemplo la estrategia de los 'mínimos cuadrados ordinarios' funciona así: se puede dibujar una línea y luego, para cada uno de los puntos de datos, medir la distancia vertical entre el punto y la línea y sumarlas; La línea ajustada sería aquella en la que esta suma de distancias sea lo más pequeña posible.

Regresión de mínimos cuadrados ordinarios o lineales

El término lineal se refiere al tipo de modelo que se está utilizando para ajustar los datos, mientras que los mínimos cuadrados se refieren al tipo de métrica de con la que se minimiza el error.
4. Regresión logística: La regresión logística es un potente procedimiento estadístico de modelado de  un resultado binomial con una o más variables explicativas. Mide la relación entre la variable dependiente categórica y una o más variables independientes estimando las probabilidades utilizando una función logística, que es la distribución logística acumulativa.


Regresión logística

En general, las regresiones se pueden utilizar en aplicaciones al mundo real, tales como:
·         Calificación de crédito
·         Medición del índice de efectividad de las campañas de marketing
·         Predicción de los ingresos de un determinado producto
·         Responder a la pregunta ¿Va a haber un terremoto en un día en particular?

5. Máquinas de vectores de soporte: MVS es un algoritmo de clasificación binaria. Dado un conjunto de puntos de 2 tipos en un espacio N dimensional, MVS genera un hiperplano de dimensión (N - 1) para separar esos puntos en 2 grupos. Supongamos que usted tiene una serie de puntos de 2 tipos en un papel que son linealmente separables. MVS encontrará una línea recta que separa esos puntos en 2 tipos y situada lo más lejos posible de todos esos puntos.

Máquinas de vectores de soporte

En términos de escala, algunos de los problemas más importantes que se han resuelto utilizando MVSs (con implementaciones modificadas de forma adecuada) son la publicidad en pantalla, el reconocimiento de las uniones entre un exón y un intrón (splite sites) en el ARN mensajero humano y la detección del sexo basada en imágenes, 
6. Métodos combinados: Los métodos combinados son algoritmos de aprendizaje que construyen un conjunto de clasificadores que clasifican nuevos puntos de datos haciendo uso del voto ponderado de sus predicciones. El método combinado original es un promedio bayesiano, pero los algoritmos más recientes incluyen correcciones de errores del código a la salida y los métodos de bagging y boosting.


Algoritmos de aprendizaje combinado

Entonces, ¿cómo funcionan los métodos combinados y por qué son mejores que los modelos individuales?
·         Promedian de sesgos: Si se hace el promedio de un conjunto de encuestas tanto de demócratas como de republicanos, obtendrá un promedio equilibrado.
·         Reducen la varianza: La suma de las opiniones de un grupo de modelos es menos ruidosa que la opinión única de uno de los modelos. En el mundo de las finanzas a esto se le llama diversificación: una cartera mixta constituida por acciones de muchas empresas será mucho menos variable que la formado por las acciones de una empresa. Este es el motivo por el que sus modelos serán mejores con más puntos de datos.
·         Son poco probable al sobreajuste: Si usted tiene modelos individuales que no se ajustan excesivamente, y está combinando las predicciones de cada modelo de una manera simple (promedio, promedio ponderado, regresión logística), entonces no hay lugar para el sobreajuste.

Aprendizaje no supervisado
 
7. Algoritmos de agrupamiento: El agrupamiento es la tarea que consiste en formar grupos de un conjunto de objetos de modo que los objetos del mismo grupo (agrupación) se parezcan más entre sí que a los de otros grupos.


Algoritmos de agrupación

Cada algoritmo de agrupamiento es diferente, y aquí se citan algunos de ellos:
·         Algoritmos basados en centroides
·         Algoritmos basados en conectividad
·         Algoritmos basados en densidad
·         Probabilísticos
·         De reducción del número de dimensiones
·         Redes neuronales / Aprendizaje profundo

8. Análisis de componentes principales: ACP es un procedimiento estadístico que usa una transformación ortogonal para convertir un conjunto de observaciones de variables posiblemente correlacionadas en un conjunto de valores de variables linealmente no correlacionadas llamadas componentes principales.


Análisis de componentes principales

Algunas de las aplicaciones de PCA incluyen la compresión, la simplificación de datos para un aprendizaje más fácil y la visualización. Tenga en cuenta que el conocimiento del dominio es muy importante para elegir si seguir adelante con PCA o no. No es adecuado en los casos en que los datos son ruidosos (todos los componentes de PCA tienen una variación bastante alta).
9. Descomposición en valores singulares: En álgebra lineal, SVD es una factorización de una matriz compleja real. Para una matriz dada M * n, existe una descomposición tal que M = UΣV, donde U y V son matrices unitarias y Σ es una matriz diagonal.


Descomposición en valores singulares

PCA es en realidad una sencilla aplicación de SVD. En visión por computador, los primeros algoritmos de reconocimiento facial utilizaron PCA y SVD para representar las caras como una combinación lineal de 'eigenfaces', para reducir el número de dimensiones, y luego hacer coincidir las caras con las identidades a través de métodos sencillos. Aunque los métodos modernos son mucho más sofisticados, muchos aún dependen de técnicas similares.
10. Análisis de componentes independientes: ACI es una técnica estadística para revelar los factores ocultos que subyacen en conjuntos de variables aleatorias, mediciones o señales. ACI define un modelo generativo para los datos multivariados observados, que se suele presentar como una gran base de datos de muestras. En el modelo, se supone que las variables de datos son mezclas lineales de algunas variables latentes desconocidas, y el sistema de mezcla es también desconocido. Se asume que las variables latentes son no gaussianas y mutuamente independientes, y se les denomina componentes independientes de los datos observados.


Análisis de componentes independientes

ACI se relaciona con PCA, pero es una técnica mucho más potente que es capaz de encontrar los factores subyacentes en las fuentes cuando fallan los métodos clásicos. Sus aplicaciones incluyen imágenes digitales, bases de datos de documentos, indicadores económicos y mediciones psicométricas.
Ahora avance un paso más y ponga en práctica su aprendizaje de los algoritmos creando aplicaciones de aprendizaje automático que proporcionen mejores experiencias para todos.
Biografía: James Le es becario de producto en New Story Charity y estudiante de informática y comunicaciones en la Denison University.
Original. Con autorización para su publicación.

Enlaces relacionados

No comments:

Post a Comment