césar a. sernahpclab.ucentral.edu.co/~hfranco/data_analysis/sessionv/vsession.pdf ·...

22
Una Pequeña Introducción a Machine Learning Una Pequeña Introducción a Machine Learning César A. Serna Universidad Central Abril 2018 César A. Serna | Universidad Central | Abril 2018 1 / 22

Upload: others

Post on 22-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Una Pequeña Introducción a Machine Learning

César A. Serna

Universidad Central

Abril 2018

César A. Serna |Universidad Central | Abril 2018 1 / 22

Page 2: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Índice

1 Máquinas Inteligentes

2 Definición de Machine Learning

3 Tres Tipos Diferentes de Aprendizaje Automático

4 Métodos Basados en la Supervisión Humana en el Proceso de AprendizajeAprendizaje Supervisado

ClasificaciónRegresión

Aprendizaje No SupervisadoAgrupación (Clustering)Reducción de la Dimensionalidad

Aprendizaje Reforzado

5 Hoja de Ruta para Machine Learning

6 Aplicaciones del Machine Learning con Python

César A. Serna |Universidad Central | Abril 2018 2 / 22

Page 3: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Máquinas Inteligentes para Transformar Datos en Conocimiento

Hay varios escenarios en los que podría ser beneficioso hacer que las máquinas aprendan, algunos de ellos semencionan a continuación:

Falta de experiencia humana en un dominio (Simulación de navegación en territorios desconocidos).Los escenarios y comportamientos sean cambiantes con el tiempo (Disponibilidad de infraestructura enuna organización, Conectividad de red, etc.).Las personas pueden tener suficiente experiencia en el dominio, pero es extremadamente difícilexplicar o traducir formalmente esta experiencia en tareas computacionales (Reconocimiento de voz yescenas, Traducciones, Tareas Cognitivas, etc.).Abordar problemas específicos de un dominio a escala con enormes volúmenes de datos y condemasiadas condiciones y restricciones complejas.

La idea central es hacer que las máquinas resuelvan tareas que se pueden definir fácilmente de formaintuitivas y casi involuntarias pero extremadamente difíciles de definirlas manera formal.

César A. Serna |Universidad Central | Abril 2018 3 / 22

Page 4: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Definición Formal de Machine Learning

La mejor manera de definir el Machine Learning, partir de los conceptos básicos, creada por el reconocidoprofesor Tom Mitchell en 1997, es la siguiente

DefiniciónSe dice que un programa de computadora aprende de la experiencia E con respecto a algunas clases detareas T y la medida de rendimiento P, si su desempeño en las tareas T, medido por P, mejora con laexperiencia E.

Simplificar la definición: Machine Learning es un campo que consiste en aprender algoritmos que:Mejoran el desempeño PAl ejecutar alguna tarea TCon el tiempo con experiencia E

César A. Serna |Universidad Central | Abril 2018 4 / 22

Page 5: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Machine Learning y la Inteligencia Artificial

El Aprendizaje Automático se considera, principalmente, un subcampo de la Inteligencia Artificial e inclusode la Informática, desde algunas perspectivas.

Machine Learning tiene conceptos que han sido derivados y tomados de múltiples campos desde hace ya unlargo periodo de tiempo, lo que lo convierte en un verdadero campo multidisciplinar o interdisciplinar.

Los principales dominios o campos asociados con Machine Learning incluyen lo siguiente:Inteligencia artificialProcesamiento natural del lenguajeMinería de datosMatemáticasEstadísticasCiencias de la ComputaciónAprendizaje profundoCiencia de los datos

César A. Serna |Universidad Central | Abril 2018 5 / 22

Page 6: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Tres Tipos Diferentes de Aprendizaje Automático

Por lo general, los métodos de Machine Learning se pueden clasificar de múltiples formas bajo diferentesescenarios.A continuación se detallan algunas de las principales áreas de los métodos de aprendizaje automático.

1. Métodos basados en la cantidad de supervisión humana en el proceso de aprendizaje:a. Aprendizaje supervisadob. Aprendizaje no supervisadoc. Aprendizaje semi-supervisadod. Aprendizaje reforzado

2. Métodos basados en la capacidad de aprender a partir de muestras de datos incrementales:a. Aprendizaje por lotesb. Aprender en línea

3. Métodos basados en su enfoque a la generalización a partir de muestras de datos:a. Aprendizaje basado en instanciasb. Aprendizaje basado en modelos

César A. Serna |Universidad Central | Abril 2018 6 / 22

Page 7: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Métodos basados Supervisión Humana en el Proceso de Aprendizaje

Métodos basados en la cantidad de supervisión humana en el proceso de aprendizaje:

a. Aprendizaje supervisadob. Aprendizaje no supervisadoc. Aprendizaje reforzado

César A. Serna |Universidad Central | Abril 2018 7 / 22

Page 8: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje Supervisado

