•Mineração em Data Streams - Avaliação Profa. Elaine Faria...
Transcript of •Mineração em Data Streams - Avaliação Profa. Elaine Faria...
•Mineração em Data Streams - Avaliação
Profa. Elaine Faria UFU - 2018
Avaliação em Agrupamento
Validação de Agrupamento• Em tarefas de classificação
– A avaliação dos resultados do modelo de classificação é parte do processo de desenvolvimento
– Há medidas e procedimentos de avaliação bem aceitos
• Ex: acurácia, validação cruzada, etc.
• Em tarefas de agrupamento– A avaliação dos grupos (ou das partições) não está
bem desenvolvida ou não é comumente usada como parte da análise de agrupamentos
Tendência e Validação
• Tendência de agrupamento– Observar antes de executar um algoritmo de
agrupamento• Para garantir que existe nos dados uma estrutura
significativa (não aleatória)• Utiliza testes estatísticos
• Validade de agrupamento– Verificar após executar um algoritmo de agrupamento
• Estima o desempenho do algoritmo• Utiliza testes estatísticos e percepção do especialista
(subjetivo)
Validação de Agrupamento
• Refere-se aos procedimentos que avaliam os resultados da análise de agrupamento de uma forma quantitativa e objetiva
Como avaliar os grupos gerados por um algoritmo de agrupamento?
Por que avaliar agrupamentos?
Validação de Agrupamento• Questões importantes para o agrupamento
– Determinar a tendência de agrupamento• Distinguir se há estrutura de grupos não-aleatória nos dados
– Determinar o nro correto de grupos– Avaliar o quanto os resultados da análise de
agrupamento se adequam aos dados, sem usar referência à informação externa
– Comparar os resultados da análise de agrupamento a resultados conhecidos
– Comparar duas partições para determinar qual é a melhor
Imagem reitrada de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
Validação de Agrupamento
• Questões importantes na validação– É fácil propor medidas, mas é difícil
interpretá-las• Ex: obter o valor 10 para uma medida que avalia o
quão bom ficou o agrupamento em relação a um rótulo esperado, indica o que? Bom? Ruim? Mais ou menos?
Medidas de avaliação• Índice ou critérios internos
– Medem a qualidade da partição sem usar informação externa
– Ex: SSE
• Índice ou critérios externos– Medem o quanto os rótulos dos grupos casam com
uma estrutura externa (ex: classes verdadeiras)
• Índice ou critérios relativos– Comparam duas partições ou dois grupos
Critério de Validação Externo• Assumem que o ground-truth (rótulo verdadeiro)
do agrupamento é conhecido– Informação externa é usada para avaliar a partição
dos dados
• Como obter o rótulo– Data sets de classificação, que especificam o rótulo
(classe) para cada exemplo podem ser usados– Data sets artificiais podem ser criados, com uma
estrutura de grupos conhecida, com um rótulo para cada exemplo
– Experiência do especialista de domínio
Critério de Validação Externo• Formalizando o problema
Xi, com i=1,2,..., N data setYi {1,2,...,K} ground-truth de cada exemploT = {T1,T2,...,Tk} ground-truth do agrupamento, onde
Tj corresponde a todos os pontos com o label jC = {C1,...,Cr} resultado do agrupamento usando
algum algoritmo
• Nomenclatura– grupos da partição de referência (ground truth)
classes– grupos da partição sob avaliação clusters
Critério de Validação Externo
• Orientado a classificação– Usam medidas de classificação como
entropia, pureza, f-measure,etc. para avaliar o quanto um cluster contém objetos de uma única classe
• Orientado a similaridade– Está relacionado a medidas de similaridade
para dados binários como, por exemplo, o coeficiente de Jaccard
Critério de Validação Externo
• Entropia– Mede o quanto cada cluster contém exemplos de uma
única classe– Para cada cluster a distribuição de classes dos dados é
calculada• pij: probabilidade de que um membro do cluster i pertence a
classe j, pij= mij/mi, onde mi é nro de elementos do cluster i e mij é o nro de elementos da classe j no cluster i
L
jijiji ppe
12log
k
ii
i emme
1
L é o nro de classes
Entropia de cada grupo Entropia total
K é o nro de clusters
Critério de Validação Externo
• Pureza– Mede o quanto cada cluster contém exemplos de uma
única classe
ijji pp max
k
i
i pimmpureza
1
Pureza do i-ésimo cluster Pureza total
Critério de Validação Externo
Exemplo reitrado de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
Critério de Validação Externo• Critérios Orientados a similaridade
– Comparam duas matrizes• A matriz de similaridade do agrupamento
– 1 na célula ij, se dois objetos i e j estão no mesmo cluster– 0, caso contrário
• A matriz de similaridade das classes– 1 na célula ij, se dois objetos i e j estão na mesma classe– 0, caso contrário
• Definindo– f11: Nro de pares que pertencem à mesma classe e ao mesmo cluster– f10: Nro de pares que pertencem à mesma classe e a clusters distintos– f01: Nro de pares que pertencem a classes distintas e ao mesmo cluster– f00: Nro de pares que pertencem a classes e clusters distintos
Critério de Validação Externo
• Rand Index– Medida orientada a similiaridade
• Compara duas partições– Similar ao coeficiente de casamento simples
11100100
1100
ffffffRandIndex
Critério de Validação Externo
• Coeficiente de Jaccard– Medida orientada a similiaridade
• Compara duas partições– Elimina o termo f00
111001
11
ffffJaccard
Critério de Validação Externo
• Rand Index e Coeficiente de Jaccard– Variam no intervalo [0,1]– Valores altos para esses índices indicam alto
grau de similaridade entre a organização em grupos e a organização das partições
Critério de Validação Externo
• Exemplo– 5 objetos: p1, p2, p3, p4 e p5
– Dois clusters: C1={p1,p2,p3} e C2={p4,p5}– Duas classes: L1={p1,p2} e L2={p3,p4,p5}
Exemplo reitrado de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
Critério de Validação Externo
• Exemplo - continuaçãof00 = 4 f01 = 2 f10 = 2 f11 = 2
RandIndex= (2+4)/10 = 6/10= 0.6Jaccard = 2/(2+2+2) = 2/6 = 0.33
Critério de Validação Externo de Hierarquias
• Método Direto– Aplicar um critério externo N-2 vezes
• Um para cada nível intermediário das hierarquias em questão
Compor esses resultados (soma, média, etc.)
• Método Indireto– Avaliar a correlação entre duas matrizes que
representam as hierarquias sendo comparadas
Baseado nos slides do prof. Ricardo J. G. B. Campello – disciplina Aprendizado de Máquina – ICMC-USP
Critério de Validação Externo de Hierarquias
• Correlação estatística Γde Hubert
Matrizes: elemento (i,j) é igual a “c” se os objetos i e j aparecem unidos pela 1a vez no c-ésimo nível hierárquico
yx
y
N
i
N
ijx jiYjiX
M
),(),(1 1
1 1
Baseado nos slides do prof. Ricardo J. G. B. Campello – disciplina Aprendizado de Máquina – ICMC-USP
Critério de Validação Interno
• Usadas quando não se dispõe do ground-truth• Medem o quanto os dados se ajustam a
estrutura de grupos obtida• Divididos em
– Medidas de coesão dos grupos• Determina o quão relacionados estão dois objetos em um
grupo
– Medida de separação dos grupos• Determina o quão distintos ou bem separados estão um
grupo de outros
Critério de Validação Interno
• Em geral, usam uma matriz de distâncias (ou matriz de proximidade)
• SSE (já vimos ao estudar o K-Means)– Pode ser usado por exemplo para identificar o
nro de grupos
k
c Cxcj
cj
xxdJ1
2),(
Critério de Validação Interno de Hierarquias
• Usar um critério interno em sucessivas partições produzidas por um algoritmo hierárquico
• O resultado pode indicar um ponto de corte no dendograma regra de parada
Critério de Validação Relativos
• Usado para indicar qual a melhor dentre duas ou mais partições– O termo pode ser usado para critério de
validação interno depende do contexto• Usado para comparar diferentes
execuções de um algoritmo com diferentes parâmetros– Ex: diferentes valores de k
Critério de Validação Relativos
• Índice Dunn– Definido como a razão entre a menor
distância inter-clusters (S_Dist) e a maior distância intra-cluster (G_Diam)
– Quanto maior o valor, melhor é a organização dos grupos em termos de separabilidade e compacidade
DiamGDistSDunn
__
Retirada dos slides do prof. Ricardo J. G. B. Campello – disciplina Aprendizado de Máquina – ICMC-USP
Critério de Validação Relativos
• Davies-Bouldin
}{max ,mlmll DD
k
llDk
DB1
1
ml
mlml d
ddD,
,)(
dl e dm são a distância média dentro dos clusters l e m
dl,m é a distância inter-clusters desses grupos
li Cx
lil
l xxN
d ||||1 ||||, mlml xxd
Baseado nos slides do prof. Ricardo J. G. B. Campello – disciplina Aprendizado de Máquina – ICMC-USP
Critério de Validação Relativos
• Davies-Bouldin– Quanto menor o valor do índice, melhor,
pois isso significa baixas medidas de dispersão intragrupo e grandes distâncias intergrupo
Critério de Validação Relativos
• Largura da Silhueta (SWC)– Combina coesão com separação– Calculada para cada objeto que faz parte de
um agrupamento– Baseada na proximidade entre os objetos de
um cluster e na distância dos objetos de um cluster ao cluster mais próximo
– Mostra quais objetos estão bem situados dentro dos seus clusters e quais estão fora de um cluster apropriado
Critério de Validação Relativos
• Largura da Silhueta (SWC)
)}(),(max{)()()(ibiaiaibis
N
iis
NSWC
1
)(1
a(i): dissimilaridade média do i-ésimo objeto ao seu cluster
b(i): dissimilaridade média do i-ésimo objeto ao seu cluster vizinho mais próximo
Silhueta Original: a(i) e b(i) são calculados como a distância do i-ésimo objeto a todos os demais objetos do cluster em questão Complexidade O(N2)
]1,1[ SWC
Baseado nos dos slides do prof. Ricardo J. G. B. Campello – disciplina Análise de Agrupamento de Dados – ICMC-USP
Critério de Validação Relativos
• Largura da Silhueta (SWC) - Algoritmo
Algoritmo reitrado de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006
Critério de Validação Relativos
• Largura da Silhueta Simplificada (SSWC)
)}(),(max{)()()(ibiaiaibis
N
iis
NSWC
1
)(1
a(i): dissimilaridade média do i-ésimo objeto ao seu cluster
b(i): dissimilaridade média do i-ésimo objeto ao seu cluster vizinho mais próximo
Silhueta Simplificada: a(i) e b(i) são calculados como a dissimilaridade média do i-ésimo objeto ao centróide do cluster em questão Complexidade O(N)
]1,1[ SWC
Baseado nos dos slides do prof. Ricardo J. G. B. Campello – disciplina Análise de Agrupamento de Dados – ICMC-USP
Critério de Validação Relativos
• Avaliar a execução do algortimo K-means para o cadastro de pacientes abaixo usando a medida de silhueta
Exemplo retirado dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP
Validação de agrupamento em data streams
• Poucos trabalhos foram desenvolvidos• Ideia bastante usada na literatura
– Avaliar as janelas de dados e plotar a evolução da medida ao longo do tempo
– Avaliar as janelas de dados e exibir o valor da média das janelas
Validação de agrupamento em data streams
• Medida de Validação Externa - CMM– Clustering Mapping Measure (validação
externa)• É a soma normalizada das penalidades para
cada um dos tipos de erro– Missed points, Misplaced points e noise
inclusion– 1: nenhum erro ocorreu– 0: erro máximo
Avaliação em Classificação
• Os slides a seguir consistem em adaptações dos slides do prof. Andre Carlos Ponce de Leon Ferreira Carvalho
• Agradecimento ao prof. Andre Carvalho por gentilmente ceder os seus slides
Algoritmos de AM
• Induzem modelos (hipóteses) a partir de um conjunto de dados
• Dados precisam– Ser estruturados– Ter boa qualidade– Ser representativos
• Algoritmos de AM indutivo possuem um viés– Tendência a privilegiar uma dada hipótese ou
conjunto de hipóteses
Viés Indutivo
• “Quando um algoritmo de AM está aprendendo a partir de um conjunto de dados de treinamento, ele está procurando uma hipótese, no espaço de possíveis hipóteses, capaz de descrever as relações entre os objetos e que melhor se ajuste aos dados de treinamento.”
• “Cada algoritmo ultiliza uma forma ou representação para descrever a hipótese induzida”
https://medium.com/@avinicius.adorno/introdu%C3%A7%C3%A3o-a-aprendizado-de-m%C3%A1quina-e39ec5ef459b
Viés Indutivo
Algoritmos de AM
• Fontes de erro de algoritmos AM– Viés
• Quando algoritmo aprende um modelo incorreto• Associado a underfitting
– Variância• Quando algoritmo presta atenção a detalhes sem
importância• Associado a overfitting
• Precisam ser reduzidos
Aprender é achar padrões
• Formar e lembrar de novos conceitos– E adaptar conceitos conhecidos
• Algoritmo que não aprende– Não consegue induzir modelo que se ajusta (fit)
aos dados• Underfitting
• Não presta atenção aos dados• Desatento
Aprender é esquecer
• Aprender é tanto esquecer os detalhes quanto lembrar das partes importantes– Prestar muito atenção a detalhes leva a overfitting
do modelo induzido• Algoritmo de AM acha um padrão nos dados que não é
verdadeiro no mundo real• Alucinação
Overfitting e underfitting
• Quando uma hipótese apresenta uma baixa capacidade de generalização – Pode ser que ela está superajustada aos dados de
treinamento (overfitting)• A hipótese memorizou ou se especializou nos dados de
treinamento.
• Quando uma hipótese apresenta uma baixa taxa de acerto mesmo no subconjunto de treinamento– Pode ser que ela está subajustada (underfitting).
• Ex: os exemplos de treinamento disponíveis são pouco representativos ou o modelo usado é muito simples e não captura os padrões existentes nos dados.
Overfitting e underfitting
https://medium.com/greyatom/what-is-underfitting-and-overfitting-in-machine-learning-and-how-to-deal-with-it-6803a989c76
Bom algoritmo de AM
• Está sempre percorrendo um caminho• estreito entre:
– Overfitting– Underfitting
• Buscando o melhor compromisso que reduz reduzir ambos
Avaliação de desempenho• Espera-se de um classificador que ele apresente
desempenho adequado para dados não vistos – Acurácia, pouca sensibilidade ao uso de diferentes
amostras de dados, ...• Desempenho do classificador deve ser avaliado
– Para tanto utilizam-se conjuntos distintos de exemplos de treinamento e exemplos de teste
• Permitem estimar a capacidade de generalização do classificador
• Permitem avaliar a variância (estabilidade) do classificador
Avaliação de classificadores
• Existem diferentes métodos para organização e utilização dos dados (exemplos) disponíveis em conjuntos de treinamento e teste
• Por exemplo:– Holdout
• Random Subsampling– Cross-Validation
Holdout
• Também conhecido como split-sample• Técnica mais simples• Faz uma única partição da amostra em:
– Conjunto de treinamento• geralmente 1/2 ou 2/3 dos dados
– Conjunto de teste• dados restantes
Holdout
• Problema: dependência da composição dos conjuntos
• É mais crítico em “pequenas” quantidades de dados...– Quanto menor o conjunto de treinamento, maior a
variância (sensibilidade / instabilidade) do classificador a ser obtido
– Quanto menor o conjunto de teste, menos confiável a acurácia estimada do classificador para dados não vistos
– Conjuntos de treinamento e teste podem não ser independentes
• Classe sub-representada em um será super-representada no outro
Random Subsampling
• Múltiplas execuções de Holdout– Diferentes partições treinamento-teste são
escolhidas de forma aleatória• Não pode haver interseção entre os dois conjuntos• Desempenho de classificação é avaliado para
cada partição• Desempenho estimado para dados não vistos é o
desempenho médio para as diferentes partições– Permite uma estimativa de erro mais precisa
• Porém, não controla número de vezes que cada exemplo é utilizado nos treinamentos e testes
Random Subsampling
• Exemplo:– Supor que o conjunto de dados original seja
formado pelos dados: x1, x2 , x3 , x4 , x5 , x6 , x7 , x8
• Possíveis partições:
Cross-Validation
• Validação cruzada• Classe de métodos para estimativa da
taxa de erro • k-fold cross-validation
– Cada objeto participa o mesmo número de vezes do treinamento (k – 1 vezes)
– Cada objeto participa o mesmo número de vezes do teste (1 vez)
Cross-Validation
• Divide conjunto de dados em k partições mutuamente exclusivas– A cada iteração, uma das k partições é usada
para testar o modelo• As outras k – 1 são usadas para treinar o modelo
– Taxa de erro é tomada como a média dos erros de teste das k partições
• Exemplo Típico– 10-fold cross-validation
Cross-Validation
• k-fold cross-validation estratificada– Mantém nas pastas as proporções de
exemplos das classes presentes no conjunto total de dados
Medidas de desempenho
• Principal objetivo de um modelo é predizer com sucesso o valor de saída para novos exemplos– Errar o mínimo possível
• Existem várias medidas de “erro” e “acerto”– diferentes medidas podem capturar diferentes
aspectos do desempenho de classificadores
Taxa de Classificação Incorreta
• A medida mais básica para estimar a taxa de erro de um classificador é denominada de taxa de classificação incorreta (misclassification rate)– É simplesmente a proporção dos exemplos de teste
que são classificados incorretamente pelo classificador
– Usualmente é mensurada indiretamente através do seu complemento, a taxa de classificação correta
• Denominada de Acurácia• Acurácia = 1 – taxa de classificação incorreta
Acurácia
• Também chamada de accuracy (do inglês)– Trata as classes igualmente...– Pode não ser adequada para classes
desbalanceadas• Classe rara é normalmente mais interessante que
a majoritária• No entanto, a medida tende a privilegiar a classe
majoritária
Avaliação de desempenho
• Limitações da Acurácia– Considere um problema de duas classes
• Número de exemplos da classe 0 = 9990• Número de exemplos da classe 1 = 10
– Se o modelo predizer qualquer exemplo como da classe 0, a acurácia será 9990/10000 = 99.9 %• Acurácia pode ser enganadora
Tipos de Erros
• Em classificação binária, em geral se adota a convenção de rotular os exemplos da classe de maior interesse como positivos (+)– Normalmente a classe rara ou minoritária– Demais exemplos são rotulados como negativos (–)
• Em alguns casos, os erros têm igual importância• Em muitos casos, no entanto, esse não é o caso
– Ex. diagnóstico negativo para indivíduo doente...
Tipos de Erros
• Dois tipos de erro em classificação binária:– Classificação de um exemplo N como P
• Falso Positivo (FP – alarme falso)– Ex.: Diagnosticado como doente, mas está saudável
– Classificação de um exemplo P como N• Falso Negativo (FN)
– Ex.: Diagnosticado como saudável, mas está doente
Matriz de Confusão
• Ou Tabela de Contingência– Pode ser usada para distinguir os tipos de erro– Base de várias medidas de erro– Pode ser usada com duas ou mais classes
Avaliação de desempenho
FNFPVNVPVNVP
Acuracia
Avaliação de desempenho
Avaliação de desempenho
Avaliação de desempenho
Avaliação de desempenho
• Revocação (recall, sensibilidade, taxa de VP)– Taxa com que classifica como positivos todos
os exemplos que são de fato positivos• Só considera os exemplos que são positivos• Normalmente classe de maior interesse
• Precisão (precision)– Taxa com que todos os exemplos
classificados como positivos são realmente positivos
• Só considera os exemplos classificados como positivos
Avaliação de desempenho
• Especificidade (Especificity)– Taxa com que classifica como negativos
todos os exemplos que são de fato negativos• Só considera os exemplos negativos
Gráficos ROC
• Do inglês, Receiver Operating Characteristics
• Medida de desempenho originária da área de processamento de sinais– Muito utilizada na área médica– Mostra relação entre custo (taxa de FP) e
benefício (taxa de VP)• Taxa de FP = Erro do Tipo I (alarmes falsos)• Taxa de VP (Recall, Sensibilidade) = 1 – Erro do
Tipo II
Exemplo
• Plotar no gráfico ROC os 3 classificadores do exemplo anterior
Exemplo
Gráficos ROC
• Informalmente, melhor classificador é aquele cujo ponto está mais a noroeste– Classificadores próximos do canto inferior
esquerdo são conservadores• Só fazem classificações positivas com forte
evidência– Assim, cometem poucos erros de FP
– Classificadores próximos ao canto superior direito são liberais (sob risco de alarme falso)
Curvas ROC
• Classificadores que geram escores:– Diferentes valores de limiar para os scores
associados à classe Positiva podem ser utilizados para gerar um classificador
– Cada valor produz um classificador diferente• Corresponde a um ponto diferente no gráfico ROC
– Ligação dos pontos gera uma Curva ROC
Curvas ROC
Classes Difíceis
• Alguns problemas de classificação são caracterizados por possuírem classes difíceis de serem aprendidas por um classificador– Duas das principais razões são:
• Distribuição espacial complexa no espaço dos atributos
• Classes desbalanceadas– Classes raras
Classes desbalanceadas
• No. de exemplos varia para as diferentes classes– Natural ao domínio; ou– Problema com geração / coleta de dados
• Várias técnicas de DM não conseguem ou têm dificuldade para lidar com esse problema– Tendência a classificar na(s) classe(s)
majoritária(s)
Classes desbalanceadas• Alternativa mais simples:Balanceamento Artificial
• Sobre-amostragemConsiste em aumentar artificialmente os exemplos da classe minoritária (classe positiva) até que os dados de treinamento estejam balanceados• Sub-amostragemDiminui artificialmente os exemplos da classe majoritária (negativa) até que dados de treinamento estejam balanceados• HíbridoMescla oversampling e undersampling para amenizar os possíveis problemas de cada abordagem
Métricas de avaliaçãos em data streams
• Cross validation e variantes não são apropriadas
• Alternativas– Holdout (se os dados são estacionários)– Prequential
Métricas de avaliaçãos em data streams
• Holdout em um conjunto de teste independente– Aplicar o modelo de decisão atual ao conjunto de
teste em intervalos de tempos regulares • Predictive Sequential (Prequential)
– O erro do modelo é calculado a partir de uma sequência de exemplos
– Para cada exemplo no stream, o modelo faz uma predição baseado nos valores do atributos do exemplo
– O erro prequential é baseado na soma acumulada de uma função perda entre os valores predito e obseravdo
Métricas de avaliaçãos em data streams
• Predictive Sequential (Prequential)– Pode ser usado em situações onde há
feedback limitado (nem todo os exemplos são rotulados)
– Computa-se a função perda para os exemplos em que o yi (rótulo do exemplo) é conhecido
Referências
• Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006.
• Jain, A. K.; Dubes, R. C. Algorithms for Clustering Data, Prentice Hall, 1988.
• Zaki, M. J., Meira, W. Data Mining and Analysis: Fundamental Concepts and Algorithms, Cambridge University Press, 2014.