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. www.decom.ufop.br/menoti Introdução • A escolha do limiar de rejeição é uma 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. Desempenho • Dado um classificador com duas saídas, existem saídas possíveis. Desempenho True Positive True Negative B False Negative A False Positive TP – Classe é A e classificamos como A TN – Classe é B e classificamos como B FP – Classe é B e classificamos como A FN – Classe é A e classificamos como B 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. 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) 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) Desempenho Aleatório • Um classificador que aparece abaixo da diagonal principal é pior que o desempenho aleatório. 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. 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. 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 Exemplo (cont) • Após ordenar os dados pelo score, temos o seguinte gráfico Note que cada ponto operacional tem um limiar associado. 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 Fawcett (2006). 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. 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. 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). 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 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 k 0,18 0.1 0,53 0,25 0.1 Gere um k entre [0,1] Escolha: - A se k > 0,53, - B, caso contrário. 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). 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. • Wikipedia Receiver Operating Characteristic en.wikipedia.org/wiki/Receiver_operating_characteristic