lesson 3: evaluation and comparison of supervised learning algorithms

94
Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro Capítulo 3 Métodos de Avaliação para Classificação Supervisada

Upload: gladys-castillo

Post on 26-Jun-2015

2.978 views

Category:

Technology


1 download

DESCRIPTION

The objective of this lesson is to introduce the most popular evaluation methods for supervised learning as well as their implementations in the RapidMiner 5.0 (languague: portuguese). Moreover some statistical methods (significance tests, ROC analysis, etc.) for comparison of the predictive performance are also explained and examples are provided. More information is given in the course site: https://sites.google.com/site/gladyscjaprendizagem/program/evaluation-i.

TRANSCRIPT

Page 1: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro

Capítulo 3

Métodos de Avaliação paraClassificação Supervisada

Page 2: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

2Aprendizagem Computacional Gladys Castillo,

Universidade de Aveiro

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

Learningalgorithm

Training Set

Aprendizagem SupervisadaEsquema Geral

1º. Um algoritmo de

aprendizagem é executado para induzir

um classificador a

partir do conjunto de

treino

Figura extraída dos acetatos de Introduction to Data Mining  P. Tan, M.Steinbach,

V.Kumar

2º. Uma vez construído o

classificador, este pode ser usado para

classificar futuros exemplos

Um conjunto de treino com exemplos rotulados é usado para treinar o classificador. Cada exemplo representa um objecto descrito pelos seus atributos e a sua classe.

conjunto de exemplos sem

rótulos

Page 3: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

3Aprendizagem Computacional Gladys Castillo,

Universidade de Aveiro

Aprendizagem Supervisada

Supervised Learning Algorithm

h

h c

Entrada: exemplo sem classificar

Saída: a classe de x

para cada futuro exemplo x, a classe atribuída é c =h(x) f(x)

Dado: um conjunto D ={ <x(1), c(1)>, <x(2), c(2)>, …. <x(N), c(N)> } com N exemplos previamente classificados tal que x(k) X, c(k) C , k =1…N

Induzir: um classificador (hipótese) h : X C capaz de predizer o melhor

possível a classe de futuros exemplos de X

c(N)<x(N), c(N)>

………

c(2)<x(2), c(2)>

c(1)<x(1), c(1)>

CCXXnn……XX11DD

c(N)<x(N), c(N)>

………

c(2)<x(2), c(2)>

c(1)<x(1), c(1)>

