mineração de dados com a presença da deriva conceitual

64
Abordagens de Mineração de Dados com a presença de deriva conceitual. Aprendizagem de Màquina & Mineração de Dados Discente: Luis M. Rojas Aguilera Professores: Dra. Eulanda Miranda Dos Santos Dr. Marcos Cristo

Upload: luis-miguel-rojas-aguilera

Post on 23-Jan-2018

191 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Mineração de dados com a presença da deriva conceitual

Abordagens de Mineração de Dados

com a presença de deriva conceitual.

Aprendizagem de Màquina &

Mineração de Dados

Discente: Luis M. Rojas Aguilera

Professores: Dra. Eulanda Miranda Dos

Santos

Dr. Marcos Cristo

Page 2: Mineração de dados com a presença da deriva conceitual

All models are wrong but some

are usefull.

George E. P. Box

Page 3: Mineração de dados com a presença da deriva conceitual

◎Fluxos de dados (streams)

◎Deriva conceitual

◎Stream data mining

◎Clasificadores individuais com

mecanismos de esquecimento

◎Abordagens tipos ensemble

◎Resultados da experimentação

◎Conclusões

Agenda

Page 4: Mineração de dados com a presença da deriva conceitual

Stream

Data

MiningFluxo de dados

Deriva conceitual

Page 5: Mineração de dados com a presença da deriva conceitual

Um stream, ou fluxo de dados, é uma sequência

ordenada de instâncias que em muitas aplicações de

mineração pode ser lido apenas uma ou um pequeno

número de vezes usando recursos de computação e

armazenamento limitados.

Fluxo de dados (streams)

Page 6: Mineração de dados com a presença da deriva conceitual

◎ Impossível armazenar todos os dados.

◎Velocidade de chegada dos elementos

obriga cada elemento particular a ser

processado essencialmente em tempo

real.

◎Os dados do passado podem tornar-se

irrelevantes ou mesmo prejudiciais.

Características

Page 7: Mineração de dados com a presença da deriva conceitual

Streamings de dados são caracterizados pela existência

de derivas de conceitos, o seja, o mecanismo de geração

de dados subjacente, ou o conceito que está sendo

tentado aprender a partir dos dados, está em constante

evolução.

Page 8: Mineração de dados com a presença da deriva conceitual

Conceito refere-se à variável alvo, que o modelo vai

tentar prever. Uma mudança de conceito é a alteração do

conceito subjacente ao longo do tempo. O problema da

deriva conceitual descreve uma mudança de conceito

que acontece de maneira não esperada.

Deriva conceitual

Page 9: Mineração de dados com a presença da deriva conceitual

É uma substituição imprevista de uma fonte de dados S1

(com uma subjacente distribuição de probabilidade ΠS1),

com outra fonte S2 (com distribuição ΠS2).

Deriva conceitual

Page 10: Mineração de dados com a presença da deriva conceitual

Deriva conceitual

Page 11: Mineração de dados com a presença da deriva conceitual

Registros

históricos

Aprendiz

Modelo

Dados de

produção

Classificador

Classificações

Stream

Aprendiz Modelo Classificador

Stream Data Mining e

Mineração Tradicional

Page 12: Mineração de dados com a presença da deriva conceitual

Stream Data Mining e

Mineração TradicionalTradicional Stream Data Mining

Nùmero de passes Vàrios Simples

Tempo de

processamentoIlimitado Restringido

Uso de memòria Ilimitado Restringido

Tipo de resultadoExato Aproximado

Conceito Estàtico Evolutivo

Page 13: Mineração de dados com a presença da deriva conceitual

Classificadores (individual ou ensemble), se destinados a

ambientes não estacionários, tem que se adaptar aos

cambios de conceito. Um classificador para um fluxo de

dados deve ser capaz de reagir á mudança de conceito

esquecendo dados desatualizados e ao mesmo tempo

aprender novas descrições de classe.

Page 14: Mineração de dados com a presença da deriva conceitual

Mecanismos

de

esqueciment

oJanelas deslizantes

Deteitores de deriva

Page 15: Mineração de dados com a presença da deriva conceitual

Janelas deslizantes

Classificador

Refazer ou atualizar

Janela deslizante

Page 16: Mineração de dados com a presença da deriva conceitual

Janelas deslizantes

Algoritmo 1 Algoritmo básico de janelas deslizantes

Entrada: S: stream de exemplos

W: janela de exemplos

