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.
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.
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.
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.
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.
Enlaces relacionados
No comments:
Post a Comment