CCXXnn……XX11DD)1(

1x )1(nx

)2(1x )2(

nx

)(1

Nx )( Nnx

1x 2x nx…

Saída: um classificador que aproxima o melhor possível a função alvo f: X C “oculta” nos dados

classificador Induzido

Fase d

e

cla

ssifi

caçã

o

Fase d

eap

ren

diz

ag

em

Seja X=X1 x X2… x Xn o espaço de atributos para um problema dado e

C ={c1, c2, …,cm} um conjunto de classes definidas em X

Page 4: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

4

Erro Verdadeiro (True Error)

f(x)ccchPhErrtrue

,:, ,)()( XxxxXx

O desempenho de um classificador é medido em termos da sua capacidade preditiva nos futuros

exemplos

Se dispuséssemos de um ilimitado número de exemplos

podemos com exactidão determinar o valor do erro verdadeiro

de

cada possível classificador h e escolher aquele com menor

erro Mas na prática: há um número limitado de dados

Como estimar o erro verdadeiro usando apenas

um conjunto de exemplos limitado ?

O erro verdadeiro de um classificador h é a probabilidade de classificar erroneamente um exemplo seleccionado aleatoriamente, i.e.,

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 5: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

5

Função de Perda 0-1

Função de perda 0-1 de um classificador h(x) induzido a partir dos dados D com relação a um exemplo x X:

)()( s ,0

)()( s ,1))(),(,(

xx

xxxxx

hfe

hfehfzero-one loss function

Dado: um conjunto de treino D com N exemplos previamente classificados Induzir: um classificador h : X C que minimize a função de perda 0-1

Podemos usar a função perda 0-1 para redefinir aprendizagem supervisada:

A função 0-1 mede a perda ou coste de atribuir a um exemplo x a classe c*=h(x) (classe predita) quando a sua classe verdadeira é c=f(x). Isto significa que se a classificação do exemplo é correcta (a classe predita é

igual à classe verdadeira) então não existe perda; caso contrário, vai existir uma perda de 1

Assumindo que a cada exemplo x X é atribuído uma classe verdadeira c=f(x),

um classificador h induzido de dados pode falhar ou acertar a classe c de x

erro

sucesso

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 6: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

6

Taxa de Erro

A taxa de erro de um classificador h(x) num conjunto de N exemplos previamente classificados D é definida como:

exemplos total

dosclassifica menteincorrecta exemplos#))(,,(

1)),((

)()( ,

)()()( Dc

kkk

kk

hcN

DhErrx

xxx

A taxa de erro é uma medida natural do desempenho

A taxa de erro de um classificador com relação a um conjunto de exemplos é definida como a proporção dos exemplos incorrectamente classificados

A taxa de acertos (accuracy), pelo contrário, é a proporção dos exemplos correctamente classificados

Assim:

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 7: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

7

Estimação da Taxa de Erro Método trivial: Dado o conjunto de dados disponível, D usar D para induzir o classificador (fase de treino) usar D para estimar a taxa de erro (fase de avaliação)

Existem dois problemas fundamentais:

Se um classificador é muito simple pode “underfit” os dados

Se é muito complexo pode “overfit” (sobre-ajustarse) aos dados

Existe sempre um classificador de complexidade óptima que permite obter o melhor desempenho (menor taxa de erro num conjunto de exemplos que não foram usados para construir o classificador)

0%

5%

10%

15%

20%

25%

30%

Model Complexity

Cla

ss

ific

ati

on

Err

or

Test Error Training ErrorLow High

Op

tim

al

overfittingunderfitting

O modelo induzido, como regra, overfit (sobre-ajusta) o conjunto de treino (especialmente se o modelo é muito complexo com muitos parâmetros)

A taxa de erro obtida no conjunto de treino é um estimador optimista (over-optimistic) do erro verdadeiro (obtém-se por vezes um valor muito menor do que o erro verdadeiro)

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 8: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

8

Estimação da Taxa de Erro

Dada uma quantidade de exemplos limitada, qual a melhor estratégia que devemos seguir por forma a obter uma

estimativa fiável do desempenho?

Um algoritmo de aprendizagem deve ser avaliado tendo em conta o seu desempenho (capacidade de generalização) naqueles exemplos que não foram usados para construir o classificador

Ideia básica: Particionar o conjunto de dados disponível em dois conjuntos:

conjunto de treino: exemplos que são usados pelo algoritmo de aprendizagem

para induzir o classificador conjunto de teste

exemplos que são usados para estimar a taxa de erroAprendizagem Computacional Gladys Castillo,

Universidade de Aveiro

Page 9: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

9

Métodos para estimar a Taxa de Erro

Holdout (se muitos exemplos, > 1000 exemplos)

Dividir os dados 2/3 para treino e 1/3 para teste

Cross validation (para conjuntos de tamanho intermédio,

1000 exemplos)

Dividir os dados em k partições disjuntas

k-fold: k-1 partições para treino, 1 para teste

Leave-one-out: k=N (nº de exemplos)

Bootstrap (para conjuntos pequenos, < 500 exemplos)

Sampling with replacement

Existem vários métodos para estimar a taxa de erro baseados em diferentes particiones do conjunto de dados:

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 10: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

10

Método HoldOut

nº total de exemplos

Conjunto de Treino Conjunto de Teste

Supervised Learning Algorithm

classificadorh

Usualmente 2/3 dos

exemplos1º. Fase de

Treino

classificadorh

Usualmente 1/3 dos

exemplos

CalcularTaxa de Erro

2º. Fase de Teste

Particiona o conjunto de dados em dois conjuntos: um conjunto de treino para induzir o classificador um conjunto de teste para avaliar o desempenho (ex. calcular

taxa de erro)

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 11: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

11

Método HoldOutB

ase

de D

ados

Conjunto deTreino

Conjunto de Teste

Algoritmo de

Aprendizagem

Aplicar o Classificador

Classificador

Calcular Taxa de

Erro

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 12: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

12

HoldOut em RapidMinerOperador: Split Validation

O parâmetro split ratio indica a

percentagem (0.7) de exemplos do

conjunto de treino

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

O operador Split Validation exige que seja indicado qual o algoritmo de aprendizagem a ser avaliado na fase de training (um operador do grupo Modeling) e qual a medida de desempenho na fase de testing (um operador do grupo Performance Measurement)

Page 13: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

13

SubProcess: Simple Validation

O operador Split Validation define um sub-processo que é definido por duas fases: • Fase de treino: o operador “Classification by Regression“ é usado para

aprender um modelo de classificação• Fase de teste: são necessários dois operadores: o operador Apply Model (chamado “Test”) que aplica o modelo a cada

exemplo do conjunto de teste para obter a classe predita o operador Performance: que permite calcular uma série de medidas

de desempenho Aprendizagem Computacional Gladys Castillo,

Universidade de Aveiro

Training Phase Testing Phase

Page 14: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

14

O operador Classification by Regression

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Sub-process

Este operador permite aprender classificadores com mais de dos classes.

Page 15: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

15

Resultados da avaliação usando HoldOut para o Iris dataset

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

IRIS Data (Fisher, 1936) 3 classes setosa versicolor virginica

4 atributos comprimento da pétala largura da pétala comprimento da sépala largura da sépala

On-line no UCI Machine Learning Repository http://www.ics.uci.edu/~mlearn/MLRepository.html

O conjunto de dados contêm 50 exemplos por cada classe

Page 16: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

16

Matriz de Confusão

ClasePredita

Classe Correcta

Setosa Versicolor Virgínica

Setosa 15 0 0

Versicolor

0 10 3

Virginica 0 5 12

Accuracy = 82.2% (% de exemplos correctamente classificados no total de exemplos (45) do conjunto de teste)

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 17: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

17

Colocando Break-PointsPara obter a classe predita (classificação) para cada exemplo do conjunto de

teste devemos colocar um “Breakpoint After” no operador Test

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Break-point After

Page 18: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

18

Resultados da classificação dos exemplos do conjunto de teste

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 19: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

19

Avaliação de um k-NN (k=4) usando HoldOut para o Iris dataset

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Se queremos construir e avaliar agora um classificador k-NN só temos que substituir o

operador “Classification by Regresion” dentro do sub-processo SimpleValidation por o

operador K-NN e indicar os valores para os parâmetros

(k value, tipo de medida, etc.)

Page 20: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

20

Resultados da avaliação do k-NN (k=4) usando HoldOut para o Iris dataset

ClasePredita

Classe Correcta

Setosa Versicolor Virgínica

Setosa 15 0 0

Versicolor

0 14 1

Virginica 0 1 4

accuracy – 95.56 %

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 21: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

21

Avaliação do algoritmo C4.5 para indução de árvores de decisão usando HoldOut

Árvore de decisão induzida do conjunto de

treino

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

IRIS Data (Fisher, 1936)

Page 22: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

22

Avaliação do C4.5 para indução de árvores de decisão usando HoldOut

accuracy – 93.33%

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 23: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

23

Random Subsampling

Taxa de Erro% de erros no conjunto de

testeExperiência nº 1 usa 1ª partição

Executa K experiências, uma por cada partição sobre o conjunto de dados: em cada partição é seleccionado aleatoriamente um nº (fixo) de exemplos de

teste o classificador é induzido dos exemplos de treino e avaliado nos exemplos de

teste

A estimativa do erro verdadeiro é obtida como a média dos erros de cada partição.

E1

E2

Ek

K

iiE

KE

1

1

Este estimador é significativamente melhor que o obtido com holdout

Experiência nº 2 usa 2ª partição

Experiência nº K usa kª partição

exemplo de teste

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 24: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

24

k-Fold Cross-Validation

Taxa de ErroExperiência nº 1

usa 1ª fold como conjunto de teste

O conjunto de dados é dividido em k-folds (k-partições) Em cada experiência (run) usa: k-1 folds como conjunto de

treino é 1-fold (aquele que sobra) como conjunto de teste

A estimativa do erro verdadeiro é obtida como a média dos erros de cada experiência

E1

E2

E3

k

iiE

kE

1

1…, etc.

Este é um dos métodos de validação mais popular em ML

Experiência nº 2 usa o 2º fold como conjunto de teste

k-1-folds = conjunto de treino

teste

teste

testeExperiência nº 3

usa o 3º fold como conjunto de teste

1-fold = conjunto de teste

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 25: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

25

k-Fold Cross-Validation em RapidMinerOperador: X-Validation

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 26: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

26

Avaliação do algoritmo C4.5 para indução de árvores de decisão usando XValidation

Um

a d

as á

rvore

s

ind

uzid

as

Error Rate – 7.33% +/- 6.26%

Base de Dados: Iris

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

k=10

Error Rate = 7.33 %# de exemplos avaliados: 150

Page 27: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

27

Leave-one-out Method

Taxa de ErroExperiência nº 1

usa o 1º exemplo como conjunto de

teste

Para um conjunto de dados com N exemplos executa N experiências (runs) Para cada experiência (run): usa N-1 exemplos como conjunto de treino e

apenas 1 exemplo (aquele que sobra) como conjunto de teste

A estimativa do erro verdadeiro é obtida como a média dos erros de cada experiência

E1

E2

E3

N

iiE

NE

1

1…, etc.

Caso especial de k-fold cross validation quando k= N

Experiência nº 2 usa o 2º exemplo como conjunto de

teste

N-1 exemplos = conjunto de treino

Experiência nº 3 usa o 3ºexemplo como conjunto de

teste

1-fold = 1 example

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 28: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

28

Avaliação do algoritmo C4.5 para indução de árvore de decisão com LeaveOneOut

Error Rate – 6.67% +/- 24.94%

leave-one-out está seleccionado

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Base de Dados: Iris

Error Rate = 6.67 %# de exemplos avaliados: 150

Melhora a estimativa mas aumenta a variância

Page 29: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

29

Quantos folds escolher? Maior número de folds:

Mais exacta (accurate) a estimativa do erro verdadeiro menor bias (desvio), maior variância

Mais número de runs maior tempo de computação

Menor número de folds: Menos exacto (accurate) a estimativa do erro

verdadeiro maior bias, menor variância

Menos número de runs menor tempo de computação

Na prática: a escolha de k depende de N (nº de exemplos) se tamanho muito grande com 3-fold cross-validation

podemos obter uma estimativa accurate se dados muito esparsos usar one-leave-out para poder

obter o maior número possível de exemplos de treino

Como regra, k=10Aprendizagem Computacional Gladys Castillo,

Universidade de Aveiro

Page 30: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

30

Bootstrapping

Dado um conjunto de dados D com N exemplos é gerado um

número B de amostras (bootstraps) de tamanho N: cada amostra é gerada usando amostragem com reposição cada vez que um exemplo é adicionado aleatoriamente este é logo

reposto

alguns exemplos podem aparecer mais do que uma vez, enquanto

outros podem nunca aparecer

Em cada experiência (trial): (em total são efectuadas B

experiências)

uma amostra bootstrap é gerada e usada como conjunto de

treino os exemplos do conjunto D que não pertencem à amostra são

usados como conjunto de teste, e é obtida uma estimativa da

taxa de erro A estimativa da taxa de erro é a média das taxa de erros

obtidas por cada uma das amostras

Método de estimação baseado em re-amostragem com reposição (sampling with replacement) usado quando dispormos de poucos

exemplos

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 31: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

31

Bootstrap 0.632

Estimativas da Taxa de Erro

Experiência nº 1 1º bootstrap sample

A estimativa do erro verdadeiro é obtida como a média dos erros de cada experiência

E1 = 0.632 Eteste + 0.368 Etreino

B

iiE

BE

1

1

…, etc.

Um exemplo tem uma probabilidade de 1-1/N de não ser seleccionado a probabilidade que fique no conjunto de teste é de (1-1/N)N 1- e -1 = 0.368 o conjunto de treino vai conter aproximadamente 63.2% dos exemplos de D a taxa de erro Eteste é um estimador muito pessimista (usa 36.8% dos exemplos) solução: usar também a taxa do erro Etreino obtida no conjunto de treino

Experiência nº 2 2º bootstrap sample

63.2 % dos exemplos de DConjunto de Treino: D1

Experiência nº B Bº bootstrap

sample

Conjunto de Teste: D \ D1

37 % de D

Conjunto de Treino: D2 Conjunto de Teste: D \ D2

Conjunto de Treino: DB Conjunto de Teste: D \ DB

E2 = 0.632 Eteste + 0.368 Etreino

EB = 0.632 Eteste + 0.368 Etreino

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 32: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

32

BootStrapping em RapidMinerOperador: Bootstrapping Validation

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 33: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

33

Avaliação do Naive Bayes com Bootstrapping para o Iris dataset

Error Rate – 6.47% +/- 3.06%

Class prior distributions for one of induced models

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Error Rate = 6.47 %# de exemplos avaliados: 573a probabilidade que um exemplo fique no conjunto de teste é 36.8 % (150 * 0.368 = 55.2 55.2 x 10 = 552 ) Melhora a

estimativa e diminui a variância

B= 10 amostras com

N=150 exemplos

Page 34: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

34

Comparação dos Métodos de Avaliação

Holdout: para N grande

Random Subsampling: melhora a estimativa

de holdout mas não existe controlo sobre os

exemplos usados para treino e para teste

k-fold Cross Validation: para N intermédia estimação “unbiased” do erro verdadeiro, mas com

elevada variância

0,632 booststraping: para N pequena estimação “unbiased” no limite e com pouca variância

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 35: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

35

Outros factores que afectam o desempenho dum classificador

A distribuição da classe Esparsidade do conjunto de dados Custo associado à misclassification (ter

classificado erradamente um exemplo) Dimensão de conjunto de treino e de teste

O desempenho de um classificador não depende apenas do algoritmo de aprendizagem; este depende também de outros factores:

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 36: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

36

Outras Medidas de Avaliação

Speed: time to construct the model (training time) time to use the model

(classification/prediction time) Robustness: handling noise and missing values Scalability: efficiency in disk-resident databases Interpretability

understanding and insight provided by the model

Other measures goodness of rules, such as decision tree size

or compactness of classification rules

Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro

Page 37: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro

Parte II. Avaliação sensível à distribuição das classes e ao custo

Page 38: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

38

Aprendizagem Computacional Gladys Castillo ,UA

Avaliação de Algoritmos de Aprendizagem

Qual o desempenho do classificador h(x) aprendido? Medida natural de desempenho: taxa de erro

(inversamente taxa de acerto)

Como estimar a taxa de erro do algoritmo? O erro de re-substituição (usando o conjunto de treino

também como conjunto de teste) é um estimador optimista

Usar métodos de estimação: hold-out: dividir conjunto de dados em treino(70%)-

teste(30%) métodos de reamostragem

validação cruzada k-fold bootstrap

avaliados exemplos total

dosclassifica menteincorrecta exemplosDhErr

#)),(( x )),((1)),(( DhErrDhAcc xx

Page 39: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

39

Avaliação de Algoritmos de Aprendizagem

Dado um algoritmo e um conjunto de dados Quanta confiança podemos ter na taxa de

erro (acerto) estimada? calcular intervalos de confiança

Dado dois algoritmos e um conjunto de dados Qual algoritmo tem melhor desempenho

(capacidade de generalização) ?

realizar testes de significância

Dois problemas distintos:

Aprendizagem Computacional Gladys Castillo ,UA

Page 40: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

40

Estimação de ParâmetrosPopulação Amostra

Distribuição da População

Parâmetros

Distribuição Amostral

Estatísticas(valor fixo)

estimar

(função da amostra)

pontual (estatísticas)

por intervalo (intervalos de confiança)Estimação

estatística: qualquer variável aleatória (v.a.) que seja função da amostra aleatória, não contendo parâmetros desconhecidos

estimador: estatística que estima (pontualmente) um parâmetro populacional

estimativa pontual: valor obtido por um estimador para uma amostra específica

Aprendizagem Computacional Gladys Castillo ,UA

Page 41: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

41Aprendizagem Computacional na UA

Parâmetro – Medida usada para descrever a distribuição da população a média μ e o desvio padrão σ são parâmetros de uma

distribuição Normal - N(μ,σ2) a probabilidade de sucesso p é um parâmetro da distribuição

Binomial - B(n,p)

Estatística – Função de uma amostra aleatória que não depende de parâmetros desconhecidos Média amostral:

Variância amostral:

Parâmetro vs. Estatística

2

1

2 )(1

n

i i XXnS

n

i iXnX1

1

Exemplo: se para uma amostra se observar uma média 5.1, então esse valor é uma estimativa pontual da média da população, μ

Page 42: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

42

Intervalo de Confiança

Um intervalo de confiança para um parâmetro , a um grau de confiança 1-, é uma concretização de um intervalo aleatório (Linf, Lsup) para o qual se tem:

P(Linf < < Lsup) = 1- , (0,1)

onde deve ser um valor muito reduzido por forma a termos confianças elevadas

Valores usuais para o grau de confiança: 95%, 99% e 90%

Aprendizagem Computacional Gladys Castillo ,UA

Page 43: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

43Aprendizagem Computacional na UA

Taxa de Acerto (accuracy)Distribuição Binomial

Classificação como processo de Bernoulli Uma prova de Bernoulli associa uma variável aleatória com

2 resultados possíveis: sucesso ou fracasso resultados para classificação: correcto ou incorrecto

Uma sequência (soma) de n provas de Bernoulli tem distribuição Binomial:

X Binomial(n, p) X - número de sucessos; p – probabilidade de

sucesso Ex: X : nº de caras saídas em 50 lançamentos de uma moeda

valor esperado de sair “cara”: E(X) = np = 50 0.5 = 25

X Binomial(N, p) X - # de classificações correctas, N - # de exemplos de teste p – probabilidade de classificar correctamente um exemplo

Estimar: p – taxa de acerto verdadeira (para toda a população)

A taxa de acerto, acc = X/N, é um estimador pontual de p

Page 44: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

44

0

0,02

0,04

0,06

0,08

0,1

0,12

0,14

0 5 10 15 20

- +0

(0,1)N

Intervalo de confiança para a taxa de acerto verdadeira p (desconhecida):

Intervalo de Confiança paraa Taxa de Acerto (grandes amostras)

Para conjunto de teste com N > 30, a taxa de acerto pode ser aproximada, pelo TLC, a uma distribuição Normal de média p e variância p(1-p)/N

1,0~)1(

)1(,~ N

Npp

paccZ

N

pppN

N

Xacc

aproxaprox

1)/)1(

( 2/12/ zNpp

pacczP

Area = 1 -

centrando e reduzindo

pp szâccszâccpIC 2121)1( ,)(

N

âccâccsp

)1(

N

xâcc

2

2

z /2 z1 - /2

quantil de ordem 1-/2quantil de ordem /2

z-z

1 Um IC aproximado para p, a um grau de confiança 1- é dado por:

e

usamos âcc como uma estimativa pontual de p para calcular o desvio padrão amostral e a letra

minúscula x pois estamos a representar uma concretização da v.a. X

onde

e

Aprendizagem Computacional Gladys Castillo ,UA

Page 45: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

45Aprendizagem Computacional na UA

Intervalo de Confiança para a taxa de Acerto (accuracy) Verdadeira

Dado um classificador com taxa de acerto de 80% num conjunto de teste com 100 exemplos: N=100, âcc = 0.8 Para 1- = 0.95 (95% grau de confiança) z1-/2=1.96

1- z

0.99 2.58

0.98 2.33

0.95 1.96

0.90 1.65

z0,9750=1,96

04.096.18.0 ,04.096.18.0)(%)95( pIC 0784.08.0 ,0784.08.0

.87840 ,7216.0)(%95 pIC

04,0100

2.08.0)1(

N

âccâccsp

pp SzccaSzccapIC 9750.09750.0%)95( ˆ,ˆ)( pp sâccsâccpIC 96.1,96.1)(%)95(

Determinar um IC aproximado para a taxa de acerto verdadeira a 95%: pp szâccszâccpIC 2121)1( ,)(

N

âccâccsp

)1( ,

1º. Determinar z1-/2 para =0,05

3º. Substituir na fórmula:

2º. Determinar sp (desvio padrão amostral)

Page 46: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

46

Interpretação do IC

Interpretação: 95% dos possíveis

ICs obtidos a partir de uma

amostra de tamanho N, conterão

de facto o verdadeiro valor da

accuracy

True Accuracy

pp sâccsâccpIC 96.1,96.1)(%)95(

Determinando um IC aproximado para a taxa de acerto verdadeira a 95%:

N

xâcc onde

N

âccâccsp

)1( ,

Aprendizagem Computacional Gladys Castillo ,UA

Page 47: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

47Aprendizagem Computacional na UA

Intervalo de Confiança da AccuracyExemplo

Dado um classificador com taxa de acerto de 80% num conjunto de teste com 100 exemplos: N=100, âcc = 0.8 Para 1- = 0.95 (95% grau de confiança) z1-/2=1.96

N 50 100 500 1000 5000

p(lower)

0.689 0.722 0.765 0.775 0.789

p(upper)

0.911 0.878 0.835 0.825 0.811

Usando a fórmula para determinar o intervalo de confiança obtemos os seguintes limites variando o nº

de exemplos

A amplitude do intervalo de confiança vai diminuindo à medida que aumentamos o nº de exemplos de teste

© adaptado dos acetatoos de Tan, Steinbach, Kumar

Page 48: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

48

Comparação do Desempenho (dois algoritmos e um conjunto de dados)

Dado dois algoritmos e um conjunto de dados qual algoritmo tem melhor desempenho ? realizar teste de hipótese (TH)

Existem duas hipóteses: H0 vs H1

Hipótese Nula — H0 (usar sempre sinal =)

Hipótese Alternativa — H1

Dois tipos de testes: unilateral: H1 apenas contempla possibilidades à direita ou à esquerda

de H0

H0 : μ = 1 vs H1 : μ > 1 (unilateral à direita) H0 : μ = 1 vs H1 : μ < 1 (unilateral à

esquerda)

bilateral: H1 contempla possibilidades à direita ou à esquerda de H0

H0 : μ = 1 vs H1 : μ 1 (bilateral)

Dois tipos de decisão: Rejeitar a hipótese nula H0

Não rejeitar a hipótese nula H0

Procedimento estatístico que permite averiguar a “sustentação” de uma hipótese

Aprendizagem Computacional Gladys Castillo ,UA

Page 49: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

49Aprendizagem Computacional na UA

Testes de Hipóteses (TH)Definições básicas

Estatística de teste T: estatística calculada a partir da amostra e usada para tomar a decisão

Região de rejeição ou região crítica RC: conjunto de valores da

estatística de teste que nos levam a rejeitar H0

Nível de significância ou tamanho do teste : α = P(Erro de tipo I) = P(rejeitar H0|H0 verdadeiro)

normalmente =0.1, =0.05 ou =0.01

Potência do teste 1 − β:

1 − β = 1 − P(Erro de tipo II) = P(não rejeitar H0|H1

verdadeiro) p-value: a probabilidade de observar um valor da estatística de

teste tanto ou mais afastado que o valor observado na amostra,

assumindo que H0 é verdadeira

Page 50: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

50

1. Identificar o parâmetro de interesse e especificar H0 e H1

2. Escolher uma estatística de teste, T, com distribuição

conhecida e calcular tobs para os dados observados

3. Determinar o p-value do teste• se teste unilateral à direita: p-value = P(T > tobs|H0)

• se teste unilateral à esquerda: p-value = P(T < tobs|H0)

• se teste bilateral:

2P(T < tobs|H0) se tobs for reduzido

2P(T > tobs|H0) se tobs for elevado

tobs é reduzido (elevado) se a estimativa que se obtém para o parâmetro

a testar é inferior (superior) ao valor especificado em H0

4. Tomar decisão: rejeitar H0 se p-value (nível de

significância)

5. Concluir

Procedimento usando o p-value

p-value =

Aprendizagem Computacional Gladys Castillo ,UA

Page 51: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

51Aprendizagem Computacional na UA

TH para Comparação do Desempenho(dois algoritmos e um conjunto de dados)

Ambos os algoritmos devem: aprender nos mesmos conjuntos de treino avaliar os modelos induzidos nos mesmos conjuntos de teste

Testar: existe uma diferença significativa no desempenho ? Hipótese nula H0 : não há diferença significativa

Hipótese alternativa H1 : há diferença significativa

Teste de Hipóteses: H0 vs. H1

(deve medir a evidencia que existe em favor da rejeição da hipótese nula)

usar o teste t para amostras emparelhadas (paired t-test) permite inferir sobre a igualdade das médias de duas amostras

emparelhadas

se as amostras têm dimensão inferior a 30

as amostras devem provir de populações normalmente

distribuídas

se é violada a normalidade dos dados

usar testes não paramétricos

teste de Wilcoxon (signed-ranks) ou teste dos sinais (sign

test)

Page 52: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

52

Para cada fold j (j=1,..,k) :

1) estimar valor de medida de desempenho cij para cada algoritmo i

(i=1,2) (taxa de erro, taxa de acerto, precisão, sensibilidade, área

AUC, etc.)

2) calcular as diferenças no desempenho:

