Minería de secuencias de datos

424 views

Published on

Presentación de mi proyecto fin de master.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
424
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Minería de secuencias de datos

  1. 1. Minería de secuencias de datosAutor: Manuel Martín SalvadorTutores: Luis M. de Campos y Silvia Acid Máster en Soft Computing y Sistemas Inteligentes Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Granada
  2. 2. Índice1. Secuencias de datos2. Aprendizaje online3. Evaluación4. Taxonomía de métodos5. Aportaciones6. MOA7. Experimentación8. Conclusiones y trabajos futuros 2
  3. 3. Secuencias de datos1. Formadas por instancias que llegan al sistema a discreción. ● En clasificación: instancia = (a1 , a2 , …, an , c)2. Tamaño ilimitado.3. Pueden presentar cambios en la distribución subyacente → cambios de concepto 3
  4. 4. Cambios de concepto● Se produce cuando los datos de una secuencia pasan de tener una distribución de probabilidad ПS1 a otra ПS2. Posibles causas: ● Cambio en P(C) ● Cambio en P(X|C) ● Cambio en P(C|X)● Son impredecibles● Ejemplo: spam 4
  5. 5. Cambio de concepto gradual 5
  6. 6. Tipos de cambios de concepto 6
  7. 7. Tipos de cambios de concepto 7
  8. 8. Ejemplo: STAGGER color=red color=green size=mediumClase=true si → y o o size=small shape=cricle size=large 8
  9. 9. Aprendizaje online (o incremental)● Objetivo: aprender incrementalmente un clasificador al menos tan preciso como si se hubiese entrenado en batch.● Requisitos: 1. Incremental 2. Una pasada 3. Limitación de tiempo y memoria 4. Disponibilidad inmediata del modelo 9
  10. 10. Aprendizaje online (o incremental)● Objetivo: aprender incrementalmente un clasificador al menos tan preciso como si se hubiese entrenado en batch.● Requisitos: 1. Incremental 2. Una pasada 3. Limitación de tiempo y memoria 4. Disponibilidad inmediata del modelo● Deseable: posibilidad de trabajar con secuencias con cambios de concepto. 10
  11. 11. EvaluaciónDistintos criterios: ● Tiempo → segundos ● Memoria → RAM/hora ● Poder de generalización → % acierto ● Detección de cambios de concepto → drifts detectados, falsos positivos y falsos negativos 11
  12. 12. EvaluaciónDistintos criterios: ● Tiempo → segundos ● Memoria → RAM/hora ● Poder de generalización → % acierto ● Detección de cambios de concepto → drifts detectados, falsos positivos y falsos negativosProblema: no podemos utilizar las técnicas tradicionalesde evaluación (ej. cross validation). → Solución: nuevasestrategias. 12
  13. 13. Evaluación: prequential● Test y training cada instancia. errores instancias procesadas● Es un estimador pesimista: arrastra los errores desde el principio de la secuencia. → Solución: mecanismos de olvido (ventana deslizante y factor de olvido). errores en ventana Ventana deslizante: tamaño ventana …... errorActual⋅errores Factor de olvido: 1⋅instancias procesadas …... Ventajas: No se excluye ningún dato para el entrenamiento. Adecuada para secuencias con cambios de concepto. 13
  14. 14. Evaluación: comparaciones ¿Cómo saber qué método es mejor? 14
  15. 15. Evaluación: comparaciones ¿Cómo saber qué método es mejor? → AUC 15
  16. 16. Evaluación: detección de drifts● Primer detectado: correcto.● Siguientes detectados: falsos positivos.● No detectados: falsos negativos.● Distancia = correcto – real. 16
  17. 17. Taxonomía de métodos ● Detección de cambio ● Ventana de entrenamiento Disparadores ● Muestreo adaptativo ✔ Ventajas: se pueden acoplar a cualquier algoritmo de clasificación. ✗ Inconvenientes: una vez detectado un cambio, desechan el modelo antiguo y reaprenden uno nuevo. 17
  18. 18. Taxonomía de métodos ● Detección de cambio ● Ventana de entrenamiento Disparadores ● Muestreo adaptativo ✔ Ventajas: se pueden acoplar a cualquier algoritmo de clasificación. ✗ Inconvenientes: una vez detectado un cambio, desechan el modelo antiguo y reaprenden uno nuevo. ● Conjuntos adaptativos ● Ponderación de instancias Evolutivos ● Espacio de características ● Dependientes del modelo ✔ Ventajas: adaptan el modelo con el paso del tiempo. ✗ Inconvenientes: no detectan cambios. 18
  19. 19. Aportaciones● Taxonomía: disparadores → detección de cambio ● MoreErrorsMoving ● MaxMoving ● Moving Average – Heurística 1 – Heurística 2 – Heurística híbrida: 1+2● P-chart con 3 niveles: normal, aviso (warning) y cambio (drift) 19
  20. 20. Aportaciones: MoreErrorsMoving● Monitorizamos los n últimos resultados de clasificación → Histórico = {ei , ei+1 , …, ei+n} (ej. 0,0,1,1)● Tasa de error del histórico:● Controlamos los empeoramientos consecutivos● En cada instante de tiempo: ● Si ci - 1 < ci (más errores) → empeoramientos++ ● Si ci - 1 > ci (menos errores) → empeoramientos=0 ● Si ci - 1 = ci (igual) → empeoramientos no cambia 20
  21. 21. Aportaciones: MoreErrorsMoving● Si empeoramientos consecutivos > k → activar Warning● Si empeoramientos consecutivos > k+d → activar Drift● En otro caso → activar Normalidad 21
  22. 22. Aportaciones: MoreErrorsMoving Histórico = 8 Warning = 2 Drift = 4 Drift detectados: 46 y 88 Distancia a drifts reales: 46-40 = 6 88-80 = 8 22
  23. 23. Aportaciones: MaxMoving● Monitorizamos las n últimas tasas de éxito acumuladas desde el último cambio ● Histórico={ai , ai+1 , …, ai+n} (ej. H={2/5, 3/6, 4/7, 4/8})● Máximo del histórico:● Controlamos los empeoramientos consecutivos● En cada instante de tiempo: ● Si mi < mi - 1 → empeoramientos++ ● Si mi > mi - 1 → empeoramientos=0 ● Si mi = mi - 1 → empeoramientos no cambia 23
  24. 24. Aportaciones: MaxMoving Histórico = 4 Warning = 4 Drift = 8 Drift detectados: 52 y 90 Distancia a drifts reales: 52-40 = 12 90-80 = 10 24
  25. 25. Aportaciones: Moving Average Objetivo: suavizar tasas de acierto para una mejor detección. 25
  26. 26. Aportaciones: Moving Average 1● Suavizamos las m últimas tasas de acierto acumuladas → Media móvil simple (media aritmética)● Controlamos los empeoramientos consecutivos● En cada instante de tiempo: ● Si st < st - 1 → empeoramientos++ ● Si st > st - 1 → empeoramientos = 0 ● Si st = st - 1 → empeoramientos no cambia 26
  27. 27. Aportaciones: Moving Average 1 Suavizado = 32 Warning = 4 Drift = 8 Drift detectados: 49 y 91 Distancia a drifts reales: 49-40 = 9 91-80 = 11 27
  28. 28. Aportaciones: Moving Average 2● Mantenemos un histórico de tamaño n con las tasas de acierto suavizadas → Histórico={si, si+1, …, si+n}● Máximo del histórico:● Controlamos la diferencia entre st y mt - 1● En cada instante de tiempo: ● Si mt – 1 - st > u → activamos Warning ● Si mt – 1 - st > v → activamos Drift ● En otro caso → activamos Normalidad● Adecuado para cambios bruscos 28
  29. 29. Aportaciones: Moving Average 2 Suavizado = 4 Histórico = 32 Warning = 2% Drift = 4% Drift detectados: 44 y 87 Distancia a drifts reales: 44-40 = 4 87-80 = 7 29
  30. 30. Aportaciones: Moving Average Híbrido ● Combinamos las heurísticas 1 y 2: ● Si Warning1 o Warning2 → activar Warning ● Si Drift1 o Drift2 → activar Drift ● En otro caso → activar Normalidad 30
  31. 31. MOA: Massive Online Analysis● Entorno para trabajar con secuencias de datos en clasificación, regresión y clustering.● Universidad de Waikato → Integración con WEKA● Interfaz gráfica y línea de comandos.● Generación de secuencias de datos.● Métodos de evaluación (holdout y prequential).● Software libre y gratuito. http://moa.cs.waikato.ac.nz 31
  32. 32. Experimentación● Nuestras secuencias de datos: ● 5 sintéticas con cambios abruptos ● 2 sintéticas con cambios graduales ● 1 sintética con ruido ● 3 con datos reales 32
  33. 33. Experimentación● Nuestras secuencias de datos: ● 5 sintéticas con cambios abruptos ● 2 sintéticas con cambios graduales ● 1 sintética con ruido ● 3 con datos reales● Algoritmo de clasificación: Naive Bayes 33
  34. 34. Experimentación● Nuestras secuencias de datos: ● 5 sintéticas con cambios abruptos ● 2 sintéticas con cambios graduales ● 1 sintética con ruido ● 3 con datos reales● Algoritmo de clasificación: Naive Bayes● Métodos de detección: Sin detección MovingAverage1 MoreErrorsMoving MovingAverage2 MaxMoving MovingAverageH DDM EDDM 34
  35. 35. Experimentación● Ajuste de parámetros: ● 4 secuencias y 5 métodos → 288 experimentos 35
  36. 36. Experimentación● Ajuste de parámetros: ● 4 secuencias y 5 métodos → 288 experimentos● Estudio comparativo: ● 11 secuencias y 8+1 métodos → 99 experimentos 36
  37. 37. Experimentación● Ajuste de parámetros: ● 4 secuencias y 5 métodos → 288 experimentos● Estudio comparativo: ● 11 secuencias y 8+1 métodos → 99 experimentos● Evaluación: prequential 37
  38. 38. Experimentación● Ajuste de parámetros: ● 4 secuencias y 5 métodos → 288 experimentos● Estudio comparativo: ● 11 secuencias y 8+1 métodos → 99 experimentos● Evaluación: prequential● Métricas: ● AUC: área bajo la curva de tasas de éxito acumuladas ● Número de drifts correctos ● Distancia a drifts ● Falsos positivos y falsos negativos 38
  39. 39. Experimentación: Agrawal 39
  40. 40. Experimentación: Electricity 40
  41. 41. Conclusiones de la experimentación1. Con cambios abruptos: ● Más victorias: DDM y MovingAverageH ● Mejor en media: MoreErrorsMoving → muy reactivo2. Con cambios graduales: ● Mejores: DDM y EDDM ● Problema: muchos falsos positivos → ajuste de parámetros realizado con cambios abruptos3. Con ruido: ● Único vencedor: DDM ● Problema: sensibilidad al ruido → ajuste de parámetros realizado sin ruido4. Datos reales: ● Mejores: MovingAverage1 y MovingAverageH 41
  42. 42. Conclusiones del trabajo1. Nuestros métodos son competitivos, aunque sensibles según los parámetros → Ajuste dinámico2. Evaluación no trivial → Necesaria una estandarización3. Gran campo de aplicación en la industria4. Tema candente: últimos artículos de 2011 + conferencias 42
  43. 43. Trabajos futuros1. Ajuste dinámico de parámetros.2. Medir la brusquedad del cambio para: ● Aplicar distintos mecanismos de olvido. ● Ajustar el grado de cambio del modelo.3. Desarrollar un algoritmo de aprendizaje incremental basado en Redes Bayesianas que permita cambios parciales del modelo cuando se detecte un drift. 43
  44. 44. Gracias 44

×