Você está na página 1de 11

Avaliação de Classificadores

• Existem poucos estudos analíticos sobre o comportamento


de algoritmos de aprendizagem.
– A análise de classificadores complexos é fundamentalmente
experimental.
• Dimensões de análise: Avaliação de Classificadores
Taxa de erro
– Complexidade dos modelos
– Capacidade de compactação João Gama
– Tempo de aprendizagem e aplicação. jgama@ncc.up.pt

Avaliação de Classificadores 2
João Gama

Avaliação de Algoritmos de Classificação Taxa de erro


• Três Problemas distintos: • Taxa de erro de um Classificador:
– Dados um algoritmo e um conjunto de dados: – Quociente entre o numero de exemplos incorrectamente
• Como estimar a taxa de generalização do algoritmo nesse problema? classificados sobre o numero total de exemplos classificados.
– Dados dois algoritmos e um conjunto de dados: • Convêm distinguir entre:
• A capacidade de generalização dos algoritmos é igual?
– Erro de re-substituição: erro estimado no conjunto de treino.
– Dados um conjunto de algoritmos e um conjunto de problemas: • Estimador enviesado.
• Como obter uma ordenação dos algoritmos que reflicta a capacidade de
– Erro de generalização: erro estimado num conjunto de teste
generalização destes algoritmos?
independente do conjunto de treino.
• Estimador não enviesado.
• A taxa de erro é um indicador da aproximação entre o
modelo gerado e a função que governa o fenómeno em
estudo.
Avaliação de Classificadores 4 Avaliação de Classificadores 3
João Gama João Gama
Estimativa da Taxa de Erro Fontes de variação da Taxa de Erro
• Dados um conjunto de exemplos e um algoritmo: • Variabilidade no conjunto de teste
– Obter um conjunto de treino por amostragem
– Obter um conjunto de teste por amostragem
• Variabilidade no conjunto de treino
– O algoritmo gera um classificador a partir do conjunto de treino. – Em algoritmos flexíveis (árvores de decisão) pequenas variações
– O classificador classifica o conjunto de teste do conjunto de treino podem gerar modelos muito diferentes
– Taxa de Erro (p) = % de exemplos do conjunto de teste mal classificados. • Aleatoridade interna do algoritmo
• Duas situações – Alguns algoritmos (redes neuronais ou árvores multivariadas)
– O numero de exemplos é ilimitado utilizam tabelas internas inicializadas aleatoriamente.
• A taxa de erro num conjunto de teste é uma estimativa fiável da capacidade de
generalização do algoritmo, se:
– Podem gerar modelos diferentes quando treinados com o mesmo
– O conjunto de teste é independente do conjunto de treino. conjunto de treino.
– Ambos os conjuntos são suficientemente largos.

• Parâmetros do algoritmo
O numero de exemplos é limitado (situação usual)


Como obter uma estimativa fiável para o erro?

Avaliação de Classificadores 6 Avaliação de Classificadores 5


João Gama João Gama

Validação Cruzada Métodos de amostragem


• k-Validação Cruzada • Amostragem:
– Dividir o conjunto de dados em n-partições disjuntas – K-Validação cruzada
– Repetir k-vezes • Leave-one-out
• O conjunto de treino é constituído usando n-1 partições – Bootstrap
• O conjunto de teste é a partição restante.
• Em cada iteração é usada para teste uma partição diferente. – Monte-Carlo
– Usualmente k = 10 • Estratificado versus não estratificado
• A taxa de erro de generalização é a média das taxas de erro – Em cada amostra, manter as proporções das classes.
nas diferentes partições. • Processo utilizado para reduzir a variância do estimador.
– Variância elevada da estimativa da taxa de generalização.
• n-Validação Cruzada estratificada
– A formação das partições mantém a proporção das classes
observadas no conjunto de dados.

Avaliação de Classificadores 8 Avaliação de Classificadores 7


João Gama João Gama
Amostragem com Reposição Validação Cruzada
• Bootstrap •
– Dado um conjunto de dados com #exs:
– Repetir k vezes (usual k=10)
• Obter um conjunto de treino por amostragem com reposição.
– O numero de exemplos do conjunto de treino é de #exs.
» Alguns exemplos aparecem repetidos na amostra
» Existem exemplos do conjunto de dados inicial que não aparecem na
amostra
• O conjunto de teste é constituído pelos exemplos do conjunto de dados que
não pertencem ao conjunto de treino.
– Em média o conjunto de teste tem 1/e * #exs
• A taxa de erro é a média das taxas de erro nas diferentes
iterações. ...
• Possibilita reduzir a variância do estimador.
Conjunto de Teste Conjunto de treino

Avaliação de Classificadores 10 Avaliação de Classificadores 9


João Gama João Gama

