SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
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
Mining
Fluxo 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 Tradicional
Tradicional Stream Data Mining
Nùmero de passes Vàrios Simples
Tempo de
processamento
Ilimitado Restringido
Uso de memòria Ilimitado Restringido
Tipo de resultado
Exato 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
o
Janelas 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
conceitual
DDM
EDDM
DDM: Drift Detection Method
Stream
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
ensemble
Hoeffding 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 Escuro
Chuvos
o
Nó de opção
Ventos
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 Ótimo
Overfitting
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
(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 Market
Neste 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.
Resultados
Uso 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 +
Janela
23,4 17,53 17,36 1,32
HOT 2615,73 50,12 87,1 4,34
AWE
465,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 +
Janela
0,26 0,12
HOT 12,26 0,39
AWE
0,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 +
Janela
77,38 56,67
HOT 84,93 75,22
AWE
81,87 68,55
Acuracia média dos modelos
em Waveform.
Acuracia média dos modelos
em Electricity Market DS.
Conclusões
Conclusões
Neste 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
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ências
Bifet, 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
Thanks!
Any questions?
You can find me at:
rojas.luis.mail@gmail.com

Mais conteúdo relacionado

Destaque

Inteligência Artificial: a ciência da antecipação em ambientes incertos
Inteligência Artificial: a ciência da antecipação em ambientes incertosInteligência Artificial: a ciência da antecipação em ambientes incertos
Inteligência Artificial: a ciência da antecipação em ambientes incertosCarlos R. B. Azevedo
 
PLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a ModelosPLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a Modeloselliando dias
 
Matemática das redes - parte II
Matemática das redes - parte IIMatemática das redes - parte II
Matemática das redes - parte IIDalton Martins
 
Matemática das Redes - Parte I
Matemática das Redes - Parte IMatemática das Redes - Parte I
Matemática das Redes - Parte IDalton Martins
 
Pos Usp Ngs Big Data Parte 2
Pos Usp Ngs Big Data Parte 2Pos Usp Ngs Big Data Parte 2
Pos Usp Ngs Big Data Parte 2Beta Campos
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento camila_seixas
 
Como Python pode ajudar na automação do seu laboratório
Como Python pode ajudar na automação do  seu laboratórioComo Python pode ajudar na automação do  seu laboratório
Como Python pode ajudar na automação do seu laboratórioMarcel Caraciolo
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processosTalles Nascimento Rodrigues
 
Introdução à Teoria dos Grafos e Análise de Redes Sociais
Introdução à Teoria dos Grafos e Análise de Redes SociaisIntrodução à Teoria dos Grafos e Análise de Redes Sociais
Introdução à Teoria dos Grafos e Análise de Redes Sociaisfabiomalini
 
Técnicas para o Desenvolvimento de Cronogramas
Técnicas para o Desenvolvimento de CronogramasTécnicas para o Desenvolvimento de Cronogramas
Técnicas para o Desenvolvimento de CronogramasPeter Mello
 

Destaque (10)

Inteligência Artificial: a ciência da antecipação em ambientes incertos
Inteligência Artificial: a ciência da antecipação em ambientes incertosInteligência Artificial: a ciência da antecipação em ambientes incertos
Inteligência Artificial: a ciência da antecipação em ambientes incertos
 
PLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a ModelosPLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a Modelos
 
Matemática das redes - parte II
Matemática das redes - parte IIMatemática das redes - parte II
Matemática das redes - parte II
 
Matemática das Redes - Parte I
Matemática das Redes - Parte IMatemática das Redes - Parte I
Matemática das Redes - Parte I
 
Pos Usp Ngs Big Data Parte 2
Pos Usp Ngs Big Data Parte 2Pos Usp Ngs Big Data Parte 2
Pos Usp Ngs Big Data Parte 2
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento
 
Como Python pode ajudar na automação do seu laboratório
Como Python pode ajudar na automação do  seu laboratórioComo Python pode ajudar na automação do  seu laboratório
Como Python pode ajudar na automação do seu laboratório
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processos
 
Introdução à Teoria dos Grafos e Análise de Redes Sociais
Introdução à Teoria dos Grafos e Análise de Redes SociaisIntrodução à Teoria dos Grafos e Análise de Redes Sociais
Introdução à Teoria dos Grafos e Análise de Redes Sociais
 
Técnicas para o Desenvolvimento de Cronogramas
Técnicas para o Desenvolvimento de CronogramasTécnicas para o Desenvolvimento de Cronogramas
Técnicas para o Desenvolvimento de Cronogramas
 

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

Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive BayesAhirton Lopes
 
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Tchelinux
 
Classificação de séries temporais via divergente entre densidades de probabil...
Classificação de séries temporais via divergente entre densidades de probabil...Classificação de séries temporais via divergente entre densidades de probabil...
Classificação de séries temporais via divergente entre densidades de probabil...André Carvalho
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaFernando Palma
 
Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.Thaci Santos
 
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Ben Hur Bahia do Nascimento
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmoEugenio Caetano
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando RFabrício Barth
 
Data stream mining - TDC POA 2018 (Data Science)
Data stream mining - TDC POA 2018 (Data Science)Data stream mining - TDC POA 2018 (Data Science)
Data stream mining - TDC POA 2018 (Data Science)Andre Nunes
 
TDC18 (POA) Data Science - data stream mining
TDC18 (POA) Data Science - data stream miningTDC18 (POA) Data Science - data stream mining
TDC18 (POA) Data Science - data stream miningAndré Luís Nunes
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...Marcio Machado Pereira
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 

Semelhante a Mineração de dados com a presença da deriva conceitual (20)

Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
 
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
 
Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 
Classificação de séries temporais via divergente entre densidades de probabil...
Classificação de séries temporais via divergente entre densidades de probabil...Classificação de séries temporais via divergente entre densidades de probabil...
Classificação de séries temporais via divergente entre densidades de probabil...
 
Programação Defensiva
Programação DefensivaProgramação Defensiva
Programação Defensiva
 
Scipy meetup-2020-02
Scipy meetup-2020-02Scipy meetup-2020-02
Scipy meetup-2020-02
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
 
Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.
 
Algoritmo0
Algoritmo0Algoritmo0
Algoritmo0
 
Big data
Big dataBig data
Big data
 
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
Classificação: Dimensão VC e Máquinas de Vetores Suporte (SVMs)
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Data stream mining - TDC POA 2018 (Data Science)
Data stream mining - TDC POA 2018 (Data Science)Data stream mining - TDC POA 2018 (Data Science)
Data stream mining - TDC POA 2018 (Data Science)
 
TDC18 (POA) Data Science - data stream mining
TDC18 (POA) Data Science - data stream miningTDC18 (POA) Data Science - data stream mining
TDC18 (POA) Data Science - data stream mining
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
 
Complexidade Cognitiva
Complexidade CognitivaComplexidade Cognitiva
Complexidade Cognitiva
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 

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

  • 1. 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
  • 2. “ All models are wrong but some are usefull. George E. P. Box
  • 3. ◎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
  • 5. 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)
  • 6. ◎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
  • 7. 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.
  • 8. 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
  • 9. É 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
  • 12. Stream Data Mining e Mineração Tradicional Tradicional Stream Data Mining Nùmero de passes Vàrios Simples Tempo de processamento Ilimitado Restringido Uso de memòria Ilimitado Restringido Tipo de resultado Exato Aproximado Conceito Estàtico Evolutivo
  • 13. 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.
  • 15. Janelas deslizantes Classificador Refazer ou atualizar Janela deslizante
  • 16. 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;
  • 17. 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.
  • 18. 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)
  • 19. 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.
  • 20. 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.
  • 22. DDM: Drift Detection Method Stream 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
  • 23. 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
  • 24. Á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.
  • 25. 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:
  • 26. Á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.
  • 27. Á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 )
  • 29. 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.
  • 30. 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
  • 31. 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.
  • 32. 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.
  • 33. 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
  • 34. 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.
  • 35. Hoeffding Option Trees Temperatura Nó de opção Humidade Aspecto exterior Sol Escuro Chuvos o Nó de opção Ventos o Humidad e Op1 Op1 Op1Sim Não < 85 >=8 5 >= 70< 70 >= 15< 15 Op 1 Op 2
  • 36. 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.
  • 38. 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.
  • 39. 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.
  • 40. Accuracy Weighted Ensemble Probabilidade dada pelo classificador Ci que x é uma instância da classe (1) (2) (3) Erro quadrático médio de um classificador seleccionado aleatoriamente Erro quadrático médio de um classificador i.
  • 41. 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' }
  • 43. 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
  • 44. 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).
  • 45. 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
  • 47. Australian New South Wales Electricity Market Neste 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.
  • 48. 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.
  • 49. Resultados Uso da memoria Tempo de treino e teste Acuracia e reacção á deriva conceitual Conclusões
  • 50. Tempo médio em ms. Waveform Electricity Market Treino Teste Treino Teste HT + DDM 162,3 9,03 3,1 0,37 Árvore + Janela 23,4 17,53 17,36 1,32 HOT 2615,73 50,12 87,1 4,34 AWE 465,13 120,1 50,7 10,26
  • 51. Tempo treino no Waveform
  • 52. Tempo teste no Waveform
  • 53. Tamanho médio dos modelos em MB Waveform Electricity Market HT + DDM 1,23 0,03 Árvore + Janela 0,26 0,12 HOT 12,26 0,39 AWE 0,37 0,19
  • 54. Uso da memoria em Waveform
  • 55. Uso da memoria em Electricity Market Dataset
  • 56. Acuracia média dos modelos em percentagem. Waveform Electricity Market HT + DDM 82,47 67,53 Árvore + Janela 77,38 56,67 HOT 84,93 75,22 AWE 81,87 68,55
  • 57. Acuracia média dos modelos em Waveform.
  • 58. Acuracia média dos modelos em Electricity Market DS.
  • 60. Conclusões Neste 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
  • 61. 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.
  • 62. 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.
  • 63. Referências Bifet, 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
  • 64. Thanks! Any questions? You can find me at: rojas.luis.mail@gmail.com

