Post on 23-Jan-2018
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