Qual o melhor algoritmo para um problema ? Intervalos de Confiança


• Dados dois algoritmos e um conjunto de dados, que • Intervalos de confiança:
1 n

algoritmo utilizar? – O erro observado é: e = ∑ taxa _ de _ erro i


n i =1

– Que algoritmo tem menor erro na população ? – Qual será o verdadeiro erro E ?
• Estimar o erro dos dois algoritmos – Não podemos calcular E, mas podemos obter um intervalo que
– Usando uma estratégia de amostragem. enquadra E com probabilidade p.
– Para cada algoritmo é estimado um erro. • Uma solução simplificada: (ver “Error based pruning”)
• São os dois erros estatisticamente diferentes ? – O desvio padrão teórico de uma distribuição de binomial:
e * (1 − e )
σ =
• Exemplo: N
– O intervalo de confiança é: [e − ασ ; e + ασ ]
– Usando 10-validação cruzada:
• Exemplo
– Com um grau de confiança de 95%, (α/2=0.025)
E situa-se no intervalo: [e − 1.96σ ; e + 1.96σ ]
Avaliação de Classificadores 12 Avaliação de Classificadores 11
João Gama João Gama
Student paired t-test Teste de Hipóteses
• Para decidir se duas médias são estatisticamente diferentes: • Hipótese nula:
– Calcular di = xi – yi – Ambos os algoritmos têm a mesma performance.
d
– Calcular t = σ / k
2
d
• Como verificar a hipótese nula ?
– Escolher um nível de confiança – “paired tests” são mais apropriados.
• Usual 5% ou 1% • Eliminar a variabilidade devida a factores externos.
• Usar a tabela da distribuição de t para calculo de z • Ambos os algoritmos devem:
– k-1 graus de liberdade – Aprender nos mesmos conjuntos de treino.
– Se t > z ou t < -z então as médias são significativamente diferentes – Os modelos devem ser avaliados nos mesmos conjuntos de teste
• Para o nível de confiança escolhido. – Teste para 2 caudas
– X >> Y ou Y >> X

(9 df)
Avaliação de Classificadores 14 Avaliação de Classificadores 13
João Gama João Gama

Critica Exemplo
• A utilização de t-tests não é pacífica.
– Elevada probabilidade de sugerir diferenças onde elas não existem
• Type 1 error.
• Problemas:
– Na validação cruzada:
• Os conjuntos de treino não são independentes.
– Assume a distribuição normal
• Alguns autores sugerem:
– 10*10-Validação cruzada usando diferentes permutações do
conjunto de dados.
– Wilcoxon matched-pairs signed-ranks test

Avaliação de Classificadores 16 Avaliação de Classificadores 15


João Gama João Gama
Comparação de vários algoritmos em vários conjuntos de
Decomposição do Erro dados
• O erro esperado de um classificador pode ser decomposto • O problema das múltiplas-comparações
E = ∑ (σ x +bias x2 + var iance x )
2
em: – O nível de confiança deve ser ajustado
x
– O ajustamento de Bonferroni:
– Ruído no conjunto de dados • Efectuando n testes independentes
• Erro do Bayes Óptimo • Cada um com um nível de confiança αc
– Viés (Bias) α e = 1 − (1 − α c ) n
• Mede os erros sistemáticos. • Em aprendizagem automática é usual utilizar
• Estimativa da capacidade de adaptação da linguagem de representação – Dunn test
utilizada pelo algoritmo ao problema.
– Wilcoxon matched-pairs signed-ranks test
– Variância
• Mede a variabilidade das predições
• Estimativa da dependência do modelo gerado ao conjunto de treino.

Avaliação de Classificadores 18 Avaliação de Classificadores 17


João Gama João Gama

O Compromisso Bias-Variance Estimativa das componentes do Erro


• Aumentando o número de graus de liberdade de um modelo: • Dados um conjunto de dados e um algoritmo.
– Diminuição da componente do “Bias” • Dividir o conjunto de dados em:
– Aumento da variância. – Conjunto de treino e conjunto de Validação
– Obter n conjuntos de treino por amostragem uniforme
• Minimizar o erro esperado requer um compromisso entre as – Gerar n modelos utilizando o algoritmo dado.
duas componentes. – Cada modelo classifica os exemplos do conjunto de validação.
• Para cada exemplo do conjunto de validação estimar:
– P(Cli|x) por votação uniforme
• Usando a definição de Kohavi & Wolpert 96
– Variancex=1/2(1- Sumi(P(Cli|x)2))
– Biasx=1/2(Sumi(P(i=y)-P(Cli|x))2)
• P(i=y) = 1 se e só se i = y

Avaliação de Classificadores 20 Avaliação de Classificadores 19