Notas do Editor

  1. O algoritmo básico de janelas é simples. Cada exemplo atualiza a janela e depois, o classificador é atualizado por essa janela. A parte fundamental deste algoritmo reside na definição da janela na forma como se modela o processo de esquecimento. Na abordagem mais simples as janelas são de tamanho fixo e incluem apenas os exemplos mais recentes do fluxo de dados. Com cada nova instancia de dados o exemplo mais antigo que não se encaixa na janela é jogado fora.
  2. Uma forma simples de tornar o processo de esquecimento mais dinâmico é fornecendo a janela com uma função de degradação que atribui um peso para cada exemplo. Exemplos mais velhos recebem pesos menores e são tratados como menos importante pelo classificador base. Existem funções de peso baseadas em criterios especiais definidos pelo treinador.
  3. Criado por Haixun Wang, Wei Fan, Philip S. Yu, and Jiawei Han.
  4. 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.
  5. Um novo classificador C 'é treinado em cada pedaço de dados de entrada e esse pedaço é utilizado para avaliar todos os membros do conjunto existentes para selecionar os melhores componentes classificadores.
  6. Todos os algoritmos vão ser avaliados utilizando o método de avaliação chunk de dados. O procedimento lê exemplos de entrada sem processá-los, até formar um pedaço de dados de tamanho determinado pelo usuario.
  7. De acordo com os gráficos, o uso da memória pelos classificadores individuais, foi mais eficiente para a colecção Electricity Market. No conjunto de dados Waveform, o qual contém muito mais dados, o AWE apresentou desempenho semelhante com os algoritmos não ensemble. É significativo o comportamento de crescimento linear apresentado pelo algoritmo Hoeffding Option Tree que claramente precisa de mais memória com cada pedaço de dados processados. Os outros algoritmos mostram crescimento, mas tendem a se comportar estável em algum ponto e permanecem assim. A análise dos gráficos de uso de memória mostra que os requisitos de memória são semelhantes aos requisitos de tempo de treinamento. HT + DDM e HOT precisam de muito mais memória para conjuntos de dados maiores do que árvore + janela e AWE, que processaram os fluxos de dados usando uma quantidade de memória quase constante.
  8. A acuracia média é uma boa medida para avaliar o desempenho geral dos algoritmos, mas em ambientes com a presença de variações no conceito ao longo do tempo, a reação dos classificadores para as mudanças é muito importante. As colecções onde foram aplicados os algoritmos apresentam deriva conceitual de tipo gradual no Waveform e abrupta no Electricity Market.
  9. apresenta-se o comportamento dos algoritmos aplicados á colecção artificial Waveform onde ocorre uma mudança de conceito aproximadamente na instância 250 000. A maioria dos classificadores responderam à mudança com um pouco de queda na precisão, o que é depois corrigido ao ajustar para o novo conceito presente. A árvore com janela não consegue lidar com sucesso á mudança gradual. Isto é devido a que seu mecanismo de esquecimento é estático o que impede desaprender exemplos desatualizados rapidamente, e dado que o desvio é distribuído no tempo, a sua diminuição na precisão permanece ao longo do processo.
  10. A colecção Electricity Market apresenta uma mais complexa deriva conceitual. No geral os algoritmos reagiram com uma inestavel acuracia mas o HOT comporto-se mais preciso ao longo todo do processo. Nesse caso a árvore com janela tambén é o que mais sofre, mas a queda da precisão não é tão drástica como foi para a outra colecção.