lesson 3: evaluation and comparison of supervised learning algorithms
Post on 26-Jun-2015
2.978 Views
Preview:
DESCRIPTION
TRANSCRIPT
Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro
Capítulo 3
Métodos de Avaliação paraClassificação Supervisada
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
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
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
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
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
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
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
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
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
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
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)
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
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.
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
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
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
18
Resultados da classificação dos exemplos do conjunto de teste
Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro
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.)
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
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)
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
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
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
25
k-Fold Cross-Validation em RapidMinerOperador: X-Validation
Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro
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
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
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
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
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
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
32
BootStrapping em RapidMinerOperador: Bootstrapping Validation
Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro
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
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
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
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
Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro
Parte II. Avaliação sensível à distribuição das classes e ao custo
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
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
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
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, μ
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
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
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
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)
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
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
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
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
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
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)
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
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
54
Paired T-Test T em RapidMiner
Três algoritmos de aprendizagem são aqui comparados
Aprendizagem Computacional Gladys Castillo ,UA
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
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
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
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
59
T-Test e Anova em RapidMinerusando 10x10 cross validationPodemos também implementar um teste de ANOVA em
RapidMiner
Aprendizagem Computacional Gladys Castillo ,UA
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
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
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
63
Curva de Aprendizagem em RapidMiner
Falta apenas unir os pontos com linhas
Aprendizagem Computacional Gladys Castillo ,UA
Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro
Avaliação sensível à distribuição das classes e ao custo
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
90
Curva ROC em RapidMiner 5
Operador: ROCChart
Avaliar Desempenho com o operador
Performance (Binomial
Classification)
Aprendizagem Computacional Gladys Castillo ,UA
91Aprendizagem Computacional na UA
Curva ROC em RapidMinerClassificador: Naive Bayes, base de dados: vote.arff, AUC:
0.974
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
93Aprendizagem Computacional na UA
Curva ROC vs. Precision-Recall Classes Desbalançadas
© Tom Fawcett
© Acetato George Darmiton
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
top related