Los métodos de Aprendizaje Supervisados incluyen algoritmos de aprendizaje que toman muestras de datos(Datos de Entrenamiento) y salidas asociadas (Categorías o Respuestas) con cada muestra de datos duranteel proceso de entrenamiento de dicho modelo.

Objetivo:Aprender (mapear) asociaciones entre las muestras de datos de entrada y sus salidas correspondientes,basadas en múltiples instancias de datos de entrenamiento.

Este conocimiento aprendido se puede usar en el futuro para predecir una salida, con cualquier nuevamuestra de datos de entrada X que previamente no se conocía o que no se había visto durante el proceso decapacitación modelo.

Estos métodos se denominan supervisados porque el modelo aprende en muestras de datos donde lasrespuestas / etiquetas de salida ya se conocen de antemano en la fase de capacitación.

Los métodos de aprendizaje supervisado son principalmente de dos clases, según el tipo de tareas de ML quepretendan resolver:

• Clasificación• Regresión

César A. Serna |Universidad Central | Abril 2018 8 / 22

Page 9: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje Supervisado: Clasificación para Predecir Categorías

La clasificación es una subcategoría de aprendizaje supervisado donde el objetivo es predecir las etiquetas declases categóricas de las nuevas observaciones, basada en observaciones pasadas.

Estas etiquetas de clase son valores discretos que pueden entenderse como pertenencia a grupos definidos.

César A. Serna |Universidad Central | Abril 2018 9 / 22

Page 10: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje Supervisado: Clasificación para Predecir Valores Continuos

Un segundo tipo de aprendizaje supervisado es la predicción de resultados continuos, que también sedenomina Análisis de Regresión.

En el Análisis de Regresión, dada una serie de variables predictoras (explicativas) y una variable de respuestacontinua, se requiere encontrar una relación entre esas variables que nos permita predecir un resultado.

Los modelos de regresión utilizan atributos o características de datos de entrada y sus correspondientesvalores de salida numérica continua (también llamados respuesta), para aprender relaciones y/o asociacionesespecíficas entre las entradas y sus salidas correspondientes.

Con este conocimiento, se puede predecir respuestas para observaciones nuevas no conocidas, proceso quees similar a la clasificación, pero con salidas numéricas continuas.

César A. Serna |Universidad Central | Abril 2018 10 / 22

Page 11: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje No Supervisado

Los métodos de Aprendizaje No Supervisados está más relacionado con tratar de extraer informaciónvaliosa de los datos, en lugar de tratar de predecir algún resultado a partir de la información de los mismos através de clasificaciones supervisada previamente disponibles.

Objetivo:Intenta aprender estructuras latentes inherentes, patrones y/o relaciones a partir de datos sin ayuda osupervisión.

Hay más incertidumbre en los resultados del aprendizaje no supervisado que en los supervisados, sinembargo en los No supervisados se puede obtener mucha información que anteriormente no estabadisponible.Los métodos de Aprendizaje No Supervisados se pueden categorizar en las siguientes amplias áreas detareas del ML:

• Agrupación• Reducción de dimensionalidad• Detección de anomalías.• Asociación.

César A. Serna |Universidad Central | Abril 2018 11 / 22

Page 12: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje No Supervisado: Agrupación (Clustering)

Los métodos de agrupación son métodos de aprendizaje automático que intentan encontrar patrones desimilitud y relaciones entre muestras de un conjunto de datos, y luego agrupan estas muestras en variosgrupos, de modo que cada cluster o grupo de muestras de observaciones tiene cierta similitud, según losatributos o características inherentes.

Estos métodos no están supervisados por completo, ya que intentan agrupar los datos mediante laobservación de las características de los datos sin ninguna clasificación previa, supervisión o conocimientosobre los atributos de dichas observaciones.

César A. Serna |Universidad Central | Abril 2018 12 / 22

Page 13: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje No Supervisado: Agrupación (Clustering)

Existen varios tipos de métodos de agrupamiento que se pueden clasificar bajo los siguientes enfoquesprincipales.• Métodos basados en centroides: K-means y K-medoids• Métodos de agrupamiento jerárquico: Aglomeración y División (Ward, propagación de afinidad).• Métodos de agrupación basados en distribuciones: Modelos de mezclas gaussianas.• Métodos basados en densidades: dbscan y óptica.

Además de esto, tenemos varios métodos que recientemente entraron en el panorama de la agrupación, comoel abedul y clarans.

César A. Serna |Universidad Central | Abril 2018 13 / 22

Page 14: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje No Supervisado: Reducción de la Dimensionalidad

Los métodos no supervisados también se pueden usar en estos escenarios, donde reducimos el número decaracterísticas o atributos para cada muestra de datos. Estos métodos reducen el número de variables decaracterísticas al extraer o seleccionar un conjunto de características principales o representativas.

Existen múltiples algoritmos populares disponibles para la reducción de dimensionalidad como el análisis decomponentes principales (PCA), los vecinos más cercanos y el análisis discriminante.

César A. Serna |Universidad Central | Abril 2018 14 / 22

Page 15: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje Reforzado

