21
Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D. www.decom.ufop.br/menoti Universidade Federal de Ouro Preto (UFOP) Programa de Pós-Graduação em Ciência da Computação (PPGCC)

Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D. Universidade Federal de Ouro Preto (UFOP)

Embed Size (px)

Citation preview

Page 1: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Reconhecimento de Padrões

Receiver Operating Characteristics (ROC)

David Menotti, Ph.D.www.decom.ufop.br/menoti

Universidade Federal de Ouro Preto (UFOP)Programa de Pós-Graduação em Ciência da Computação (PPGCC)

Page 2: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Introdução

• A escolha do limiar de rejeição é um aspecto muito importante na construção de um classificador.– Mudança deste limiar afeta o desempenho do

sistema.– ROC é uma ferramenta muito útil na análise e

comparação de classificadores.

Page 3: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Desempenho

• Dado um classificador com duas saídas, existem saídas possíveis.

Page 4: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

DesempenhoTrue Positive

FalsePositive

FalseNegative

True Negative

AB

TP – Classe é A e classificamos como ATN – Classe é B e classificamos como BFP – Classe é B e classificamos como AFN – Classe é A e classificamos como B

Page 5: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Tipos de Erro

• Erro Tipo I– Também conhecido como α-erro ou falso

positivo.– Acontece quando aceita-se como genuína

uma coisa que é falsa.

• Erro Tipo II– Também conhecido como β-erro ou falso

negativo.– Acontece quando rejeitamos algo que deveria

ter sido aceito.

Page 6: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Terminologia

• True Positive Acerto• True Negative Rejeição correta• False Positive Erro Tipo I, falso alarme• False Negative Erro Tipo II• True Positive Rate (TPR) Sensitivity

– TPR = TP/P = TP/(TP+FN)

• False Positive Rate (FPR) (1 – Specificity)– FPR = FP/N = FP/(FP+TN)

• Accuracy (Exatidão)– ACC = (TP+TN)/(P+N)

Page 7: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Gráfico ROC

• Gráfico em duas dimensões– X: FPR, Y: TPR

• Vários pontos são interessantes de serem observados– Conservador (A/B)– Liberal (B/A)

Page 8: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Desempenho Aleatório

• Um classificador que aparece abaixo da diagonal principal é pior que o desempenho aleatório.

Page 9: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Gráfico ROC

• Conservador– Aquele classificador que aceita poucos “False

Positives”, mas consequentemente penaliza bastante o desempenho dos “True Positives”

• Liberal– Aquele classificador que não se importa muito

em aceitar bastante “False Positive”. Por outro lado, seu desempenho nos “True Positives” é muito bom.

Page 10: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Gráfico ROC

• Equal Error Rate– Ponto do gráfico no qual FPR é igual a 1-TPR– Medida de desempenho e comparação

quando não existe um ponto operacional específico.

Page 11: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Exemplo

• Considere 20 amostras:– 10 positivas e 10 negativas.

# Classe Score # Classe Score

1 + 0.90 11 - 0.70

2 + 0.80 12 - 0.53

3 + 0.60 13 - 0.52

4 + 0.55 14 - 0.505

5 + 0.54 15 - 0.39

6 + 0.51 16 - 0.37

7 + 0.40 17 - 0.36

8 + 0.38 18 - 0.35

9 + 0.34 19 - 0.33

10 + 0.30 20 - 0.10

Page 12: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Exemplo (cont)• Após ordenar os dados pelo score, temos o

seguinte gráfico

Note que cada ponto operacional tem um limiar associado.

Page 13: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Exemplo (cont)

• Suponha que a especificação do seu sistema diga que o máximo FPR do seu sistema é 0.10. Qual seria o limiar de rejeição?

• Qual seria a taxa de acerto do sistema?

Para o limiar 0.54, a taxa de reconhecimento seria 70%(5 + 9) / 20 = 0.70

Page 14: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Fawcett (2006).

Page 15: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Classes Desbalanceadas

• Uma propriedade bastante interessante da curva ROC é que ela é insensível a distribuição de classes.

• Taxa de reconhecimento é sensível– Suponha que tenhamos 5 vezes mais

elementos na classe a do que na classe b.– A taxa de reconhecimento pode ser elevada

mas errar quase todos os exemplos da classe b.

Page 16: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Classes Desbalanceadas

• Se a proporção de exemplos positivos e negativos muda na base de teste, a curva ROC não sofre alterações.

• Isso permite uma fácil visualização do desempenho dos classificadores independentemente da distribuição das classes.

Page 17: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Convex-Hull\

• O conceito de convex-hull em ROC possibilita– Descartar

classificadores que não fazem parte do convex-hull

• Classificadores B e D nesse caso não são necessários.

– Gerar novos classificadores

• Através da interpolação.

Fawcett (2006).

Page 18: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Convex-Hull

• Um novo classificador H, pode ser gerado da seguinte maneira.– Gere um número aleatório entre 0 e 1. – Se o número for maior que k, então escolha A, caso contrário,

escolha B.

k =0.5

Page 19: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Um exemplo

• Deseja-se oferecer uma nova apólice de seguros para– 4000 clientes, porém $$$ somente para 800 – (A priori) 6% respondem

• 240 respondem / 3760 não-respondem

• Dois Classificadores– A: (0,10 ; 0,2) 0.2 x 240 + 0,10 x 3760 = 424 candidatos– B: (0,25 ; 0,6) 0.6 x 240 + 0,25 x 3760 = 1084 candidatos

53,01.025,0

1.018,0

kGere um k entre [0,1]Escolha:- A se k > 0,53,- B, caso contrário.

Page 20: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Area Under the Curve (AUC)

• Métrica usada para comparar classificadores.

Classificador B tem uma área maior, logo um desempenho médio melhor.

Fawcett (2006).

Page 21: Reconhecimento de Padrões Receiver Operating Characteristics (ROC) David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP)

Referências Bibliográficas

• Fawcett, An introduction to ROC analysis Pattern Recognition Letters, 27:8-861–874, 2006.

• Provost & Fawcett Robust Classification for Imprecise Environments Machine Learning Journal, 42:3 pp. 203-231, 2001.

• WikipediaReceiver Operating Characteristicen.wikipedia.org/wiki/Receiver_operating_characteristic