João Gama João Gama
Sumario Decomposição em “Bias-Variance”
• Avaliação de classificadores • Funções Discriminantes
– Como estimar o erro do classificador num conjunto de dados? – Variância reduzida
– Qual o melhor algoritmo para um problema? – Bias elevado
• Amostragem • Arvores de decisão Erro
– Validação cruzada – Variância elevada
– Amostragem com reposição – Bias reduzido
Arvores de
• Teste de Hipóteses Discriminantes
Decisão
• Decomposição do erro em bias e variance

Bias + σ Variância

Avaliação de Classificadores 22 Avaliação de Classificadores 21


João Gama João Gama

Custo de Erros
• O problema das classes não balanceadas: o problema do “mail”
– Algoritmo 1: Algoritmo 2:
Taxa de Erro = 5% Taxa de Erro = 51.25%
Sim Não Sim Não
Sim 0 200 Sim 150 50
Não 0 3800 Não 2000 1800
Classificadores sensíveis ao custo de erros
– A caracterização das classes minoritárias é a mais interessante
• No algoritmo 1 a classe “Sim” não é caracterizada
João Gama
– Diferentes erros têm custos diferentes.
• Custo(predição = não, observado= sim) = 1000 Jgama@ncc.up.pt
• Custo(predição = sim, observado = não) = 1
– Custo de cada Algoritmo:
• Algoritmo 1: 200.000
• Algoritmo 2: 52.000
Avaliação de Classificadores 24
João Gama
Classificadores Sensíveis ao Custo Tipos de Erros e Medidas de Performance
Predito
• Matrizes de Custos: + - • Medidas de Performance
Observado + 0 C(-,+) – Taxa de Erro = (Fn+Fp) /(Tp+Tn+Fn+Fp)
- C(+,-) 0
– Sensibilidade = Tp/(Tp+Fn)
– Taxa de erro corresponde a uma matriz de custos: – Especificidade = Tn/(Tn+Fp)
• diagonal principal: 0 – Taxa de Positivos = Tp/(Fp+Tp)
• Custo de erros : 1 – Taxa de Negativos = Tn/(Fn+Tn)
• Classificadores que associam probabilidades às predições: Predito
– P(sim|exemplo) = 0.9 e P(não|exemplo) = 0.1 Yes No
• O conceito de risco condicional Yes Verdadeiros Falsos Negativos
– Risco(Classi|exemplo) = Sumj(P(Classj|exemplo)*Custos(i,j)) Positivos (Tp) (Fn)
• Custo(i,j) é o custo de predizer a classe i quando o exemplo é da classe j. Observado
– Escolhe a classe que minimiza o risco. No Falsos Positivos Verdadeiros Negativos
• argmini Risco(Classi|exemplo) (Fp) (Tn)

Avaliação de Classificadores 26 Avaliação de Classificadores 25


João Gama João Gama

Classificadores Sensíveis ao Custo Risco Condicional


• Minimizar o risco condicional na aplicação do modelo. • Exemplo
– Só tem em conta os custos na classificação de exemplos – Problema de duas classes.
– Um algoritmo prediz para um exemplo
– O modelo gerado é o mesmo e independente da matriz de custos.
• P(sim|exemplo) = 0.9 e P(não|exemplo) = 0.1
• Gerar modelos sensíveis ao custo – Os custos de erros são:
– Estratificação • Custo(sim, não) = 500
– MetaCost • Custo(não, sim) = 1
– O risco condicional de predizer cada uma das classes é:
• Risco(sim) = p(sim|x) * Custo(sim,sim)+p(não|x)*Custo(sim,não)
– Risco(sim) = 0.9*0+0.1*500=50
• Risco(não) = p(sim|x) * Custo(não,sim)+p(não|x)*Custo(não,não)
– Risco(não) = 0.9*1+0.1*0 = 0.9
– Para estes custos a classe que minimiza o risco condicional é Não.

Avaliação de Classificadores 28 Avaliação de Classificadores 27


João Gama João Gama
Classificadores Sensíveis ao Custo Estudo da Variação da Matriz de Custos
• Estratificação do conjunto de treino – Risco+ = p+ * C(+,+) + p- * C(+, -) = p- * C(+,-)
– Risco- = p+ * C(-, +) + p- * C(-,-) = p+ * C(-,+)
– Alterar as frequências das classes no conjunto de treino
– Para diferentes matrizes de custo a relação de performance entre dois algoritmos
proporcionalmente ao seu custo. altera-se.
• Exemplo
– Supondo
• P(j) probabilidade de observar a classe j.
• C(j) custo de predizer a classe j
– Em problemas com mais que uma classe
» C(j) = Sumi(C(i,j))
– Estratificação é feita de forma a que
C ( j ) P( j )
Pestratificado ( j ) =
∑ C (i) P(i)
i