Saída: C: um classificador a partir dos dados en W

1: Inicializa janela W;

2: para todos os exemplos xi ∈ S faza:

3: W ← W ⋃ { xi }

4: Se necessário apagar exemplos não actuais de W;

5: Refazer / Atualizar C utilizando W;

Page 17: Mineração de dados com a presença da deriva conceitual

Ao usar janelas de tamanho fixo existe um dilema. Ao

escolher um tamanho pequeno para a janela o

classificador irá reagir rapidamente às mudanças, mas

pode perder em precisão em períodos de estabilidade, a

escolha de um tamanho grande vai resultar em um

aumento da precisão em períodos de estabilidade, mas

vai deixar de se adaptar às rápidas mudanças. É por isso

que formas dinâmicas de modelação do processo de

esquecimento têm sido propostos.

Page 18: Mineração de dados com a presença da deriva conceitual

Janelas com funções de

peso

Algoritmo 2 Algoritmo básico de janelas com funções de peso

Entrada: S: stream de exemplos

k: tamanho da janela

w(): função de peso

Saída: W: janela de exemplos

1: Inicializa janela W;

2: para todos os exemplos xi ∈ S faza:

3: se |W| = k entonces:

4: Apagar exemplos não actuais de W;

5: W ← W ⋃ { xi }

6: para todos os exemplos xj ∈ W faza:

7: Calcular peso dos exemplos w(xj)

Page 19: Mineração de dados com a presença da deriva conceitual

Janelas dinâmicas

FISH : utiliza igualdades de tempo e espaço

entre exemplos.

ADWIN : Sempre que duas sub janelas de W,

suficientemente grandes, exibem médias

bastante distintas, pode-se concluir que os

correspondentes valores esperados são

diferentes.

Page 20: Mineração de dados com a presença da deriva conceitual

Depois de técnicas de janelas, outro grupo de algoritmos

que permitem adaptar quase qualquer

mecanismo de aprendizagem para mineração de fluxos

de dados evolutivos são os detectores de concept drift.

Page 21: Mineração de dados com a presença da deriva conceitual

Deteitores de

deriva

conceitualDDM

EDDM

Page 22: Mineração de dados com a presença da deriva conceitual

DDM: Drift Detection MethodStream

Aprendiz Modelo Classificador

Quantidade de erros tem distribução

binomial

si =√pi * (1 - pi) /i

si : desvío standard

pi: probabilidade de predição

errada

n >

30

Distribuçao normal

si + pi ⦥ pmin+ ∝ * smin nível de aviso

si + pi ⦥ pmin+ 𝛽 * smin nível de alarme

∝ : Coeficiente de confiança de aviso

𝛽 : Coeficiente de confiança de alarma de deriva

Page 23: Mineração de dados com a presença da deriva conceitual

EDDM: Drift Detection Method

2*si'+ pi'/ 2*smax'+ pmax' < ∝ nível de aviso

3*si'+ pi'/ 3*smax'+ pmax' < 𝛽 nível de alarme

pi': Distância media entre dois ocorrências de erros

consecutivas.

si': Devío standard

∝ : Coeficiente de confiança de aviso

𝛽 : Coeficiente de confiança de alarma de presença de

deriva

Page 24: Mineração de dados com a presença da deriva conceitual

Árvores de Hoeffding As árvores de decisão foram os primeiros

mecanismos de aprendizagem a serem

adaptados para mineração de fluxo de dados

usando o Salto de Hoeffding o que dá certo

nível de confiança sobre o melhor atributo

para dividir a árvore utilizando calculos

probabilísticos baseados em exemplos

anteriores, portanto, é possível construir o

modelo baseado em certo número de

instâncias já vistas.

Page 25: Mineração de dados com a presença da deriva conceitual

Salto de Hoeffding

∊ = √ (R2 ln(1/δ) )/2n

Com probabilidade 1-δ a méia de acerto de

uma variável aleatória com extenção R não vai

ser diferente da méia estimada depois de n

observações por mais de:

Page 26: Mineração de dados com a presença da deriva conceitual

Árvores de Hoeffding

Em vez de selecionar o melhor atributo depois

de ver todos os exemplos, ele usa o salto de

Hoeffding para calcular o número de exemplos

necessários para selecionar o nó de divisão

correto.

Page 27: Mineração de dados com a presença da deriva conceitual

Árvores con mecanismos de

esquecimento

CVFDT : Very Fast Desition Tree, utiliza uma

