data mining y machine learning · redes neuronales (corrección de errores de un brazo robótico...

44
Data Mining y Machine Learning Ingeniería de Sistemas Yuri Ccoicca,M.Sc. Ciclo 2017 - I

Upload: phungbao

Post on 06-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Data Mining y Machine Learning

Ingeniería de Sistemas

Yuri Ccoicca,M.Sc. Ciclo 2017 - I

Análisis de Datos

El análisis de datos es el proceso en el que los datos en bruto son ordenados yorganizados, para ser utilizados en métodos que ayuden a explicar el pasado ypredecir el futuro. Analizar datos no trata solo sobre números, sino trata dehacer preguntas, desarrollar explicaciones, y comprobar hipótesis.

El análisis de los datos es un campo multidisciplinario que combina Ciencias dela Computación, Inteligencia Artificial y Machine Learning, Estadística yMatemáticas así como el Dominio de Conocimientos, tal como se muestra en lasiguiente figura:

Básicamente, los datos son hechos o cosas conocidas utilizadas como basepara la inferencia o ajuste decuentas.

El proceso de análisis de datos se compone de los siguientes pasos:

• Declarar el problema

• Obtener los datos

• Limpiar los datos

• Normalizar losdatos

• Transformar los datos

• Explorar estadísticamente

• Explorar la visualización

• Predecir el modelo

• Validar elmodelo

• Visualizar e interpretar sus resultados

• Desplegar su solución

Todasestas actividades se pueden agrupar como se muestra en lasiguiente

figura:

Procesos del Análisis de Datos

Minería de Datos (Data Mining) es el proceso computacional que descubre patrones,

tendencias y comportamientos en grandes conjuntos de datos utilizando técnicas de

inteligencia artificial, algoritmos de aprendizaje automático (Machine Learning), estadística y

bases de datos (datasets). El objetivo general del proceso consiste en extraer información de un

conjunto de datos y transformarlo en una estructura comprensible para su usoposterior.

La minería de datos se considera como sinónimo de otro término utilizado popularmente,

conocido como KDD (descubrimiento de conocimiento en bases de datos), aunque en realidad

es un componente de este. La minería de datos es un paso esencial en el proceso de análisis

predictivo. El proceso de la minería y la extracción de información útil a partir de los datos

existentes es un trabajo interdisciplinario que implica a matemáticos, estadísticos, informáticos y

científicos de la computación.

¿Qué es Data Mining?

Definición de Data Mining

El uso adecuado del término minería de datos, es el descubrimiento de datos. Pero el término es

comúnmente utilizado para la recolección, extracción, almacenamiento, análisis, estadísticas,

inteligencia artificial, aprendizaje automático y la inteligencia de negocios.

Las estadísticas proporcionan herramientas suficientes para el análisis de datos y el aprendizaje

automático trata con las diferentes metodologías de aprendizaje. Antes de que los datos puedan

ser extraído estas necesitan ser limpiadas. Esto elimina los errores y garantiza la coherencia. Los

métodos de minería de datos son la generalización, caracterización, clasificación, agrupación,

asociación, la regresión, la coincidencia de patrones, la visualización de datos, y la regla de meta

minería guiada.

Definición simplificada de DataMining

Más definiciones de Minería de Datos

KDD: Descubrimiento de conocimiento en las bases de datos (Knowledge

Discovery in Databases),

“Proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles

y en última instancia comprensibles a partir de los datos”. (Fayyad et al. 1996)

Data mining: Mineríade datos

“Proceso de extraer conocimiento útil y comprensible, previamente desconocido, desde

grandes cantidades de datos almacenados en distintos formatos” (Witten y Frank,

2000)

Aunque desde un punto de vista académico el término data mining es una etapa dentro de unproceso mayor llamado extracción de conocimiento en bases de datos (Knowledge Discovery inDatabases o KDD) en el entorno comercial, así como en este trabajo, ambos términos se usande manera indistinta. Lo que en verdad hace el data mining es reunir las ventajas de variasáreas como la Estadística, la Inteligencia Artificial, la Computación Gráfica, las Bases de Datos yel Procesamiento Masivo (Big Data), principalmente usando como materia prima las bases dedatos (datasets).

Integración y recopilación

Extracción, transformación y

Carga (ETL)

Data Mining Evaluación e interpretación

Datos iniciales

Almacén de Datos

(DataWarehouse)

Datos seleccionados

Patrones Conocimiento

KDD (Knowledge Discovery fromDatabases)

La idea de data mining no es nueva. Ya desde los años sesenta los

estadísticos manejaban términos como data fishing, data mining o data

archaeology con la idea de encontrar correlaciones sin una hipótesis previa

en bases de datos con ruido. A principios de los años ochenta, Rakesh

Agrawal, Gio Wiederhold, Robert Blum y Gregory Piatetsky-Shapiro, entre

otros, empezaron a consolidar los términos de data mining y KDD. A finales

de los años ochenta sólo existían un par de empresas dedicadas a esta

tecnología; en 2002 existían más de 100 empresas en el mundo que

ofrecen alrededor de 300 soluciones. Las listas de discusión sobre este tema

las forman investigadores de más de ochenta países. Esta tecnología ha sido

un buen punto de encuentro entre personas pertenecientes al ámbito

académico y al de los negocios.

1. SUPERVISADOS: predicen o clasifican el valor de un atributo de un conjunto de datosconocidos como atributos.

• Clasificación: se asignan los registros de datos en categorías predefinidas

• Algoritmos genéticos. Técnicas de optimización que usan procesos como

combinaciones genéticas, mutación y selección natural.

• Redes neuronales: modelos predecibles no lineales, aprenden a través del entrenamiento.

• Árboles de decisión: estructura en forma de árbol que representan conjunto dedecisiones.

• Regresión o estimación: inducir a un modelo de predecir un valor de la clase. Usa árboles

de regresión, regresión lineal, redesneuronales.

2. NO SUPERVISADOS: descubren patrones y tendencias en los datos sin tener ningún tipo de

conocimiento previo acerca de cuales son los patronesbuscados

• Clustering: agrupa los datos basándose en sussimilitudes.

• Análisis de enlace: determina asociaciones entre registros de datos.

• Análisis de frecuencia: análisis de registros ordenados en el tiempo. Detecta

secuencias

Clasificación de algoritmos deMinería de Datos

Los humanos ven

El feature por defecto siempredispara.

Los indices de los features (binarios)que disparan.

instance( class= 7, features=[0,300857,100739,200441,...])

La computadora “ve” instance( class=99, features=[0,201937,196121,345758,13,...])

instance( class=42, features=[0,99173,358387,1001,1,...])

...

Número de features que disparan para instancias individuales no son amen1u0doslos

mismos

Naturaleza genérica de los sistemas de ML

Programación Tradicional

Aprendizaje Automático (Machine Learning)

ComputadoraData

ProgramaOutput

ComputadoraData

OutputPrograma

¿Es ML magia?

No, ML es más

parecido a la jardinería

Semillas = Algoritmos

Nutrientes = Data

Jardinero = Usted

Plantas = Programas

Un vistazo a ML

• Hay decenas de miles de algoritmos de aprendizaje

automático

• Cada año aparecen cientos de nuevos algoritmos

• Cada algoritmo de aprendizaje automático tiene tres

componentes:

• Representacion• Evaluacion• Optimizacion

Representación

• Árboles de decisión• Conjuntos de reglas / Programas lógicos• Instancias• Modelos Gráficos (Bayes/Markov nets)• Redes Neuronales (Neural networks)• SVM (Máquinas de soporte vectorial / Support vector

machines)• Model ensembles• Etc.

Evaluación

• Accuracy• Precision and recall• Squared error• Likelihood• Posterior probability• Cost / Utility• Margin• Entropy• K-L divergence• Etc.

Optimización

• Optimzación Combinatoria

Ejemplo: Greedy search

• Optimización Convexa

Ejemplo: Gradient descent

• Optimización Restringida

Ejemplo: Linear programming

Tipos de aprendizaje

• Aprendizaje Supervisado (inductivo)

Training data includes desired outputs• Aprendizaje no Supervisado

Training data does not include desired outputs• Semi-supervised learning

Training data includes a few desired outputs• Reinforcement learning

Rewards from sequence of actions

29

APLICACIONES DE ML EN NEGOCIOS

CRM - la estrategia de negocio centrada en anticipar,

conocer y satisfacer las necesidades y los deseos presentes

y previsibles de los clientes.

Predicción automatizada de tendencias y comportamientos

Marketing predictivo y personalizado.

30

APLICACIONES DE ML EN CIENCIA

• Astrofísica - Ingentes cantidades de datos – Clasificación, predicción. Proyecto telescopio MAGIC

• Diagnóstico en Psiquiatría y Medicina: Buscar en qué se parecen los pacientes de alguna enfermedad, es decir, aprender por casos que ya han sido diagnosticados.

• Predicción en psicología - proyecto de maltratadores.

• Bioinformática (ADN) - Ingentes cantidades de datos –Clasificación, predicción.

31

APLICACIONES COMPUTACIONALES

• Aplicaciones que aprenden y mejoran con la experiencia:

Mozilla – spam.

• AUTO-PROGAMACION de robots - Aprendizaje mediante

redes neuronales (corrección de errores de un brazo robótico

industrial)

• WEB - Motores de búsqueda (mindset de Yahoo), navegación

personalizada (hiperenlaces personalizados), tiendas

virtuales (Amazon)

• SISTEMAS ADAPTATIVOS (e-learning).

32

INDUSTRIA DEL ENTRETENIMIENTO

• HSS: Predicción del posible éxito de un grupo musical

http://www.hitsongscience.com/

Norah Jones, Maroon 5.

Aquí hay una forma de ganar mucho dinero.

• Pandora, Last-fm

http://www.music-map.com/

• Composición musical

• Predicción de los ganadores del festival de Sundance

33

OTROS

• Deportes - Predicción de lesiones antes de contratar a un

futbolista – Redondo en el Milán.

• Policía - Detección y predicción de posibles policías corruptos

34

RECONOCIMIENTO DE PATRONES

• Reconocimiento de voz

• Clasificación de documentos

OCR (Reconocimiento Óptico de Caracteres)

Reconocimiento de escritura, firmas, talones, cheques…

• Reconocimiento de caras humanas

• Reconocimiento de huellas digitales o el iris, con aplicación en

seguridad informática.

35

LINGÜÍSTICA

• Traductores de inglés

¿Cómo funciona Google translate?

• Comprensión de texto – resúmenes de prensa

36

ROBOTS AUTÓNOMOS

• Conducción autónoma de vehículos

• Visión artificial

Nombre Ventajas Desventajas Opensource? Usuarios

típicos

R Soporte delibrerías;

visualización

Curva de aprendizajealgo

dura

Si Finanzas;

Estadística

Matlab

Elegantesoportematricial;

visualización

Costoso; soporteestadístico

incompleto NoCienciase

Ingeniería

Octave

Gratuito;elegantesoporte

matricial;visualización

Soporteestadístico

incompleto SiCienciase

Ingeniería

SciPy/NumPy/Matplotlib

Python (lenguajede

programacióndepropósito

general) Inmaduro SiCienciase

Ingeniería

Excel Fácil; visual;flexible Grandesconjuntos dedatos

(datasets)

No Negocios

SAS

Grandes conjuntos dedatos

(datasets)

Costoso; lenguaje de

programaciónanticuado No

Negocios;

Gobierno

Stata Fácil análisisestadístico No Ciencias

SPSS Al igual que Stata pero más costosoy pesado

Comparación de software de análisis de datos

http://www.predictiveanalyticstoday.com/top-data-mining-software/

http://www.predictiveanalyticstoday.com/top-15-free-data-mining-software/

Fuente: SAS, IBM y McKinsey GlobalInstitute

Datos, datos y más datos…

Fuente: Intel: What Happens in an InternetMinute?

Crecimiento de los datos: ¿Qué ocurre en un minuto en internet?

Fuente:Intel

Crecimiento de los datos: ¿Quéocurre en un minuto en internet?

Repositorio de datos en el mundo (I)

Uno de los problemas con que siempre se encuentra un dataminer es contar con un set de datos paramodelar o testear los modelos de Data Mining que desarrolla. Por ello compartiremos con ustedes unalista de 15 enlaces a distintos repositorios y directorios de datos gratis para descargar desde la Web y

probar susmodelos:

Un sitio/wiki con enlaces a datasets de variados tópicos.

UCI Machine LearningRepository

ResearchPipeline’s

Repositorio de datos del Center for Machine Learning and Intelligent Systems de la University ofCalifornia

Irvine. Mantiene alrededor de 200 datasets para probar algoritmos de Machine Learning y Data Mining. Puede

visualizarse a través de una interfaz de búsqueda, que incluye el tipo de análisis para el cual la data es la másapropiada y una explicación del origen de losdatos.

UCLA StatisticsDataSets

Colección de alrededor de 800 series de tiempo dediferentesáreas.

StatLib – DatasetsArchive

Repositorio del Departamento de Estadisticas de la Carnegie Mellon University, Pittsburgh. Contiene varios datasets, desde muestreo de arsénico hasta la seriemundial.

KDnuggets

La archi-conocida comunidad de DataMining y Knowledge Discovery. Contiene una grancantidad de

enlaces a distintos repositorios dedatos.

Se pueden encontrar datasets de libros, estadísticas nacionales de las agencias de gobierno delosEE.UU. y archivos de datos de la University of California, LosAngeles.

Time Series DataLibrary

Resources for FaceDetection

Base de datos para probar algoritmos de detección derostros.

Infochimps

Directorio de búsqueda de datos libres y para la venta. Permite buscar dataset por etiquetas o ver los más

populares.

The Data and Story Library(DASL)

DASL (pronunciada “dazzle”) es una bibilioteca online de archivos llamados dafiles y story de la Central Michigan

University que ilustra el uso de métodos estadísticos básicos. Contiene una búsqueda por tópico o método

estadístico.

CHANCE DataSets

Contiene una serie de data sets delimitados por tabuladores del Dartmouth College para revisar conceptos

fundamentales de estadísticas en el contexto de problemas del mundo real.

Data on theNet

Directorio de datos de la University of California, San Diego (UCSD) que permite buscar y acceder a más de 360

sitios con datos paradescargar.

National Archive of Criminal JusticeData

Archivo que permite navegar o buscar conjuntos de datos sobre delincuencia y justicia en el NACJD

General Social Survey(GSS)

La encuesta social general o General Social Survey (GSS) anual del National Opinion Research Center (NORC)de la

University of Chicago. Contiene una gran cantidad de variables que abordan cuestiones demográficas y de actitud,

además de temas deinterés.

IBM Quest Synthetic DataGenerator

Código C++ para generar datos sintéticos para análisis de reglas de asociación, patronessecuenciales y

clasificación.

Datasets gratis de CustomersDNA

Si necesitas datos para probar tu proyecto de data mining, la empresa Customers DNAofrece la descarga de valiosos

datasets de múltiples industrias.Algunos datasets son gratis (registrándose) y otros los puedes comprarvia Paypal.

Datasets for DataMining

Listado de datasets seleccionado por la Universidad de Edinburgh para proyectos de Data Mining y Exploración.

Repositorio de datos en el mundo (II)