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

Post on 23-Jan-2018

191 views 0 download

transcript

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

All models are wrong but some

are usefull.

George E. P. Box

◎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

Stream

Data

MiningFluxo de dados

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)

◎ 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

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.

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

É 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

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

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

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.

Mecanismos

de

esqueciment

oJanelas deslizantes

Deteitores de deriva

Janelas deslizantes

Classificador

Refazer ou atualizar

Janela deslizante

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;

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.

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)

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.

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.

Deteitores de

deriva

conceitualDDM

EDDM

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

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

Á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.

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:

Á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.

Á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 )

Algoritmos

tipo

ensembleHoeffding Option Trees

Accuracy Weighted Ensemble

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.

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

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.

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.

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

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.

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

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.

Accuracy Weighted

Ensemble

Limite ÓtimoOverfitting

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.

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.

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.

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' }

Experimentação

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

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).

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

Colecções

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.

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.

ResultadosUso da memoria

Tempo de treino e

teste

Acuracia e reacção á

deriva conceitual

Conclusões

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

Tempo treino no Waveform

Tempo teste no Waveform

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

Uso da memoria em

Waveform

Uso da memoria em

Electricity Market Dataset

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

Acuracia média dos modelos

em Waveform.

Acuracia média dos modelos

em Electricity Market DS.

Conclusões

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.

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.

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.

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–

Thanks!Any questions?

You can find me at:

rojas.luis.mail@gmail.com