janela de tamanho fixo para determinar quáis

nós estão envelhecendo e poderiam precisar

atualização. Utiliza o salto de Hoeffding e basea-

se em apagar as folhas menos promissoras.

HT + EWMA(Exponential Weighted Moving

Average )

HT + ADWIN(Adaptive Windowing )

Page 28: Mineração de dados com a presença da deriva conceitual

Algoritmos

tipo

ensembleHoeffding Option Trees

Accuracy Weighted Ensemble

Page 29: Mineração de dados com a presença da deriva conceitual

Um classificador tipo ensemble combina a probabilidade

resultante de um conjunto de classificadores individuais.

Constitui uma maneira comum de aumentar a precisão

da classificação. Devido à sua modularidade fornecem

uma forma natural de adaptação à mudança, modificando

membros do conjunto. A decisão combinada de muitos

classificadores individuais geralmente é mais precisa do

que aquela dada por um único componente.

Page 30: Mineração de dados com a presença da deriva conceitual

Algoritmos ensemble

Algoritmo 3 Algoritmo de treinamento ensemble genérico

Entrada:S: stream de exemplos

k: quantidade de classificadores no ensemble

Saída: E: ensemble (conjunto) de classificadores

1: E ← k classificadores;

2: para todos os classificadores Ci ∈ E faza:

3: Coloca um peso a cada exemplo en S para criar uma distribução de peso Dm ;

4: Cria ou atualiza Ci com S modificada pela Dm

Page 31: Mineração de dados com a presença da deriva conceitual

Hoeffding Option Trees

São árvores de Hoeffding regulares os quais

contem nós de opções adicionais que

permitem a

aplicação de vários testes, levando a várias

árvores Hoeffding como caminhos separados.

Page 32: Mineração de dados com a presença da deriva conceitual

Hoeffding Option Trees

Consistem em uma única estrutura que

efficientemente representa várias árvores. Um

exemplo particular pode viajar para baixo

vários caminhos da árvore, contribuindo, de

maneras distintas, a diferentes opções.

Page 33: Mineração de dados com a presença da deriva conceitual

Hoeffding Option Trees

Permitem que cada exemplo de treinamento

atualize um conjunto de nós de opção ao

invés de apenas uma única folha onde os nós

de opção funcionam como nós da árvore de

decisão padrão com a diferença de que eles

podem dividir os caminhos de decisão em

várias sub-árvores

Page 34: Mineração de dados com a presença da deriva conceitual

Hoeffding Option Trees

Em vez de selecionar o melhor atributo depois

de ver todos os exemplos, ele usa o salto de

Hoeffding para calcular o número de exemplos

necessários para selecionar o nó de divisão

correto.

Page 35: Mineração de dados com a presença da deriva conceitual

Hoeffding Option Trees

Temperatura

Nó de opção Humidade

Aspecto

exterior

Sol EscuroChuvos

o

Nó de opçãoVentos

o

Humidad

e

Op1 Op1 Op1Sim Não < 85

>=8

5

>= 70< 70

>= 15< 15

Op 1 Op 2

Page 36: Mineração de dados com a presença da deriva conceitual

Accuracy Weighted

Ensemble

O fluxo de dados de entrada é dividido em

pedaços sequenciais do mesmo tamanho

cada um, S1, S2, ... , Sn, sendo Sn o pedaço

mais actual. Vai se a aprender um

classificador Ci para cada Si, i ≥ 1.

Page 37: Mineração de dados com a presença da deriva conceitual

Accuracy Weighted

Ensemble

Limite ÓtimoOverfitting

Page 38: Mineração de dados com a presença da deriva conceitual

Accuracy Weighted

Ensemble

Decisões baseadas na distribuição de classe

dos exemplos tendem a ser melhores do que

aquelas baseadas unicamente em o tempo de

chegada dos dados. Os dados históricos cujas

distribuições de classe são semelhantes à de

dados atuais podem reduzir a varianza do

modelo mais recente (atual) e aumentar a

precisão da classificação.

Page 39: Mineração de dados com a presença da deriva conceitual

Accuracy Weighted

Ensemble

Dados exemplos de teste T, é preciso dar a

cada classificador Ci um peso inversamente

proporcional ao erro esperado de Ci na

classificação de T. O peso do classificador Ci

é derivado através de uma estimativa do erro

na predição esperada a partir dos exemplos

de teste.

Page 40: Mineração de dados com a presença da deriva conceitual

Accuracy Weighted Ensemble

Probabilidade dada pelo classificador Ci que x é uma instância da classe c

(1)

(2)

(3)

Erro quadrático médio de um classificador seleccionado aleatoriamente

Erro quadrático médio de um classificador i.

Page 41: Mineração de dados com a presença da deriva conceitual

Accuracy Weighted Ensemble

Algoritmo 4 Algoritmo AWE

Entrada:S: stream de exemplos

d: tamanho de cada pedaço de dados

C: conjunto de classificadores já treinados (opcional)

k: quantidade total de classificadores

Saída: E: ensemble (conjunto) de k classificadores com peços atualizados

1: Para todos os pedaços de dados (data chunk) xi ∈ S faza:

2: treinar C' em xi

3: computar taza de erro de C' usando validação cruzada en S

4: obter peso w' para C' usando (3)

5: Para todos os classificadores Ci ∈ C faza:

6: aplicar Ci em xi para obter MSEi

7: computar wi baseado em (3)

8: E ← os k classificadores com melhor peso en C ⋃ {C' }

9: C ← C ⋃ {C' }

Page 42: Mineração de dados com a presença da deriva conceitual

Experimentação

Page 43: Mineração de dados com a presença da deriva conceitual

Ambiente de software para desenvolvimento

de algoritmos e para a realização de

experimentos para a aprendizagem online

desenvolvido em Java. Contém uma coleção

de geradores de fluxo de dados, algoritmos

de aprendizado on-line e procedimentos de

avaliação.

Massive Online Analysis

Page 44: Mineração de dados com a presença da deriva conceitual

Dos métodos classificadores individuais, foi escolhida

uma Árvore Hoeffding com um detector de deriva

conceitual DDM (HT + DDM) e uma árvore de desiçao

com uma janela estática (Árvore + Janela). Dos métodos

tipo ensemble foram escolhidos o Accuracy Weighted

Ensemble (AWE) e o Hoeffding Option Tree (HOT).

Page 45: Mineração de dados com a presença da deriva conceitual

Avaliador tipo data chunk

...X1 X2X0 Xi

Treinar modelo com X0

Testar modelo em X1

Atualizar modelo com

X1

Testar modelo em X2

Atualizar modelo com

X2

Testar modelo em Xi

Atualizar modelo com

Xi

Page 46: Mineração de dados com a presença da deriva conceitual

Colecções

Page 47: Mineração de dados com a presença da deriva conceitual

Australian New South Wales

Electricity MarketNeste mercado, os preços não são fixos e são

afetados pela demanda e oferta do mercado,

etapa do ano, tempo e hora do dia, ao mesmo

tempo, mostrando sensibilidade para eventos

de curta duração, os quais foram ajustados a

cada cinco minutos. O conjunto de dados

contém 45,312 casos. A etiqueta de classe

(up, down) identifica a mudança de preço

relativo a um médio móvel das últimas 24

horas. Contem concept drift tipo abrupta.

Page 48: Mineração de dados com a presença da deriva conceitual

Gerador MOA Waveform

Ele consiste de um fluxo de dados com três

classes de decisão onde as instâncias são

descritos com 40 atributos. Os dados gerados

apresentam deriva conceitual de tipo gradual.

Page 49: Mineração de dados com a presença da deriva conceitual

ResultadosUso da memoria

Tempo de treino e

teste

Acuracia e reacção á

deriva conceitual

Conclusões

Page 50: Mineração de dados com a presença da deriva conceitual

Tempo médio em ms.

Waveform Electricity Market

Treino Teste Treino Teste

HT + DDM 162,3 9,03 3,1 0,37

Árvore +

Janela23,4 17,53 17,36 1,32

HOT 2615,73 50,12 87,1 4,34

AWE465,13 120,1 50,7 10,26

Page 51: Mineração de dados com a presença da deriva conceitual

Tempo treino no Waveform

Page 52: Mineração de dados com a presença da deriva conceitual

Tempo teste no Waveform

Page 53: Mineração de dados com a presença da deriva conceitual

Tamanho médio dos

modelos em MB

Waveform Electricity Market

HT + DDM 1,23 0,03

Árvore +

Janela0,26 0,12

HOT 12,26 0,39

AWE0,37 0,19

Page 54: Mineração de dados com a presença da deriva conceitual

Uso da memoria em

Waveform

Page 55: Mineração de dados com a presença da deriva conceitual

Uso da memoria em

Electricity Market Dataset

Page 56: Mineração de dados com a presença da deriva conceitual

Acuracia média dos modelos

em percentagem.

Waveform Electricity Market

HT + DDM 82,47 67,53

Árvore +

Janela77,38 56,67

HOT 84,93 75,22

AWE81,87 68,55

Page 57: Mineração de dados com a presença da deriva conceitual

Acuracia média dos modelos

em Waveform.

Page 58: Mineração de dados com a presença da deriva conceitual

Acuracia média dos modelos

em Electricity Market DS.

Page 59: Mineração de dados com a presença da deriva conceitual

Conclusões

Page 60: Mineração de dados com a presença da deriva conceitual

ConclusõesNeste trabalho, foi abordado o problema de

mineração de fluxos de dados os quais

contem deriva conceitual. Foram definidas as

principais características dos streams de

dados e discutido diferentes tipos de

alterações que ocorrem nestes. Foram

analisadas as estratégias de classificadores

individuais com mecanismos de

esquecemento tipo janela e com deteitores de

deriva e algoritmos compostos por um grupo

de classificadores individuais trabalhando

juntos.

Page 61: Mineração de dados com a presença da deriva conceitual

Conclusões

Dos algoritmos analisados no geral o

algoritmo HOT apresentou melhor acuracia

nos testes, mas a utilização da memoria e os

tempos de treino e teste que precisa não são

os melhores e esse é um aspecto muito

importante em Stream Data Mining.

Page 62: Mineração de dados com a presença da deriva conceitual

Conclusões

Dos algoritmos estudados é difícil seleccionar

o mais apropriado para a generalidade dos

processos. A necessidade de processamento

on-line com restrições no tempo ea memória

obriga aos investigadores a concentrar-se no

uso dos recursos, enquanto á concepção de

classificadores precisos.

Page 63: Mineração de dados com a presença da deriva conceitual

ReferênciasBifet, Albert, and Bifet Albert. 2009. “Adaptive Learning and Mining for Data Streams and

Frequent Patterns.” ACM SIGKDD Explorations Newsletter 11 (1): 55.

“Datasets.” 2011a. MOA Massive Online Analysis. August 29.

http://moa.cms.waikato.ac.nz/datasets/ .

Domingos, Pedro, Domingos Pedro, and Hulten Geoff. 2000. “Mining High-Speed Data

Streams.” In Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge

Discovery and Data Mining - KDD ’00. doi:10.1145/347090.347107 .

Gaber, Mohamed Medhat. 2011. “Advances in Data Stream Mining.” Wiley Interdisciplinary

Reviews. Data Mining and Knowledge Discovery 2 (1): 79–85.

Gaber, Mohamed Medhat, Zaslavsky Arkady, and Krishnaswamy Shonali. 2009. “Data Stream

Mining.” In Data Mining and Knowledge Discovery Handbook, 759–87.

Kurlej, B, and M Wozniak. 2011. “Active Learning Approach to Concept Drift Problem.” Logic

Journal of the IGPL / Interest Group in Pure and Applied Logics 20 (3): 550–59.

Maloof, Marcus A. 2005. “Concept Drift.” In , 202–6.

Pechenizkiy, Mykola. 2013. Handling Concept Drift in Adaptive Information Systems.

Read, Jesse, Read Jesse, and Bifet Albert. 2014. “Data Stream Mining.” In , 664–66.

Seema, S. 2012. “Classification of Evolving Stream Data Using Improved Ensemble Classifier.”

International Journal of Data Mining & Knowledge Management Process 2 (4): 1–9.

Wang, Haixun, Wang Haixun, Fan Wei, Philip S Yu, and Han Jiawei. 2003. “Mining Concept-

Drifting Data Streams Using Ensemble Classifiers.” In Proceedings of the Ninth ACM SIGKDD

International Conference on Knowledge Discovery and Data Mining - KDD ’03.

doi:10.1145/956755.956778 .

Yao, Yuan, and Yao Yuan. 2013. “Concept Drift Visualization.” Journal of Information and

Computational Science 10 (10): 3021–29.

Yusuf, B Reshma, Yusuf B.Reshma, and Reddy P.Chenna. 2012. “Mining Data Streams Using

Option Trees.” International Journal of Computer Network and Information Security 4 (8): 49–

Page 64: Mineração de dados com a presença da deriva conceitual

Thanks!Any questions?

You can find me at:

[email protected]