In [2]:
"""
IPython Notebook v4.0 para python 2.7
Librerías adicionales: numpy, matplotlib
Contenido bajo licencia CC-BY 4.0. Código bajo licencia MIT. (c) Sebastian Flores.
"""

# Configuracion para recargar módulos y librerías 
%reload_ext autoreload
%autoreload 2

from IPython.core.display import HTML

HTML(open("style/mat281.css", "r").read())


Out[2]:






MAT281

Aplicaciones de la Matemática en la Ingeniería

Sebastián Flores

https://www.github.com/usantamaria/mat281

Clase anterior

  • Holdout Set y Cross Validation.

¿Qué contenido aprenderemos hoy?

  • Introducción a Machine Learning y Data Science

¿Porqué aprenderemos ese contenido?

  • Introducción a Machine Learning y Data Science

Porque problemas actuales requieren una escala de preprocesamiento, procesamiento y postprocesamiento diferente a los problemas tradicionales. Algoritmos de Machine Learning y técnicas de Data Science son aplicables a un sinnúmero de problemas distintos.

ML y DS entregan herramientas versátiles para entender, modelar y solucionar problemas.

Disclaimer

Esta sección del curso se basa en los siguientes recursos:

  • Introduction to Data Science by Bill Howe, MOOC, Coursera.

  • Machine Learning by Andrew Ng, CS229, Stanford University (también disponible en coursera y youtube).

  • A Few Useful Things to Know about Machine Learning, Pedro Domingos (artículo).

  • http://machinelearningmastery.com/ y http://blog.bigml.com

Plan

  1. Problemas típicos
  2. Definiciones
  3. Algoritmos
  4. Consejos

1. Problemas típicos

Revisaremos 10 problemas clásicos de Machine Learning.

1. Problemas típicos

1.1 Detección de Spam

A partir de correos previamente clasificados como spam y no-spam, identificar futuros correos en spam de aquellos que no son spam.

1. Problemas típicos

1.2 Detección de Fraude con Tarjeta de crédito

Dado el historial de transacciones de un cliente en un mes, identificar transacciones que realizadas por el cliente y transacciones fraudulentas realizadas por terceros.

1. Problemas típicos

1.3 Reconocimiento de dígitos

Dado un código zip escrito en un sobre, identificar cada dígito manuscrito para automatizar la clasificación y despacho de correo.

1. Problemas típicos

1.4 Reconocimiento de Voz

Dada una orden vocal de un usuario, idenficar el requerimiento específico realizado.

1. Problemas típicos

1.5 Detección de Caras

Dada una colección de fotos digitales, identificar en cuáles fotos y en qué sectores aparece una persona. Más difícil, dada una colección de fotos etiquetadas para una cierta persona, identificar en cuales fotos aparece esa persona.

1. Problemas típicos

1.6 Recomendación de Productos

Dado un historial de compra para un cliente y un largo inventario de productos, identificar cuáles productos pueden interesarle al cliente en su próxima compra.

1. Problemas típicos

1.7 Diagnóstico médico

Dado un conjunto de síntomas exhibidos por un paciente y una base de casos anónima, predecir si el paciente tiene una enfermedad (y cuál).

1. Problemas típicos

1.8 Mercado de acciones

Dadas las fluctuaciones pasadas y presentes de una cierta acción, predecir si la acción debe comprarse, mantenerse o venderse.

1. Problemas típicos

1.9 Segmentación de Mercado

Dado un historial de comportamientos pasados de clientes, identificar cuáles clientes exhibirán un cierto comportamiento (de compra) en el futuro.

1. Problemas típicos

1.10 Detección de Formas

Reconocer una forma (2D o 3D) a partir de una muestra 2D de baja calidad.

2. Definiciones

¿Qué es Machine Learning? ¿Data Science? ¿Data Discovery? ¿Data Mining? ¿Big Data?

Machine Learning, Data Mining, Big Data y Data Science tienen fronteras difusas y permeables, al igual que Probabilidad y Estadística.

2. Definiciones

Machine Learning

  • Estudia y construye sistemas que pueden aprender de los datos, más que seguir instrucciones explícitamente programadas.

  • Machine Learning es un conjunto de técnicas y modelos que permiten el modelamiento predictivo de datos, reunidas a partir de la intersección de elementos de probabilidad, estadística e inteligencia artificial.

  • Pregunta fundamental: ¿Qué conocimiento emerge a partir de los datos? ¿Qué modelo/técnica otorga la mejor predicción para estos datos?

2. Definiciones

Data Mining

  • Estudia y contruye algoritmos que permiten descubrir relaciones interesantes a partir de grandes bases de datos.

  • Data Mining abarca el almacenamiento, mantención, lectura y realización de descubrimientos en los datos.

  • También se le conoce como KDD (Knowledge Discovery in Databases).

  • Pregunta fundamental: ¿Qué relaciones son interesantes y cómo descubrirlas?

2. Definiciones

Data Science

  • Se preocupa de la practicidad de resolver problemas complejos utilizando datos.

  • Data Science es la aplicación de data mining y machine learning con un fin específico.

  • También se conoce como eScience.

  • La base de datos a utilizar no ha sido necesariamente creada.

  • Pregunta fundamental: ¿Qué puedo decir de X a partir de los datos?

2. Definiciones

Big Data

  • Caracterizado por 4 V:
    • Volumen: ¿Cuántos datos se requiere procesar? ¿Terabytes, Exabytes, Zettabytes?
    • Variedad: ¿Qué patrón siguen los datos? ¿SQL o noSQL?
    • Velocidad: ¿Con que velocidad podemos procesar los datos? ¿A qué velocidad se generan?
    • Veracidad: ¿Qué tan confiables son los datos?
  • Pregunta fundamental: ¿Cómo proceso esta monstruosidad de datos?

2. Definiciones

2. Definiciones

2. Definiciones

2. Definiciones

2. Definiciones

3. Algoritmos

Hay 4 grandes familias de problemas en Machine Learning:

  • Clasificación

  • Regresión

  • Clustering

  • Extracción de Reglas

3. Algoritmos

Algoritmos de Clasificación

Se conocen como están etiquetados (asignados a una clase) algunos de los elementos.

El desafío es asignar la etiqueta correcta a datos sin etiquetar.

Ejemplos:

  1. Clasificación de Spam.

  2. Clasificación de Fraudes.

  3. Reconocimiento de Dígitos

  4. Diágnostico Médico.

3. Algoritmos

Algoritmos de Regresión

Similar a clustering, pero donde los datos están etiquetados con un valor real.

El desafío es asignar la etiqueta correcta a datos sin etiquetar.

Ejemplos:

  1. Predicción de precio en mercado de acciones.

  2. Predicción de precio de casa/departamento basado en características.

3. Algoritmos

Algoritmos de Clustering

Los datos no se encuentran etiquetados (no existe un valor $y$ para predecir), pero se busca dividir el conjunto de datos basados en alguna medida de similaridad o estructura de los datos. El desafío es encontrar cómo se podrían separar los datos a partir de sus datos sin saber cómo ni porqué se podrían separar.

Ejemplos:

  1. Ordenar fotos según aparición en rostros.

  2. Segmentación de mercados.

  3. Compresión de información.

3. Algoritmos

Algoritmos de Extracción de Reglas

Los datos se usan para la extracción de reglas o relaciones previamente desconocidas entre los datos. A menudo no existe una relación predictiva entre los datos, sino que simplemente existe una relación no causal entre los atributos de los datos. El desafío es encontrar las relaciones no predictivas entre los datos, sin conocerlas a priori.

Ejemplos:

  1. Reconocimiento de Voz.

  2. Recomendación de Productos.

  3. Cerveza y pañales.

4. Consejos

Excelente artículo de Pedro Domingos: A Few Useful Things to Know about Machine Learning.

  1. Learning = Representation + Evaluation + Optimization
  2. La meta fundamental es generalizar a partir de los ejemplos.
  3. Sólo tener datos no es suficiente.
  4. Cuidado con overfitting en el modelo.
  5. La intuición es difícil en grandes dimensiones.

4. Consejos

6 Resultados teóricos no son lo que parecen. Probar vence a teorizar.

7 Preparación de datos es esencial.

8 Más datos es mejor que un algoritmo más astuto.

9 Aprender muchos modelos, no śolo uno.

10 Simplicidad no implica exactitud.

11 Correlación no implica causalidad, aunque a veces es suficiente.