dj = c1j– c2j

Teste T para Amostras Emparelhadas

(dois algoritmos e um conjunto de dados)

k-fold cross-validated paired t-test

Para obter duas amostras emparelhadas usar validação cruzada k-fold:

Amostras emparelhadas: se pares de observações (xi, yi) sãodependentes sendo todos os restantes pares (xi, yj), ij

independentes

Fold 1 2 3 4 5 6 7 8 9 10

Algoritmo1

c11 c12 c13 c14 c15 c16 c17 c18 c19 c110

Algoritmo2

c21 c22 c23 c24 c25 c26 c27 c28 c29 c210

Diferenças

d1 d2 d3 d4 d5 d6 d7 d8 d9 d10

para

k=

10

Aprendizagem Computacional Gladys Castillo ,UA

Page 53: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

53

1. Identificar o parâmetro de interesse e especificar H0 e H1

H0 : D = 0 vs. H1: D 0 (a média da diferença na população)

2. Calcular tobs usando a estatística do teste T

3. Determinar o p-value usando a tabela de distribuição t-student:

• 2P(T < tobs|H0) se ou 2P(T > tobs|H0) se

4. Tomar decisão: rejeitar H0 se p-value • é o nível de significância, usualmente =0.05 ou =0.01

Teste T para Amostras Emparelhadas