Los métodos de Aprendizaje de Refuerzo son diferentes de los métodos convencionales supervisados o nosupervisados.En este contexto, tenemos un agente que queremos capacitar durante un período de tiempo para interactuarcon un entorno específico y mejorar su rendimiento a lo largo del tiempo con respecto al tipo de accionesque realiza en el entorno.

Normalmente, el agente comienza con un conjunto de estrategias o políticas para interactuar con el entorno.Al observar el entorno, toma una acción particular basada en una regla o política y observando el estadoactual del entorno. En función de la acción, el agente obtiene una recompensa, que podría ser beneficiosa operjudicial (en forma de penalización). Actualiza sus políticas y estrategias actuales si es necesario y esteproceso iterativo continúa hasta que aprende lo suficiente sobre su entorno para obtener las recompensasdeseadas.

Los principales pasos de un método de aprendizaje de refuerzo se mencionan a continuación:

1. Preparar un agente con un conjunto de políticas iniciales y estrategia.2. Observar el entorno y el estado actual3. Seleccionar la políticas óptimas y realizar una acción4. Obtener una recompensa correspondiente (o una penalización)5. Actualizar las políticas si es necesario6. Repetir los pasos 2 a 5 de forma iterativa hasta que el agente aprenda las políticas más óptimas

César A. Serna |Universidad Central | Abril 2018 15 / 22

Page 16: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aprendizaje Reforzado

Considere un problema del mundo real al tratar de hacer que un robot o una máquina aprenda a jugar alajedrez.

En este caso el agente sería el robot y el entorno y los estados serían el tablero de ajedrez y las posiciones delas piezas de ajedrez. En la siguiente figura se muestra una metodología de aprendizaje de refuerzo adecuada.

César A. Serna |Universidad Central | Abril 2018 16 / 22

Page 17: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Hoja de Ruta para Construir un Sistema de Aprendizaje Automático

El siguiente gráfico muestra un diagrama de flujo de trabajo típico para usar el Aprendizaje Automático en eldesarrollo de un Modelado Predictivo:

César A. Serna |Universidad Central | Abril 2018 17 / 22

Page 18: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aplicaciones del Machine Learning con Python

Algunos Tópicos a Tratar:1. Entrenamiento Algoritmos de ML para Clasificación:a. Neuronas artificiales: un vistazo a la historia temprana del aprendizaje automático.b. Algoritmo de aprendizaje - El perceptrón en Python.c. Neuronas adaptativas lineales y la convergencia de aprendizaje.d. Aprendizaje automático a gran escala y descenso de gradiente estocástico.

2. Clasificadores de Aprendizaje Automático:a. Modelado de probabilidades de categorías a través de regresión logística.b. Regresión logística y probabilidades condicionales (propensiones).c. Clasificación máxima de márgenes con máquinas de vectores de soporte.d. Resolviendo problemas no lineales usando un kernel SVM.e. Aprendizaje de árboles de decisión.f. Combinando aprendices débiles con fuertes a través de bosques aleatorios.g. K-vecinos más cercanos.

3. Comprimir datos a través de la reducción de dimensionalidad:a. Reducción de dimensionalidad no supervisada a través del Análisis de Componentes Principales.b. Supervisión de datos mediante Análisis Discriminante Lineal.c. Seleccionar discriminantes lineales para el nuevo subespacio de características.d. Proyección de muestras en el nuevo espacio de funciones.e. Análisis de Componentes Principales de kernel para mapeos no lineales.

César A. Serna |Universidad Central | Abril 2018 18 / 22

Page 19: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aplicaciones del Machine Learning con Python

4. Combinando diferentes modelos para el aprendizaje conjunto.

5. Aplicación del aprendizaje automático al Análisis de Sentimientos.

6. Implementación de un modelo de aprendizaje automático en una aplicación web.

7. Predicción de variables con respuesta continua, a través del análisis de regresión.

8. Trabajando con datos sin etiqueta - Análisis de Agrupación.

9. Entrenamiento de Redes Neuronales Artificiales para el reconocimiento de imágenes.

10. Paralelizar el entrenamiento de redes neuronales.

César A. Serna |Universidad Central | Abril 2018 19 / 22

Page 20: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Aplicaciones del Machine Learning con Python

César A. Serna |Universidad Central | Abril 2018 20 / 22

Page 21: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

César A. Serna |Universidad Central | Abril 2018 21 / 22

Page 22: César A. Sernahpclab.ucentral.edu.co/~hfranco/data_analysis/SessionV/VSession.pdf · UnaPequeñaIntroducciónaMachineLearning DefiniciónFormaldeMachineLearning LamejormaneradedefinirelMachineLearning,partirdelosconceptosbásicos,creadaporelreconocido

Una Pequeña Introducción a Machine Learning

Bibliografía

Hahn, J.LATEX for eveyone. Prentice Hall, New Jersey, 1993.

César Augusto Serna Prentice sho

César A. Serna |Universidad Central | Abril 2018 22 / 22