•Mineração em Data Streams - Avaliação Profa. Elaine Faria...

Post on 21-Jul-2020

0 views 0 download

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.