(dois algoritmos e um conjunto de dados)

k-fold cross-validated paired t-test

se H0 é verdadeira: T tem distribuição t-student com k-1 graus de liberdade

D - v.a. que representa a diferença entre as v.a. que representam as medidas de desempenho M1 e M2 obtidas

pelos algoritmos 1 e 2

ks

dt

Dc

obs

k

jjd

kd

1

1)1()(

1

2

kddsk

jjcD

média amostral Desvio padrão amostral corrigido

221 ,~ DDNMMD

0d 0d

Testar se a diferença no desempenho é estatisticamente significante

Aprendizagem Computacional Gladys Castillo ,UA

Page 54: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

54

Paired T-Test T em RapidMiner

Três algoritmos de aprendizagem são aqui comparados

Aprendizagem Computacional Gladys Castillo ,UA

Page 55: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

55

Paired T-Test T em RapidMiner

como p-value < alpha = 0.05

podemos rejeitar a hipótese nula

existem diferenças

significativas no desempenho

obtido

Três modelos de regressão são aqui comparados

A medida de desempenho é a raiz quadrada

do erro quadrático médio

Aprendizagem Computacional Gladys Castillo ,UA

Page 56: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

56Aprendizagem Computacional na UA

k-fold cross-validated paired t-test Problemas na implementação

O teste T pressupõe que as diferenças no desempenho dj = c1j– c2j provenham de uma distribuição Normal difícil de provar pois há poucos

dados (se k=10, a amostra apenas contêm 10 elementos) Os conjuntos de testes são independentes más os conjuntos de

treino não (se k=10, dois conjuntos de treino partilham o 80% dos dados) Elevada probabilidade de ocorrência do erro de Tipo I erro de Tipo I P(rejeitar H0|H0 true)

incorrectamente detecta que existe diferença significativa no desempenho dos dois algoritmos quando realmente esta diferença não existe

Alternativas: Testes não paramétricos: Wilcoxon (signed ranks) ou dos

sinais 10x10 cross validation = 10 iterações de 10-fold CV

gera amostra de tamanho 100 (pelo TLC aproxima-se à Normal) 5x2 cross validation

Dietterich (1998) provou que este teste reduz o erro de Tipo I

o mais recomendado

Page 57: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

57

10-CV vs 5x2 CV

FONTE: htttp://reu.eng.usf.edu/Symposium/Symp2006/2006PostersPDF/LosariaCSE05.pdf

5 iterações de 2-fold CV: em cada iteração o conjunto de dados é

particionado aleatoriamente em dois conjuntos de iguais tamanhos.

Cada algoritmo (A e B) é treinado num conjunto e testado no outro

são obtidas 4 estimativas do erro

estatística do teste

Aprendizagem Computacional Gladys Castillo ,UA

Page 58: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

58Aprendizagem Computacional na UA

Pairwise T-Test em RapidMinerusando 10x10 cross validation

Usando Loop and Average com 10 iterações podemos implementar um

esquema de 10x10 cross-validation se cada loop & average process contém um

processo de 10-cross validation

Page 59: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

59

T-Test e Anova em RapidMinerusando 10x10 cross validationPodemos também implementar um teste de ANOVA em

RapidMiner

Aprendizagem Computacional Gladys Castillo ,UA

Page 60: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

60Aprendizagem Computacional na UA

Anova em RapidMiner

como p-value< 0.05 rejeita-se a hipótese nula existem

diferenças significativas no desempenho dos três modelos de

regressão

Testar se a diferença no desempenho de vários algoritmos de aprendizagem é estatisticamente significante

Page 61: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

61

Curva de Aprendizagem Mostra a relação entre tamanho

do conjunto de treino e a taxa de acerto (accuracy)

Eixo x: número de exemplos do conjunto de treino (varia entre 0 e N – nº de exemplos disponível)

Eixo y: taxa de acertos do classificador induzido por um algoritmo de aprendizagem usando um conjunto de treino de tamanho n

© Prostov, Jensen & Oates

Uma curva de aprendizagem tipicamente está composta por 3 partes:

Uma parte inicial (mais pequena) que mostra um crescimento muito rápido

Uma parte intermédia (maior) que mostra um crescimento desacelerado

Uma parte final que mostra um plateau a adição de novos exemplos de treino não melhora mais o desempenho

Uma curva de aprendizagem converge quando atinge o seu plateau

nmin representa o tamanho do conjunto de treino onde a curva converge

Aprendizagem Computacional Gladys Castillo ,UA

Page 62: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

62

Curva de Aprendizagem em RapidMiner

O operador LearningCurve é usado para construir uma curva de aprendizagem. Iterativamente divide o conjunto de dados em

treino e teste, incrementando o tamanho do conjunto de treino segundo o valor indicado em step_fraction enquanto o conjunto de teste fica com tamanho fixo. O parâmetro "training_ratio“ indica qual a percentagem máxima para o conjunto de treino

ficando o resto como teste. Tomando como valor 0.7, o conjunto de teste vai sempre conter 30% dos exemplos, enquanto o conjunto de treino começa com o 5% (ver

step_fraction) e vai aumentando o tamanho em 5% até atingir o tamanho máximo (70% dos exemplos).

Operador Create Learning Curve em RapidMiner 5

Aprendizagem Computacional Gladys Castillo ,UA

Page 63: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

63

Curva de Aprendizagem em RapidMiner

Falta apenas unir os pontos com linhas

Aprendizagem Computacional Gladys Castillo ,UA

Page 64: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro

Avaliação sensível à distribuição das classes e ao custo

Page 65: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

65Aprendizagem Computacional na UA

Tomada de decisão. Podemos errar?

%5.0100100000

500Err

Tomada de decisão numa central nuclear: Um classificador h prediz se abrir ou fechar a válvula do módulo de refrigeração num momento dado

Um classificador permite assistir à tomada de decisões entre diferentes acções. Podemos permitirmos tomar

decisões erradas?

Avaliamos desempenho num conjunto de teste = 100 000 dados acumulados no último mês; a classe é o resultado da decisão tomada por um operário (esperto) em cada momento

Número de exemplos da classe “fechar”: 99 500 Número de exemplos da classe “abrir”: 500

Suponhamos h prediz sempre “fechar” (classe maioritária). A taxa de erro é muito pequena:

É h um bom clasificador?© Exemplo adaptado de Cesar Martines & José Orallo

Page 66: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

66

Problema de Decisão Central Nuclear

CLASSE PREDITA

CLASSEACTUAL

abrir fechar

abrir TP FN

fechar FP TN

TP (true positive) – positivos verdadeirosnº de exemplos classificados “abrir” que são “abrir” (correctamente classificados)

FP (false positive) – positivos falsosnº de exemplos classificados “abrir” que são “fechar” (incorrectamente classificados)

TN (true negative) – negativos verdadeirosnº de exemplos classificados “fechar” que são “fechar” (correctamente classificados)

FN (false negative) - negativos falsosnº de exemplos classificados “fechar” que são “abrir” (incorrectamente classificados)

Taxa de acerto (accuracy):

FNFTNTP

TNTP

P

Matriz de Confusão

Diagonal dos acertos

Aprendizagem Computacional Gladys Castillo ,UA

Page 67: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

67Aprendizagem Computacional na UA

Matriz de Confusão

CLASSE PREDITA

CLASSEACTUAL

Yes (+)

No (-)

Yes (+)

TP FN

No (-) FP TN TP (true positive) – positivos verdadeirosnº de exemplos classificados positivos que são positivos (correctamente classificados)

FP (false positive) – positivos falsosnº de exemplos classificados positivos que são negativos (incorrectamente classificados)

TN (true negative) – negativos verdadeirosnº de exemplos classificados negativos que são negativos (correctamente classificados)

FN (false negative) - negativos falsosnº de exemplos classificados negativos que são positivos (incorrectamente classificados)

Taxa de acerto (accuracy):

FNFTNTP

TNTP

P

Problema de Classificação Binário

Page 68: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

68

Medidas de Avaliação True Positive Rate = recall (sensibility):

proporção de positivos verdadeiros do total de positivos

False Positive Rate: proporção positivos falsos (incorrectamente classificados como positivos) do total de negativos

True Negative Rate: proporção de negativos verdadeiros do total de negativos

False Negative Rate: proporção de negativos falsos (incorrectamente classificados como negativos) do total de positivos

FNTP

TPTPR

+ -

+ TP FN

- FP TN

predita

+ -

+ TP FN

- FP TNTNFP

FPFPR

predita

predita

actu

al

actu

al

actu

al

FNTP

FNFNR

+ -

+ TP FN

- FP TN

+ -

+ TP FN

- FP TN

actu

al

TNFP

TNTNR

Aprendizagem Computacional Gladys Castillo ,UA

Page 69: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

69Aprendizagem Computacional na UA

Precisão e Sensibilidade Precision (precisão): proporção de positivos

verdadeiros do total dos exemplos classificados como positivos

Recall (sensibilidade) (true positive rate): proporção de exemplos positivos que foram correctamente classificados

FNTP

TPTPRrecall

predita

+ -

+ TP FN

- FP TN

predita

actu

al

actu

al

FPTP

TPprecision

+ -

+ TP FN

- FP TN

recall1

precision1

2measureF

Page 70: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

70

Precisão e Sensibilidade em IR

Precision (precisão): mede a proporção dos documentos recuperados que são realmente relevantes do total de documentos recuperados.

Recall (sensibilidade) (true positive rate): reflecte a probabilidade de que um documento realmente relevante seja recuperado pelo sistema

relevantes documentos

srecuperado relevantes documentosadesensibilid

srecuperado documentos

srecuperado relevantes documentosprecisão

Duas medidas de desempenho muito usadas nos sistemas de recuperação de informação (information retrieval systems). Os documentos de uma base de dados podem ser recuperados (classificados como relevantes) ou rejeitados a partir de um “query” à base de dados realizado por um utilizador

Aprendizagem Computacional Gladys Castillo ,UA

Page 71: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

71Aprendizagem Computacional na UA

Qual Classificador é melhor?

Exemplo: (conjunto de teste com 100.000 instâncias)

h1 abrir fechar

abrir 300 200

fechar 500 99000

Predita

Real

h3 abrir fechar

abrir 400 100

fechar 5400

94100

Predita

h2 abrir fechar

abrir 0 500

fechar 0 99500

Predita

ERRO: 0,7%

TPR= 300 / 500 = 60%FNR= 200 / 500 = 40%TNR= 99000 / 99500 = 99,5%FPR= 500 / 99500 = 0,05%Precision = 300 / 800 = 37,5%

ERRO: 0,5%

TPR= 0 / 500 = 0%FNR= 500 / 500 = 100%TNR= 99500 / 99500 = 100%FPR= 0 / 99500 = 0%Precision = 0 / 0 = INDEFINIDO

ERRO: 5,5%

TPR= 400 / 500 = 80%FNR= 100 / 500 = 20%TNR= 94100 / 99500 = 94,6%FPR= 5400 / 99500 = 5,4%Precision = 400 / 5800 = 6,9%

Esp

ecifi

cid

ad

eS

en

sib

ilid

ad

eR

ecall

Pre

cis

ion

© Exemplo adaptado de Cesar Martines & José Orallo

Page 72: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

72

Matriz de custos

A partir da matriz de custo avalia-se cada classificador e seleccionamos o classificador com menor custo

abrir fechar

abrir 0 2000€

fechar 100€ 0Real

Predita

Matriz de Custos

Em muitas situações todos os erros produzidos por um modelo preditivo não têm as mesmas consequências

Tomada de decisão numa central nuclear: Deixar fechada uma válvula quando é necessário abri-la pode provocar uma explosão, enquanto abrir uma válvula quando pode se manter fechada pode provocar uma paragem

© Exemplo adaptado de Cesar Martines & José Orallo

O importante não é obter um classificador que erre o

menos possível senão aquele que tenha um menor custo

Aprendizagem Computacional Gladys Castillo ,UA

Page 73: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

73Aprendizagem Computacional na UA

abrir fechar

abrir 0 2000€

fechar 100€ 0Real

Predita

h1 abrir fechar

abrir 300 200

fechar 500 99000

Real

Pred

h3 abrir fechar

abrir 400 100

fechar 5400

94100

h2 abrir fechar

abrir 0 500

fechar 0 99500

h1 abrir fechar

abrir 0€ 400.000€

fechar 50.000€

0€

h3 abrir fechar

abrir 0€ 200.000€

fechar 540.000€

0€

h2 abrir fechar

abrir 0€ 1.000.000€

fechar 0€ 0€

CUSTO TOTAL: 450.000€

CUSTO TOTAL: 1.000.000€

CUSTO TOTAL: 740.000€

Matrizes de confusão para 3 classificadores

Matriz de custo

Matrizes resultado

Problema de Decisão Central Nuclear

Pred Pred

© Exemplo adaptado de Cesar Martines & José Orallo

Page 74: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

74

Para problemas de duas classes depende de um contexto (o skew): proporção do custo dos FP e FN proporção de exemplos negativos e positivos

Para o exemplo anterior calculamos o “slope”:

o “slope” é suficiente para determinar qual classificador é o melhor:

20

1

2000

100

FNcost

FPcost199

500

99500

Pos

Neg 95,919920

1slope

h1: FNR= 40%, FPR= 0,5%Custo unitário = 1 x 0,40 + 9,95 x 0,005 = 0,45

h2: FNR= 100%, FPR= 0%Custo Unitário = 1 x 1 + 9,95 x 0 = 1

h3: FNR= 20%, FPR= 5,4%Custo Unitário = 1 x 0,20 + 9,95 x 0,054 = 0,74

De que depende o custo final?

Menor custo unitário = melhor classificador © Exemplo adaptado de Cesar Martines & José Orallo

Proporção das classesProporção dos custos dos erros

Aprendizagem Computacional Gladys Castillo ,UA

Page 75: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

75Aprendizagem Computacional na UA

O classificador com menor erro não é obrigatoriamente o melhor.

O desempenho de um classificador também depende:

1. do contexto:

distribuição das classes (não sempre todas as classes têm a

mesma proporção, podem não estar balanceadas, i.e. 1/1 =50 % de

cada)

custos de cada tipo de erro

2. tamanho dos conjuntos de treino e teste

PROBLEMA: Em muitas aplicações não se conhece a priori a

distribuição das classes no conjunto de teste resulta difícil estimar

a matriz de custos

comparar classificadores usando análises ROC

Desempenho

Page 76: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

76

Desenvolvido por primeira vez para avaliar radares na 2ª

guerra mundial (ex: detecção de sinais ruidosos)

Nos 70’s: usado em aplicações de diagnóstico médico

Finais dos 90 - começa a usar-se em data mining

Caracteriza o trade-off: acertos positivos vs. falsos alarmes

benefícios vs. custos

Distingue dois tipos de classificadores: Discretos (crisp) – predizem apenas uma classe entre as

possíveis

Contínuos (soft) – predizem uma classe, mas também

produzem um valor de confidencia (e.x. uma probabilidade)

Análise ROC(Receiver Operating Characteristic)

Aprendizagem Computacional Gladys Castillo ,UA

Page 77: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

77Aprendizagem Computacional na UA

Espacio ROC

0,000

0,200

0,400

0,600

0,800

1,000

0,000 0,200 0,400 0,600 0,800 1,000

False Positives

True

Pos

itive

s

abrir fechar

abrir 400 100

fechar 12000 87500

Pred

Real

abrir fechar

abrir 0,8 0,2

fechar 0,121 0,879

Pred

Real

TPR= 400 / 500 = 0.8

FPR= 12000 / 99500 =

0.121

FNR= 100 / 500 = 0.2

TNR= 87500 / 99500 =

0.879%

Gráfico ROC Classificadores discretos (“crisp”)O desempenho de cada classificador é representado

como um único ponto (FPR, TPR) no gráfico ROC

© Exemplo de Cesar Martines & José Orallo

Page 78: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

78

bons e maus classificadores

0 1

1

0FPR

TPR

Bom classificador Alto TPR. Baixo FPR

0 1

1

0FPR

TPR

0 1

1

0FPR

TPR

Mau classificador Baixo TPR Alto FPR

Mau classificador (en realidad)

© Exemplo adaptado de Cesar Martines & José Orallo

Gráfico ROC. Classificadores Discretos (crisp)

Aprendizagem Computacional Gladys Castillo ,UA

Page 79: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

79Aprendizagem Computacional na UA

Gráfico ROCClassificadores Discretos (crisp)

(0, 1)– classificação

perfeita

(0, 0) - nunca gera uma

classificação positiva

(1, 1) sempre gera classificação

positiva

A linha diagonal (TP=FP) classificador aleatórioAbaixo da diagonal: previsão oposta à classe real

• D – o melhor (mais ao noroeste: TPR maior, FPR menor)

• E - o pior (abaixo da diagonal – pior do que aleatório)

• Conservadores (lado esquerdo) vs Liberais (lado direito): A é mais conservador que B (classifica como positivo com mais precaução)

© Tom Fawcett

Page 80: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

80

Gráfico ROC Classificadores Discretos (crisp)

D – o melhor(mais ao noroeste: TPR maior, FPR menor)

E - o pior (abaixo da diagonal – pior do que aleatório)

Classificadores conservadores (lado esquerdo) vs. liberais (lado direito)

A é mais conservador que B (menos TP, menos FP classifica um exemplo como positivo com mais precaução do que B, só quando existir uma forte evidência)

O triângulo inferior está geralmente vazio. Se um classificador produz pontos abaixo da diagonal, pode-se negá-lo para produzir pontos acima dela (ex: B é igual a E negado)

© Tom Fawcett

Aprendizagem Computacional Gladys Castillo ,UA

Page 81: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

81Aprendizagem Computacional na UA

0 1

1

0FPR

TPR

Construímos o invólucro convexo (convex hull) com os pontos de cada classificador e adicionamos os pontos dos classificadores triviais (0,0) y (1,1)

Os classificadores que caem debaixo da curva ROC descartam-se

O melhor classificador vai ser seleccionado tendo em conta o slope segundo o contexto da aplicação (distribuição de classes, matrix de custos) ver acetato 14

Podemos descartar os classificadores que estão abaixo do invólucro convexo porque não há nenhuma combinação de

distribuição classes para a qual possam ser óptimos

A diagonal mostra a pior

situação possível

Invólucro Convexo (Convex Hull)Classificadores Discretos (crisp)

© Cesar Martines & José Orallo

Page 82: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

82

No contexto da aplicação, seleccionamos o classificador óptimo entre os mantidos

0%

20%

40%

60%

80%

100%

0% 20% 40% 60% 80% 100%

false positive rate

tru

e p

os

itiv

e r

ate

FPcost

FNcost1

2

Neg

Pos4

slope 42 2

Contexto:

© Cesar Martines & José Orallo

Invólucro Convexo (Convex Hull)Classificadores Discretos (crisp)

Exemplo 1:

Aprendizagem Computacional Gladys Castillo ,UA

Page 83: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

83Aprendizagem Computacional na UA

0%

20%

40%

60%

80%

100%

0% 20% 40% 60% 80% 100%

false positive rate

tru

e p

os

itiv

e r

ate

FPcost

FNcost1

8

Neg

Pos4

slope 48 .5

Contexto:

© Cesar Martines & José Orallo

Invólucro Convexo (Convex Hull)Classificadores Discretos (crisp)

No contexto da aplicação, seleccionamos o classificador óptimo entre os mantidos

Exemplo 2

Page 84: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

84

A optimalidade de um classificador depende da distribuição das classes y dos custos dos erros.

A partir de este contexto da aplicação podemos calcular o “slope” (“skew”)

Se conhecemos o contexto:podemos seleccionar o melhor classificador, multiplicando a matriz de confusão pela matriz de custos

Se desconhecemos o contexto: usando a análises ROC podemos eleger um subconjunto de classificadores, entre os quais seguro vai estar o classificador óptimo para qualquer contexto possível

Classificadores Discretos (crisp)Conclusões

Aprendizagem Computacional Gladys Castillo ,UA

Page 85: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

85Aprendizagem Computacional na UA

Classificadores Contínuos (“soft”)

Classificadores probabilísticos:

se input: exemplo x output: P(cj| x) para cada classe

A classe atribuída é aquela que maximiza a

probabilidade a posteriori

P(Left|x) P(Balanced|x) P(Right|x)

0.277796 0.135227 0.586978

P(Left|x) P(Balanced|x) P(Right|x)

0.210816 0.000175 0.789009

Classificador A:

Classificador B:

Real=RightPredita=Right

59% grau de confiança

Real =RightPredita=Right

79% grau de confiança

1

LeftLeft_W_W

Right245

ClassClassRightRight_D_DRightRight_W_WLeftLeft_D_D

1

LeftLeft_W_W

Right245

ClassClassRightRight_D_DRightRight_W_WLeftLeft_D_D

Exemplo: (balance problem)

Os dois predizem “Rigth” mas o classificador B está mais seguro

Page 86: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

86

Se classificador probabilístico e problema binário: P(“yes”| x) = p então P(“no”| x) = 1 p só necessitamos especificar a probabilidade de uma classe

Um ranker é um classificador suave que proporciona um valor entre 0 y 1 da probabilidade de uma das classes. Este valor se denomina também “score”

Exemplos: Probabilidade de que um cliente compre um produto Probabilidade de relevância de um documento Probabilidade de que um correio seja spam. ...

Rankers

Aprendizagem Computacional Gladys Castillo ,UA

Page 87: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

87Aprendizagem Computacional na UA

Um classificador “soft” pode converter-se num

classificador “crisp” se utilizarmos um threshold

Exemplo:

se score 0.7 então classe “+” caso contrário

classe “-”

Para diferentes thresholds obtemos diferentes

classificadores “crisp”

Assim, fixando um threshold obtemos um classificador

“crisp”

podemos desenha-lo como um ponto no gráfico ROC

gera-se uma curva escalonada (a curva ROC)

quanto maior o número de instâncias,

a curva fica mais contínua

Curva ROC Classificadores Contínuos (soft)

Page 88: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

88

classe real(p)ositiva ou (n)egativa

nnnnnnnnnnnnnnnnnnnn

ClassePredita

pppppppppppppppppppp

pnnnnn nnn nnn nnn nnn nn

ppnnnn nnn nnn nnn nnn nn

...

© Exemplo de Tom Fawcett

Curva ROC Classificador Contínuo (soft)

Exemplos ordenados por score

usando threshold

0.9 0.8 0.1

© Acetatos adaptados de Cesar Martines & José Orallo

Se threshold= 0.54 obtemos a menor taxa de erros (6/20 = 30%)

Aprendizagem Computacional Gladys Castillo ,UA

Page 89: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

89Aprendizagem Computacional na UA

Comparando ClassificadoresÁrea da Curva ROC

© Tom Fawcett

A e B – duas curvas ROC A – classificador discreto, B – classificador contínuo

Reduzir a curva ROC de cada classificador a um valor escalar: a área AUC (area under the ROC curve)

AUC varia entre 0 e 1 (1 = área de um quadrado unitário) 0.5 é a área de um classificador aleatório

nenhum classificador real deve ter um valor AUC < 0.5

O melhor classificador é aquele que tem maior AUC

Page 90: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

90

Curva ROC em RapidMiner 5

Operador: ROCChart

Avaliar Desempenho com o operador

Performance (Binomial

Classification)

Aprendizagem Computacional Gladys Castillo ,UA

Page 91: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

91Aprendizagem Computacional na UA

Curva ROC em RapidMinerClassificador: Naive Bayes, base de dados: vote.arff, AUC:

0.974

Page 92: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

92

A curva ROC não é sensível às mudanças - baseia-se

nas taxas TPR e FPR, as quais não dependem da

distribuição das classes

O gráfico de precision vs. recall é sensível às mudanças

– a medida de precisão depende da distribuição das

classes

Curva ROC vs. Precision-Recall Classes Desbalanceadas

predita

actu

al

+ -

+ TP FN

- FP TN

+ -

+ TP FN

- FP TNactu

al

predita

predita

+ -

+ TP FN

- FP TNactu

al

FPTP

TPprecision

O que acontecer se houver mudanças na proporção de exemplos positivos e negativos no conjunto de teste?

Proporções pelas filhas – para cada classe a sua taxa

Proporção pela coluna- tem em conta nº exemplos “+” e

“-”

Aprendizagem Computacional Gladys Castillo ,UA

Page 93: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

93Aprendizagem Computacional na UA

Curva ROC vs. Precision-Recall Classes Desbalançadas

© Tom Fawcett

© Acetato George Darmiton

Page 94: Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

94

Referências P. Tan, M.Steinbach, V.Kumar, Introduction to Data Mining

Chapter 4.  Section 4.5 e 4.6 (pag 135 - 141) Ian H. Witten, Eibe Frank, Mark A. Hall, Credibility:  Evaluating what's been

learned, Data Mining: Practical Machine Tools and Technique Ron Kohavi. A Study of Cross-Validation and Bootstrap for Accuracy

Estimation and Model Selection. IJCAI (1995) Tom Fawcett. ROC Graphs: Notes and Practical Considerations for

Researchers (1995) Thomas G. Dietterich. Approximate Statistical Tests for Comparing

Supervised Classification Learning Algorithms. Neural Computation (1998)Slides

Classification-Introduction, Pier Luca Lanzi, Politêcnico di Milano Evaluación de Modelos de Classificación Supervisada, Pedro Larrañaga,

Iñaki Inza e Abdelmalik Moujahid Evaluación del Aprendizaje, César Hervás Martínez and José Hernández

Orallo Aprendizagem Estatística de Dados, Francisco Carvalho  Evaluación del Aprendizaje, César Hervás Martínez e José Hernández

Orallo Evaluation of Machine Learning Algorithms(I), Measures and Cost Analysis

Pavel Brazdil e João Gama, Universidade do Porto Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro