Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms
Upcoming SlideShare
Loading in...5
×
 

Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms

on

  • 2,907 views

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 ...

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.

Statistics

Views

Total Views
2,907
Views on SlideShare
2,657
Embed Views
250

Actions

Likes
1
Downloads
111
Comments
0

3 Embeds 250

https://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 243
http://www.linkedin.com 6
http://www.techgig.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms Lesson 3: Evaluation and Comparison of Supervised Learning Algorithms Presentation Transcript

  • Capítulo 3 Métodos de Avaliação para Classificação Supervisada Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro
  • Aprendizagem Supervisada Esquema GeralUm conjunto de treino com exemplos rotulados é usado para 1º. Um algoritmotreinar o classificador. Cada exemplo representa um objecto de aprendizagemdescrito pelos seus atributos e a sua classe. é executado para induzir um Tid Attrib1 Attrib2 Attrib3 Class Learning classificador a 1 Yes Large 125K No algorithm partir do 2 No Medium 100K No 3 No Small 70K No conjunto de treino 4 Yes Medium 120K No Induction 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No Learn 8 No Small 85K Yes Model 9 No Medium 75K No 10 No Small 90K Yes Model 10 Training Set Apply Tid Attrib1 Attrib2 Attrib3 Class Model 11 No Small 55K ? conjunto de 12 Yes Medium 80K ? exemplos sem 13 Yes Large 110K ? Deduction 2º. Uma vez construído o rótulos 14 No Small 95K ? classificador, este pode 15 No Large 67K ? 10 ser usado para Test Set classificar futuros Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach, V.Kumar exemplos Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 2
  • Aprendizagem Supervisada 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 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 Xaprendizagem D X1 … Xn C xn1) c(1) Supervised (1) ( Fase de <x(1), c(1)> x1 <x(2), c(2)> x1( 2 ) x n2 ) c(2) ( Learning h Algorithm … … … (N ) (N ) Saída: um classificador que aproxima o melhor possível a <x(N), c(N)> x1 x c(N) n função alvo f: X  C “oculta” nos dados classificador Induzidoclassificação Entrada: exemplo sem classificar Saída: a classe de x Fase de x1 x2 … xn h c para cada futuro exemplo x, a classe atribuída é c =h(x)  f(x) Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 3
  • Erro Verdadeiro (True Error) O desempenho de um classificador é medido em termos da sua capacidade preditiva nos futuros exemplos O erro verdadeiro de um classificador h é a probabilidade de classificar erroneamente um exemplo seleccionado aleatoriamente, i.e., Errtrue (h)  P h(x)  c,  x, c : x  X, c  f(x) xX 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 limitaado de dados Como estimar o erro verdadeiro usando apenas um conjunto de exemplos limitado ?Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 4
  • Função de Perda 0-1Assumindo 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 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: 1, se f (x)  h(x) erro zero-one loss function  (x, f (x), h(x))   0, se f (x)  h(x) sucesso 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 Podemos usar a função perda 0-1 para redefinir aprendizagem supervisada: 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 Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 5
  • Taxa de Erro A taxa de erro é uma medida natural do desempenho A taxa de erro de um classificador h(x) num conjunto de N exemplos previamente classificados D é definida como: 1 # exemplos incorrecta mente classifica dos Err (h(x), D )  N   (x (k ) , c ( k ) , h(x ( k ) ))  total exemplos  x ( k ) ,c ( k ) DAssim:  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 Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 6
  • 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:  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) 30% 25%  Se um classificador é muito simple podeClassification Error ―underfit‖ os dados Optimal 20% underfitting overfitting 15%  Se é muito complexo pode ―overfit‖ (sobre- 10% ajustarse) aos dados 5%  Existe sempre um classificador de complexidade óptima que permite obter o melhor desempenho 0% Model Complexity (menor taxa de erro num conjunto de exemplos que não Low High foram usados para construir o classificador) Test Error Training Error Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 7
  • 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 erro Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 8
  • Métodos para estimar a Taxa de Erro Existem vários métodos para estimar a taxa de erro baseados em diferentes particiones do conjunto de dados: 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 Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 9
  • Método HoldOutParticiona 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) nº total de exemplos Usualmente 2/3 Usualmente 1/3 dos exemplos Conjunto de Treino Conjunto de Teste dos exemplos 1º. Fase de Treino 2º. Fase de Teste Supervised classificador Learning Algorithm h classificador Calcular h Taxa de Erro Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 10
  • Método HoldOut Conjunto de Treino Algoritmo de Classificador Aprendizagem Base de Dados Aplicar o Calcular Classificador Taxa de Erro Conjunto de TesteAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 11
  • HoldOut em RapidMiner O parâmetro split ratio indica a Operador: Split Validation percentagem (0.7) de exemplos do conjunto de treino 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)Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 12
  • SubProcess: Simple Validation Training Phase Testing PhaseO operador Split Validation define um sub-processo que é definido por duas fases:• Fase de treino: o operador ―Classification by Regression― é usado para aprenderum 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 desempenhoAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 13
  • O operador Classification by Regression Este operador permite aprender classificadores com mais de dos classes. Sub-process Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 14
  • Resultados da avaliação usando HoldOut para o Iris dataset  3 classes IRIS Data (Fisher, 1936)  setosa  versicolor O conjunto de dados contêm 50  virginica exemplos por cada classe  4 atributos  comprimento da pétala On-line no UCI Machine Learning Repository  largura da pétala http://www.ics.uci.edu/~mlearn/MLRepository.html  comprimento da sépala  largura da sépalaAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 15
  • Matriz de Confusão Accuracy = 82.2% (% de exemplos correctamente classificados no total de exemplos (45) do conjunto de teste) Clase Classe Correcta Predita Setosa Versicolor Virgínica Setosa 15 0 0 Versicolor 0 10 3 Virginica 0 5 12Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 16
  • Colocando Break-PointsPara obter a classe predita (classificação) para cada exemplo do conjunto de teste devemos colocar um ―Breakpoint After‖ no operador Test Break-point AfterAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 17
  • Resultados da classificação dos exemplos do conjunto de testeAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 18
  • Avaliação de um k-NN (k=4) usando HoldOut para o Iris dataset 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.)Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 19
  • Resultados da avaliação do k-NN (k=4) usando HoldOut para o Iris dataset accuracy – 95.56 % Clase Classe Correcta Predita Setosa Versicolor Virgínica Setosa 15 0 0 Versicolor 0 14 1 Virginica 0 1 4Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 20
  • Avaliação do algoritmo C4.5 para indução de árvores de decisão usando HoldOut Árvore de decisão induzida IRIS Data (Fisher, 1936) do conjunto de treinoAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 21
  • 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 22
  • Random Subsampling Este estimador é significativamente melhor que o obtido com holdout 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 exemplo de teste Taxa de Erro % de erros no conjunto de testeExperiência nº 1 usa 1ª partição E1Experiência nº 2 E2 usa 2ª partição …Experiência nº K Ekusa kª partição K 1 A estimativa do erro verdadeiro é obtida como a média dos erros de cada partição. E K E i 1 i Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 23
  • k-Fold Cross-Validation Este é um dos métodos de validação mais popular em ML  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 teste1-fold = conjunto de teste k-1-folds = conjunto de treino Taxa de Erro Experiência nº 1 usa 1ª fold como teste E1 conjunto de teste Experiência nº 2 usa o 2º fold como conjunto teste E2 de teste Experiência nº 3 usa o 3º fold como conjunto teste de teste E3 …, etc. 1 k A estimativa do erro verdadeiro é obtida como a E   Ei média dos erros de cada experiência k i 1 Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 24
  • k-Fold Cross-Validation em RapidMiner Operador: X-ValidationAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 25
  • Avaliação do algoritmo C4.5 para indução de árvores de decisão usando XValidation Uma das árvores induzidas k=10 Base de Dados: Iris Error Rate = 7.33 % # de exemplos avaliados: 150 Error Rate – 7.33% +/- 6.26%Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 26
  • Leave-one-out Method Caso especial de k-fold cross validation quando k= N  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 1-fold = 1 example N-1 exemplos = conjunto de treino Taxa de Erro Experiência nº 1usa o 1º exemplo como E1 conjunto de teste Experiência nº 2 usa o 2º exemplo como E2 conjunto de teste Experiência nº 3 usa o 3ºexemplo como conjunto de teste E3 …, etc. N 1 A estimativa do erro verdadeiro é obtida como a média dos erros de cada experiência E N E i 1 i Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 27
  • Avaliação do algoritmo C4.5 para indução de árvore de decisão com LeaveOneOut Base de Dados: Iris leave-one-out está seleccionado Error Rate = 6.67 % Melhora a estimativa mas # de exemplos avaliados: 150 aumenta a variância Error Rate – 6.67% +/- 24.94%Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 28
  • 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 29
  • Bootstrapping Método de estimação baseado em re-amostragem com reposição (sampling with replacement) usado quando dispormos de poucos exemplos 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 Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 30
  • Bootstrap 0.632 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 Estimativas da  63.2 % dos exemplos de D  37 % de D Taxa de Erro Experiência nº 1 Conjunto de1º bootstrap sample Conjunto de Treino: D1 E1 = 0.632 Eteste + 0.368 Etreino Teste: D D1 Experiência nº 2 Conjunto de E2 = 0.632 Eteste + 0.368 Etreino Conjunto de Treino: D22º bootstrap sample Teste: D D2 …, etc. Experiência nº B Conjunto de Bº bootstrap sample Conjunto de Treino: DB EB = 0.632 Eteste + 0.368 Etreino Teste: D DB 1 B A estimativa do erro verdadeiro é obtida como a E   Ei média dos erros de cada experiência B i 1 Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 31
  • BootStrapping em RapidMiner Operador: Bootstrapping ValidationAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 32
  • Avaliação do Naive Bayes com B= 10 amostras com Bootstrapping para o Iris dataset N=150 exemplosClass prior distributions for one of induced models Error Rate = 6.47 % # de exemplos avaliados: 573 a probabilidade que um exemplo fique no conjunto de teste é  36.8 % (150 * 0.368 = 55.2 x 10 = 552 ) Melhora a estimativa e diminui a variância Error Rate – 6.47% +/- 3.06% Aprendizagem Computacional Gladys Castillo, Universidade de Aveiro 33
  • 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ânciaAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 34
  • Outros factores que afectam o desempenho dum classificadorO desempenho de um classificador não depende apenasdo algoritmo de aprendizagem; este depende tambémde outros factores:  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 testeAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 35
  • 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 rulesAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 36
  • Métodos de Avaliação (II) Classificação Supervisada Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro
  • 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) # exemplos incorrectamente classifica dos Acc(h(x), D)  1  Err(h(x), D) Err (h(x), D)  total exemplos avaliados 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  bootstrapAprendizagem Computacional Gladys Castillo ,UA 38
  • Avaliação de Algoritmos de Aprendizagem Dois problemas distintos:  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ânciaAprendizagem Computacional Gladys Castillo ,UA 39
  • Estimação de Parâmetros População Amostra Distribuição da População Distribuição Amostral estimar Parâmetros Estatísticas (valor fixo) (função da amostra) pontual (estatísticas) Estimação por intervalo (intervalos de confiança)  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íficaAprendizagem Computacional Gladys Castillo ,UA 40
  • Parâmetro vs. Estatística 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 n i 1 n  Média amostral: X1 Xi Variância amostral: S 2  1 i 1 ( X i  X ) n 2  n 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, μ Aprendizagem Computacional na UA 41
  • 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 42
  • 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) = np = 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 Aprendizagem Computacional na UA 43
  • Intervalo de Confiança para a 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  p(1  p)  acc  p centrando e reduzindo ~ N 0,1 X acc  ~ N  p, Z  N aprox  N  p(1  p) N aprox  Intervalo de confiança para a taxa de acerto verdadeira p (desconhecida): 0,14 N (0,1) acc  p P ( z / 2   z1 / 0,12 1   2)  p (1  p ) / N 0,1 Um IC aproximado para p, a um grau de 0,08 1 confiança 1- é dado 0,06 por:   IC(1 ) ( p)  âcc  z1 2s p , 0,02  z1 2s p âcc 0,04  2 Area = 1 -  2 x e s  âcc(1  âcc)0 - +onde âcc  e p 0 5 -z 10 0 z 15 N N z /2 z1 - /2 usamos âcc como uma estimativa pontual de p para quantil de ordem /2 quantil de ordem 1-/2 calcular o desvio padrão amostral e a letra minúscula x pois estamos a representar uma concretização da v.a. X Aprendizagem Computacional Gladys Castillo ,UA 44
  • 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: 1- z  N=100, âcc = 0.8 0.99 2.58  Para 1- = 0.95 (95% grau de confiança)  z1-/2=1.96 0.98 2.33Determinar um IC aproximado para a taxa de acerto verdadeira a 95%: 0.95 1.96 IC(1 ) ( p)  âcc  z1 2s p , âcc  z1 2s p  , s p  âcc(1  âcc) N 0.90 1.651º. Determinar z1-/2 para =0,05 z0,9750=1,96IC (95%) ( p)  acc  z0.9750 S p , acc  z0.9750 S p  ˆ ˆ IC ( 95%) ( p )  âcc  1.96  s p , âcc  1.96  s p 2º. Determinar sp (desvio padrão amostral) âcc(1  âcc) 0.8  0.2 sp    0,04 N 1003º. Substituir na fórmula:IC (95%) ( p )  0.8  1.96  0.04 , 0.8  1.96  0.04   0.8  0.0784 , 0.8  0.0784  IC95% ( p)  0.7216 , 0.8784  Aprendizagem Computacional na UA 45
  • Interpretação do ICDeterminando um IC aproximado para a taxa de acerto verdadeira a 95%: IC ( 95%) ( p )  âcc  1.96  s p , âcc  1.96  s p  x âcc(1  âcc) onde âcc  , sp  N N True Accuracy Interpretação: 95% dos possíveis ICs obtidos a partir de uma amostra de tamanho N, conterão de facto o verdadeiro valor da accuracyAprendizagem Computacional Gladys Castillo ,UA 46
  • Intervalo de Confiança da Accuracy Exemplo 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 Usando a fórmula para determinar o intervalo de confiança obtemos os seguintes limites variando o nº de exemplos 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 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 Aprendizagem Computacional na UA 47
  • 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) Procedimento estatístico que permite averiguar a ―sustentação‖ de uma hipótese  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 H0Aprendizagem Computacional Gladys Castillo ,UA 48
  • 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 Aprendizagem Computacional na UA 49
  • Procedimento usando o p-value 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 p-value = 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. ConcluirAprendizagem Computacional Gladys Castillo ,UA 50
  • 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) Aprendizagem Computacional na UA 51
  • k-fold cross-validated paired t-test Teste T para Amostras Emparelhadas (dois algoritmos e um conjunto de dados) Amostras emparelhadas: se pares de observações (xi, yi) são dependentes sendo todos os restantes pares (xi, yj), ij independentes Para obter duas amostras emparelhadas usar validação cruzada k-fold: 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 Fold 1 2 3 4 5 6 7 8 9 10 para k=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 d10Aprendizagem Computacional Gladys Castillo ,UA 52
  • k-fold cross-validated paired t-test Teste T para Amostras Emparelhadas (dois algoritmos e um conjunto de dados) Testar se a diferença no desempenho é estatisticamente significante 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)  D  M1  M 2 ~ N D , D 2  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 2. Calcular tobs usando a estatística do teste T média amostral Desvio padrão amostral corrigido d tobs  1 k d  dj k scD k k j 1 scD   (d j 1 j  d ) 2 (k  1) se H0 é verdadeira: T tem distribuição t-student com k-1 graus de liberdade 3. Determinar o p-value usando a tabela de distribuição t-student: • 2P(T < tobs|H0) se d  0 ou 2P(T > tobs|H0) se d  0 4. Tomar decisão: rejeitar H0 se p-value   •  é o nível de significância, usualmente =0.05 ou =0.01Aprendizagem Computacional Gladys Castillo ,UA 53
  • Paired T-Test T em RapidMiner Três algoritmos de aprendizagem são aqui comparadosAprendizagem Computacional Gladys Castillo ,UA 54
  • Paired T-Test T em RapidMiner Três modelos de regressão são aqui comparados A medida de desempenho é a raiz quadrada do erro quadrático médio como p-value < alpha = 0.05 podemos rejeitar a hipótese nula  existem diferenças significativas no desempenho obtidoAprendizagem Computacional Gladys Castillo ,UA 55
  • 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: o mais recomendado  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 Aprendizagem Computacional na UA 56
  • 10-CV vs 5x2 CV 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 FONTE: htttp://reu.eng.usf.edu/Symposium/Symp2006/2006PostersPDF/LosariaCSE05.pdfAprendizagem Computacional Gladys Castillo ,UA 57
  • Pairwise T-Test em RapidMiner usando 10x10 cross validation Usando Loop and Average com 10 iterações podemos implementar um esquema de 10x10cross-validation se cada loop & average process contém um processo de 10-cross validation Aprendizagem Computacional na UA 58
  • T-Test e Anova em RapidMiner usando 10x10 cross validation Podemos também implementar um teste de ANOVA em RapidMinerAprendizagem Computacional Gladys Castillo ,UA 59
  • Anova em RapidMinerTestar se a diferença no desempenho de vários algoritmos de aprendizagem é estatisticamente significante como p-value< 0.05 rejeita-se a hipótese nula  existem diferenças significativas no desempenho dos três modelos de regressão Aprendizagem Computacional na UA 60
  • Curva de Aprendizagem © Prostov, Jensen & Oates  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 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 convergeAprendizagem Computacional Gladys Castillo ,UA 61
  • 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% dosOperador Create Learning Curve exemplos, enquanto o conjunto de treino começa com o 5% em RapidMiner 5 (ver step_fraction) e vai aumentando o tamanho em 5% até atingir o tamanho máximo (70% dos exemplos). Aprendizagem Computacional Gladys Castillo ,UA 62
  • Curva de Aprendizagem em RapidMiner Falta apenas unir os pontos com linhasAprendizagem Computacional Gladys Castillo ,UA 63
  • Avaliação sensível à distribuiçãodas classes e ao custo Aprendizagem Computacional , Gladys Castillo, Universidade de Aveiro
  • Tomada de decisão. Podemos errar? Um classificador permite assistir à tomada de decisões entre diferentes acções. Podemos permitirmos tomar decisões erradas?Tomada de decisão numa central nuclear: Um classificador h prediz seabrir ou fechar a válvula do módulo de refrigeração num momento dado  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 500 erro é muito pequena: Err  100  0.5% 100000 É h um bom clasificador? © Exemplo adaptado de Cesar Martines & José Orallo Aprendizagem Computacional na UA 65
  • Problema de Decisão Central Nuclear Matriz de Confusão CLASSE PREDITA Taxa de acerto (accuracy): abrir fechar TP  TN CLASSE abrir TP FN TP  TN  FP  FN ACTUAL fechar FP TN Diagonal dos acertos  TP (true positive) – positivos verdadeiros nº de exemplos classificados ―abrir‖ que são ―abrir‖ (correctamente classificados)  FP (false positive) – positivos falsos nº de exemplos classificados ―abrir‖ que são ―fechar‖ (incorrectamente classificados)  TN (true negative) – negativos verdadeiros nº de exemplos classificados ―fechar‖ que são ―fechar‖ (correctamente classificados)  FN (false negative) - negativos falsos nº de exemplos classificados ―fechar‖ que são ―abrir‖ (incorrectamente classificados)Aprendizagem Computacional Gladys Castillo ,UA 66
  • Matriz de Confusão Problema de Classificação Binário CLASSE PREDITA Taxa de acerto (accuracy): Yes (+) No (-) TP  TN CLASSE Yes (+) TP FN TP  TN  FP  FN ACTUAL No (-) FP TN TP (true positive) – positivos verdadeiros nº de exemplos classificados positivos que são positivos (correctamente classificados) FP (false positive) – positivos falsos nº de exemplos classificados positivos que são negativos (incorrectamente classificados) TN (true negative) – negativos verdadeiros nº de exemplos classificados negativos que são negativos (correctamente classificados) FN (false negative) - negativos falsos nº de exemplos classificados negativos que são positivos (incorrectamente classificados) Aprendizagem Computacional na UA 67
  • Medidas de Avaliação predita True Positive Rate = recall (sensibility): proporção de positivos verdadeiros do total de positivos + - actual TP + TP FN TPR  TP  FN - FP TN predita False Positive Rate: proporção positivos falsos (incorrectamente classificados como positivos) do total de negativos + - FP + TP FN actual FPR  FP  TN - FP TN True Negative Rate: predita proporção de negativos verdadeiros do total de negativos + - TN actual TNR  + TP FN FP  TN - FP TN False Negative Rate: proporção de negativos falsos (incorrectamente classificados como negativos) do total de positivos + - actual FN + TP FN FNR  TP  FN FP TN -Aprendizagem Computacional Gladys Castillo ,UA 68
  • Precisão e Sensibilidade predita Precision (precisão): proporção de positivos verdadeiros do total dos exemplos classificados como positivos + - + TP FN actual TP precision  - FP TN TP  FP Recall (sensibilidade) (true positive rate): proporção de predita exemplos positivos que foram correctamente classificados + - actual TP + TP FN recall  TPR  TP  FN - FP TN 2 F  measure  1 1 precision recall Aprendizagem Computacional na UA 69
  • Precisão e Sensibilidade em IR 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  Precision (precisão): mede a proporção dos documentos recuperados que são realmente relevantes do total de documentos recuperados. documentos relevantes recuperados precisão  documentos recuperados  Recall (sensibilidade) (true positive rate): reflecte a probabilidade de que um documento realmente relevante seja recuperado pelo sistema documentosrelevantes recuperados sensibilid ade  documentosrelevantesAprendizagem Computacional Gladys Castillo ,UA 70
  • Qual Classificador é melhor? Exemplo: (conjunto de teste com 100.000 instâncias) Predita Predita Predita h1 abrir fechar h2 abrir fechar h3 abrir fechar abrir 300 200 abrir 0 500 abrir 400 100Real fechar 500 99000 fechar 0 99500 fechar 5400 94100 Sensibilidade ERRO: 0,7% ERRO: 0,5% ERRO: 5,5% Especificidade Recall TPR= 300 / 500 = 60% TPR= 0 / 500 = 0% TPR= 400 / 500 = 80% FNR= 200 / 500 = 40% FNR= 500 / 500 = 100% FNR= 100 / 500 = 20% TNR= 99000 / 99500 = 99,5% TNR= 99500 / 99500 = 100% TNR= 94100 / 99500 = 94,6% FPR= 500 / 99500 = 0,05% FPR= 0 / 99500 = 0% FPR= 5400 / 99500 = 5,4% Precision = 300 / 800 = 37,5% Precision = 0 / 0 = INDEFINIDO Precision = 400 / 5800 = 6,9%Precision © Exemplo adaptado de Cesar Martines & José Orallo Aprendizagem Computacional na UA 71
  • 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  Matriz de custos O importante não é obter um Predita classificador que erre o menos abrir fechar possível senão aquele que tenha um menor custo Real abrir 0 2000€ fechar 100€ 0  A partir da matriz de custo avalia-se cada classificador e seleccionamos o classificador com menor custo © Exemplo adaptado de Cesar Martines & José OralloAprendizagem Computacional Gladys Castillo ,UA 72
  • Problema de Decisão Central Nuclear Matrizes de confusão para 3 classificadores Pred Pred Pred h1 abrir fechar h2 abrir fechar h3 abrir fechar abrir 300 200 abrir 0 500 abrir 400 100Real fechar 500 99000 fechar 0 99500 fechar 5400 94100 Predita abrir fechar abrir 0 2000€ Matriz de custo Real fechar 100€ 0 Matrizes resultado h1 abrir fechar h2 abrir fechar h3 abrir fechar abrir 0€ 400.000€ abrir 0€ 1.000.000€ abrir 0€ 200.000€ fechar 50.000€ 0€ fechar 0€ 0€ fechar 540.000€ 0€ CUSTO TOTAL: 450.000€ CUSTO TOTAL: 1.000.000€ CUSTO TOTAL: 740.000€ © Exemplo adaptado de Cesar Martines & José Orallo Aprendizagem Computacional na UA 73
  • De que depende o custo final?  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‖: Proporção dos custos dos erros Proporção das classes 1 FPcost 100 1 Neg 99500 slope  199  9,95     199 20 FNcost 2000 20 Pos 500  o ―slope‖ é suficiente para determinar qual classificador é o melhor:h1: FNR= 40%, FPR= 0,5% h2: FNR= 100%, FPR= 0% h3: FNR= 20%, FPR= 5,4%Custo unitário = Custo Unitário = Custo Unitário =1 x 0,40 + 9,95 x 0,005 = 0,45 1 x 1 + 9,95 x 0 = 1 1 x 0,20 + 9,95 x 0,054 = 0,74 Menor custo unitário = melhor classificador © Exemplo adaptado de Cesar Martines & José Orallo Aprendizagem Computacional Gladys Castillo ,UA 74
  • Desempenho 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 Aprendizagem Computacional na UA 75
  • Análise ROC (Receiver Operating Characteristic)  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)Aprendizagem Computacional Gladys Castillo ,UA 76
  • Gráfico ROC Classificadores discretos (“crisp”) O desempenho de cada classificador é representado como um único ponto (FPR, TPR) no gráfico ROC Pred Pred abrir fechar abrir fechar abrir 400 100 Real abrir 0,8 0,2Real fechar 12000 87500 fechar 0,121 0,879 Espacio ROC TPR= 400 / 500 = 0.8 1,000 FPR= 12000 / 99500 = 0.121 0,800 True Positives 0,600 FNR= 100 / 500 = 0.2 0,400 TNR= 87500 / 99500 = 0.879% 0,200 0,000 0,000 0,200 0,400 0,600 0,800 1,000 © Exemplo de Cesar Martines & José Orallo False Positives Aprendizagem Computacional na UA 77
  • Gráfico ROC. Classificadores Discretos (crisp)  bons e maus classificadores 1 1 1TPR TPR TPR 0 0 0 0 FPR 1 0 FPR 1 0 FPR 1  Bom classificador  Mal classificador  Mal classificador  Alto TPR.  Bajo TPR (en realidad)  Bajo FPR  Alto FPR © Exemplo adaptado de Cesar Martines & José OralloAprendizagem Computacional Gladys Castillo ,UA 78
  • Gráfico ROC Classificadores Discretos (crisp)(0, 1)– classificação © Tom Fawcett (1, 1) sempre gera perfeita classificação positiva A linha diagonal (TP=FP) classificador aleatório Abaixo da diagonal: previsão oposta à classe real • D – o melhor (mais ao noroeste: TPR maior, FPR menor)(0, 0) - nunca gera uma • E - o pior (abaixo da diagonal – pior do que aleatório) classificação positiva • Conservadores (lado esquerdo) vs Liberais (lado direito): A é mais conservador que B (classifica como positivo com mais precaução) Aprendizagem Computacional na UA 79
  • Gráfico ROC Classificadores Discretos (crisp) © Tom Fawcett 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  O triângulo inferior está geralmente que B, só quando existir uma vazio. Se um classificador produz forte evidência) pontos abaixo da diagonal, pode-se negá-lo para produzir pontos acima dela (ex: B é igual a E negado)Aprendizagem Computacional Gladys Castillo ,UA 80
  • Invólucro Convexo (Convex Hull) Classificadores Discretos (crisp) © Cesar Martines & José Orallo  Construímos o invólucro convexo 1 (convex hull) com os pontos de cada classificador e adicionamos os pontos dos classificadores triviais (0,0) y (1,1)  Os classificadores que caem debaixoTPR da curva ROC descartam-se A diagonal mostra a pior  O melhor classificador vai ser situação seleccionado tendo em conta o slope possível segundo o contexto da aplicação 0 (distribuição de classes, matrix de custos) ver acetato 14 0 FPR 1 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 Aprendizagem Computacional na UA 81
  • Invólucro Convexo (Convex Hull) Classificadores Discretos (crisp)  No contexto da aplicação, seleccionamos o classificador óptimo entre os mantidos Exemplo 1: Contexto: FPcost 1 100%  2 FNcost 80% true positive rate 60% Neg 4 Pos 40% 20%  slope  4 2  2 0% 0% 20% 40% 60% 80% 100% false positive rate   © Cesar Martines & José OralloAprendizagem Computacional Gladys Castillo ,UA 82
  • Invólucro Convexo (Convex Hull) Classificadores Discretos (crisp)  No contexto da aplicação, seleccionamos o classificador óptimo entre os mantidos Exemplo 2 Contexto: FPcost 1 100%  8 FNcost 80%true positive rate 60% Neg 4 Pos 40% 20%  slope  4 8  .5 0% 0% 20% 40% 60% 80% 100% false positive rate  © Cesar Martines & José Orallo  Aprendizagem Computacional na UA 83
  • Classificadores Discretos (crisp) Conclusões  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ívelAprendizagem Computacional Gladys Castillo ,UA 84
  • Classificadores Contínuos (“soft”) Classificadores probabilísticos: se input: exemplo x  output: P(cj| x) para cada classe Exemplo: (balance problem) A classe atribuída Left_W Left_W Left_D Left_D Right_W Right_W Right_D Right_D Class é aquela que maximiza a 1 5 4 2 Right probabilidade aClassificador A: posteriori P(Left|x) P(Balanced|x) P(Right|x) Real=Right Predita=Right 0.277796 0.135227 0.586978 59% grau de confiançaClassificador B: P(Left|x) P(Balanced|x) P(Right|x) Real =Right Predita=Right 0.210816 0.000175 0.789009 79% grau de confiança Os dois predizem “Rigth” mas o classificador B está mais seguro Aprendizagem Computacional na UA 85
  • Rankers  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.  ...Aprendizagem Computacional Gladys Castillo ,UA 86
  • Curva ROC Classificadores Contínuos (soft) 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 Aprendizagem Computacional na UA 87
  • Curva ROC © Acetatos adaptados de Cesar Martines & José Orallo Exemplos ordenados Classe Classificador Contínuo (soft) por score Predita usando classe real threshold (p)ositiva ou (n)egativa © Exemplo de Tom Fawcett 0.9 0.8 0.1 n p p p n n p p n n n p n n n p n n n p n n n p n n n p n n n p n n n p n n n ... p n n n p n n n p n n n p Se threshold= 0.54 n n n p obtemos a menor taxa de n n n p erros (6/20 = 30%) n n n p n n n p n n n p n n n p n n n pAprendizagem Computacional Gladys Castillo ,UA 88
  • Comparando Classificadores Área da Curva ROC 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 © Tom Fawcett A e B – duas curvas ROC A – classificador discreto, B – classificador contínuo Aprendizagem Computacional na UA 89
  • Curva ROC em RapidMiner 5 Avaliar Desempenho com o operador Performance (Binomial Classification) Operador: ROCChartAprendizagem Computacional Gladys Castillo ,UA 90
  • Curva ROC em RapidMinerClassificador: Naive Bayes, base de dados: vote.arff, AUC: 0.974 Aprendizagem Computacional na UA 91
  • Curva ROC vs. Precision-Recall Classes Desbalanceadas O que acontecer se houver mudanças na proporção de exemplos positivos e negativos no conjunto de teste?  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 predita predita + - + - Proporções pelas filhas – actual + TP FN + TP FN actual para cada classe a sua taxa - FP TN - FP TN  O gráfico de precision vs. recall é sensível às mudanças – a medida de precisão depende da distribuição das classes predita + - Proporção pela coluna- tem TP precision  + TP FN em conta nº exemplos “+” e actual TP  FP “-” - FP TNAprendizagem Computacional Gladys Castillo ,UA 92
  • Curva ROC vs. Precision-Recall Classes Desbalançadas © Tom Fawcett© Acetato George Darmiton Aprendizagem Computacional na UA 93
  • Referências Livros  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 whats been learned Data Mining: Practical Machine Tools and Technique Artigo  Ron Kohavi. A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection. IJCAI (1995) Acetatos  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 CarvalhoAprendizagem Computacional Gladys Castillo, Universidade de Aveiro 94