Avaliação de Classificadores 30 Avaliação de Classificadores 29


João Gama João Gama

Matrizes de Custo Variáveis Classificadores Sensíveis ao Custo


• O custo associado a cada erro, raras vezes é conhecido. • MetaCost
• Analisar vários cenários para a estrutura de custos: – Método geral para tornar um algoritmo de aprendizagem sensível
– Estudar segmentos do conjunto de teste onde exista probabilidade ao custo.
• Pedro Domingos 1999.
elevada de encontrar Verdadeiros Positivos.
– Passo 1
• Analise da curva de “lift”
• Obter n réplicas do conjunto de treino por amostragem com reposição.
– Estudar a variação da ocorrência de T+ em relação à ocorrência de • Gerar um modelo Mi, para cada réplica
T-. – Passo 2
• A curva “Receiver Operating Characteristc” • Para cada exemplo do conjunto de treino
– Estimar a probabilidade P(Ci|x) usando os modelos Mj.
– Yx = argmini Sumj(P(j|x)C(i,j))
– Substituir a classe observada por Yx
– Passo 3
• Gerar um modelo usando o conjunto de treino reclassificado no Passo 2.

Avaliação de Classificadores 32 Avaliação de Classificadores 31


João Gama João Gama
Gráficos “Lift” Gráficos de “Lift”
Optimo • Estudo da variação de frequência de T+ em segmentos do
conjunto de dados.
Algoritmo
– Ordenar as predições por ordem decrescente de p(+)
Eixo dos Ys

Aleatório Predições do Algoritmo


Classificado P(0) P(1) Observado Soma #exs/4000
1 0.011415 0.988585 0 0 0,00025
1 0.020566 0.979434 1 1 0,0005 Eixo dos Xs
1 0.024821 0.975179 1 2 0,00075
1 0.054660 0.945340 0 2 0,001
1 0.060802 0.939198 0 2 0,00125
1 0.117176 0.882824 0 2 0,0015
1 0.131455 0.868545 1 3 0,00175
1 0.148667 0.851333 0 3 0,002
1 0.159765 0.840235 0 3 0,00225
1 0.195324 0.804676 0 3 0,0025

Avaliação de Classificadores 34 Avaliação de Classificadores 33


João Gama João Gama

ROC Receiver Operating Characteristic


• A classificação de um exemplo numa classe varia com a variação do • ROC para dois classificadores
custo associado aos erros. – Estudo da variação da taxa de T+ com a taxa de F+
– Para problemas de 2 classes: – Eixos
• TP rate = TP/(TP+FN)
• FP rate = FP/(FP+TN)
R (i | x) = ∑ P(i | x) * C (i, j )
j

R ( + | x ) = P ( + | x ) * C ( + ,+ ) + P ( − | x ) * C ( +, −)
R (− | x) = P(+ | x) * C (−,+) + P(− | x) * C (−,−)
P ( + | x ) * C ( + , − ) > P ( − | x ) * C ( −, + )
P ( + | x ) C ( +, −)
>
P(− | x) C (−,+)

Avaliação de Classificadores 36 Avaliação de Classificadores 35


João Gama João Gama
ROC ROC

ROC Curve
1

0,9

0,8

0,7
True Positives

0,6

0,5

0,4

0,3

0,2

0,1

0
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
False Positives

Avaliação de Classificadores 38 Avaliação de Classificadores 37


João Gama João Gama

Bibliografia Adicional Sumario


• Avaliação de Sistemas Inteligentes • A percentagem de exemplos mal classificados como medida da
– http://eksl-www.cs.umass.edu/eis/ performance de um classificador pode ser problemática:
– Em problemas em que o numero de exemplos por classe é desproporcionado
• Testes estatísticos on-line – Em problemas com custos associados aos erros
– http://members.aol.com/johnp71/javastat.html • O custo dos erros
• Aprendizagem Sensível ao Custo – Conceito de risco condicional
– http://www.iit.nrc.ca/bibliographies/cost-sensitive.html • Classificadores sensíveis ao custo
– MetaCost
• Quando os custos são desconhecidos
– Analise de cenários para diversas matrizes de custo
• Gráficos ‘Lift’
• Gráficos ‘ROC’

Avaliação de Classificadores 40 Avaliação de Classificadores 39


João Gama João Gama
Bibliografia Adicional
• MlNet
– http://www.mlnet.org/
• Apontadores para páginas pessoais
• Conferências
• Trabalhos, etc.
• Investigadores em Aprendizagem
– http://www.aic.nrl.navy.mil/~aha/people.html
• Apontadores para as páginas pessoais.
• Repositório de Problemas
– http://kdd.ics.uci.edu/

Avaliação de Classificadores 41
João Gama

Você também pode gostar