Vous êtes sur la page 1sur 49

Mtodos de Amostragem

e Avaliao de Algoritmos
AM uma ferramenta poderosa, mas no
existe um nico algoritmo que apresente o
melhor desempenho para todos os
problemas
Assim, importante compreender o poder
e a limitao dos diferentes algoritmos
utilizando alguma metodologia de
avaliao que permita comparar algoritmos
Veremos uma metodologia de avaliao,
freqentemente utilizada pela comunidade
de AM, para comparar dois algoritmos, a
qual se baseia na idia de amostragem
(resampling)
Jos Augusto Baranauskas E-mail: augusto@fmrp.usp.br
Departamento de Fsica e Matemtica FFCLRP-USP URL: http://www.fmrp.usp.br/augusto
Sala 228 Bloco P2 Fone (16) 3602-4439
Mtodos de Amostragem
O classificador por si s no fornece uma boa estimativa
de sua capacidade de previso (ele possui boa
capacidade de descrever os dados, no de predizer)
Uma vez que o classificador conhece todos os dados
inevitvel que super-estime sua capacidade de previso
Por exemplo, a taxa de erro ser super-otimista (abaixo da taxa
de erro verdadeira) e no raro obter 100% de preciso no
conjunto de treinamento
Assim, dados um conjunto de exemplos de tamanho finito
e um indutor, importante estimar o desempenho futuro
do classificador induzido utilizando o conjunto de
exemplos
Todos os mtodos no paramtricos descritos a seguir,
exceto pelo mtodo de resubstituio, esto baseados na
idia de amostragem

2
Mtodos de Amostragem
Amostra 1

Mundo Real Amostra 2


Distribuio D Conjunto de Exemplos
Distribuio D

Amostra 3

Amostra L

3
Mtodos de Amostragem
O mundo real apresenta uma distribuio de exemplos D
em um dado domnio, a qual desconhecida
Ao extrair exemplos do mundo real, formando assim um
conjunto de exemplos, obtm-se uma distribuio de
exemplos D', a qual , supostamente, similar
distribuio D
De modo a estimar uma medida, geralmente a preciso
ou o erro, de indutores treinados com base na distribuio
D', extraem-se amostras a partir de D', treina-se um
indutor com essas amostras e testa-se seu desempenho
em exemplos de D' (normalmente com exemplos fora da
amostra utilizada para treinamento)
Desta forma, simula-se o processo de amostragem que
ocorre no mundo real, assumindo que D' representa o
mundo real

4
Mtodos de Amostragem
importante, ao estimar uma medida verdadeira
(por exemplo, o erro verdadeiro), que a amostra
seja aleatria, isto , os exemplos no devem
ser pr-selecionados
Para problemas reais, normalmente tomada
uma amostra de tamanho n e o objetivo consiste
em estimar uma medida para aquela populao
em particular (no para todas as populaes)
Alguns mtodos para estimar medidas so
descritos a seguir

5
Mtodos de Amostragem
(Resubstituio)

Amostras Classificadores

Conjunto de Teste
Exemplos Avaliao Final

Treinamento

Indutor

6
Resubstituio
Este mtodo consiste em construir o classificador e testar seu desempenho
no mesmo conjunto de exemplos, ou seja, o conjunto de teste idntico ao
conjunto de treinamento
Este estimador fornece uma medida aparente, possuindo uma estimativa
altamente otimista da preciso, devido ao fato de que o processo de
classificao tenta maximiz-la
Para muitos algoritmos de induo que classificam corretamente todos os
exemplos, tais como 1-Nearest Neighbors ou rvores de deciso sem poda,
esta estimativa muito otimista: se no houver exemplos conflitantes, a
estimativa de preciso atinge 100%
Assim sendo, o desempenho calculado com este mtodo possui um bias
otimista, ou seja, o bom desempenho no conjunto de treinamento em geral
no se estende a conjuntos independentes de teste
Quando o bias do estimador de resubstituio foi descoberto, diversos
mtodos de cross-validation (validao cruzada) foram propostos, os quais
so descritos a seguir
Todos eles esto baseados no mesmo princpio: no deve haver exemplos
em comum entre o conjunto de treinamento (ou aprendizado) e o conjunto de
teste

7
Mtodos de Amostragem
(Exceto Resubstituio)

Conjunto de
Exemplos

Amostras
Teste Classificadores

Avaliao Final

Treinamento

Indutor

8
Holdout
Este estimador divide os exemplos em uma
porcentagem fixa de exemplos p para
treinamento e (1-p) para teste, considerando
normalmente p > 1/2
Valores tpicos so p = 2/3 e (1-p) = 1/3, embora
no existam fundamentos tericos sobre estes
valores
Nmero Total de Exemplos

Treinamento Teste

9
Holdout

Uma vez que uma hiptese construda


utilizando todos os exemplos, em mdia,
apresenta desempenho melhor que uma
hiptese construda utilizando apenas uma
parte dos exemplos, este mtodo tem a
tendncia de super estimar o erro
verdadeiro
Para pequenos conjuntos, nem sempre
possvel separar uma parte dos exemplos
10
Holdout
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then
insert it again.

De forma a tornar o resultado menos dependente da


forma de diviso dos exemplos, pode-se calcular a mdia
de vrios resultados de holdout atravs da construo de
vrias parties obtendo-se, assim, uma estimativa mdia
do holdout
Nmero Total de Exemplos
Exemplo de Teste

Exemplos de
Treinamento

11
Amostragem Aleatria
Na amostragem aleatria, L hipteses, L<<n, so
induzidas a partir de cada um dos L conjuntos de
treinamento
O erro final calculando como sendo a mdia
dos erros de todas as hipteses induzidas e
calculados em conjuntos de teste independentes
e extrados aleatoriamente
Amostragem aleatria pode produzir melhores
estimativas de erro que o estimador holdout

12
Cross-Validation
Este estimador um meio termo entre os
estimadores holdout e leave-one-out
Em r-fold cross-validation (CV) os exemplos so
aleatoriamente divididos em r parties
mutuamente exclusivas (folds) de tamanho
aproximadamente igual a n/r exemplos
Os exemplos nos (r-1) folds so usados para
treinamento e a hiptese induzida testada no
fold remanescente
Este processo repetido r vezes, cada vez
considerando um fold diferente para teste
O erro na cross-validation a mdia dos erros
calculados em cada um dos r folds
13
Cross-Validation
Nmero Total de Exemplos

Fold 1 Fold 2 Fold 3 ... Fold r Exemplos de


Treinamento

Exemplos de Teste

14
Cross-Validation
Este procedimento de rotao reduz tanto o bias inerente
ao mtodo de holdout quanto o custo computacional do
mtodo leave-one-out
Entretanto, deve-se observar, por exemplo, que em 10-
fold cross-validation, cada par de conjuntos de
treinamento compartilha 80% de exemplos
fcil generalizar que a porcentagem de exemplos
compartilhados na r-fold cross-validation dada por (1 -
2/r) para r >= 2 folds (figura seguinte)
medida que o nmero de folds aumenta, esta
sobreposio pode evitar que os testes estatsticos
obtenham uma boa estimativa da quantidade de variao
que seria observada se cada conjunto de treinamento
fosse independente dos demais

15
Cross-Validation

16
Stratified Cross-Validation
O estimador stratified cross-validation similar
cross-validation, mas ao gerar os folds
mutuamente exclusivos, a distribuio de classe
(proporo de exemplos em cada uma das
classes) considerada durante a amostragem
Isto significa, por exemplo, que se o conjunto
original de exemplos possui duas classes com
distribuio de 20% e 80%, ento cada fold
tambm ter esta proporo de classes

17
Leave-one-out
O estimador leave-one-out um caso especial de
cross-validation
computacionalmente dispendioso e
freqentemente usado em amostras pequenas
Para uma amostra de tamanho n uma hiptese
induzida utilizando (n-1) exemplos; a hiptese
ento testada no nico exemplo remanescente
Este processo repetido n vezes, cada vez
induzindo uma hiptese deixando de considerar
um nico exemplo
O erro a soma dos erros em cada teste dividido
por n

18
Leave-one-out
Nmero Total de Exemplos
Exemplos de
Treinamento

...

nico Exemplo
de Teste

19
Bootstrap
No estimador bootstrap, a idia bsica
consiste em repetir o processo de
classificao um grande nmero de vezes
Estima-se ento valores, tais como o erro
ou bias, a partir dos experimentos
replicados, cada experimento sendo
conduzido com base em um novo conjunto
de treinamento obtido por amostragem
com reposio do conjunto original de
exemplos
20
Bootstrap e0
H muitos estimadores bootstrap, sendo o mais
comum denominado bootstrap e0
Um conjunto de treinamento bootstrap consiste
de n exemplos (mesmo tamanho do conjunto
original de exemplos) amostrados com
reposio a partir do conjunto original de
exemplos
Isto significa que alguns exemplos Ei podem no
aparecer no conjunto de treinamento bootstrap e
alguns Ei podem aparecer mais de uma vez
Os exemplos remanescentes (aqueles que no
aparecem no conjunto de treinamento bootstrap)
so usados como conjunto de teste
21
Bootstrap e0
Conjunto Completo
de Exemplos E1 E2 E3 E4 E5

E3 E1 E3 E3 E5 E2 E4

E5 E5 E3 E1 E2 E4

E5 E1 E5 E2 E1 E3 E4
...

...
E4 E4 E4 E1 E4 E3 E3 E5

Conjuntos de Treinamento Conjuntos de Teste


22
Bootstrap e0
Para uma dada amostra bootstrap, um exemplo de
treinamento tem probabilidade 1-(1-1/n)^n de ser
selecionado pelo menos uma vez em cada uma das n
vezes nas quais os exemplos so aleatoriamente
selecionados a partir do conjunto original de exemplos
Para n grande, isto aproximadamente 1-1/e = 0.632
Portanto, para esta tcnica, a frao mdia de exemplos
no repetidos 63.2% no conjunto de treinamento e
36.8% no conjunto de teste
Geralmente, o processo de bootstrap repetido um
nmero de vezes, sendo o erro estimado como a mdia
dos erros sobre o nmero de iteraes

23
Ajuste de Parmetros
Em algumas situaes torna-se necessrio
realizar um ajuste de parmetros de um indutor
fator de confiana (poda), nmero mnimo de exemplos
em cada folha, etc (DT)
nmero de condies por regra, suporte, etc (Induo
de Regras)
nmero de neurnios, tipo de funo de ativao,
nmero de camadas, etc (RNA)
Nesses casos, necessrio reservar uma parte
dos exemplos para ajustar os parmetros e outra
parte para teste
24
Ajuste de Parmetros
Variao Holdout 1
100% Exemplos

80% Treinamento 20% Teste

90% Ajuste 10% Validao

Ajuste de parmetros
utilizando holdout
25
Ajuste de Parmetros
Variao Holdout 2
100% Exemplos

80% Treinamento 20% Teste

2
r-fold Cross-validation
3

Ajuste de Parmetros
r
usando cross-validation
26
Parmetros Tpicos de Estimadores

Alguns parmetros tpicos de estimadores, onde


n representa o nmero de exemplos;
r o nmero de folds (parties);
p um nmero tal que 0 < p < 1;
t um nmero tal que 0 < t < n e
L o nmero de hipteses induzidas

27
Desempenho de Algoritmos
Veremos uma metodologia para a
avaliao de algoritmos que comumente
utilizada em AM
Veremos dois testes estatsticos para
estimar os limites para o desempenho de um
algoritmo
estimar se desempenho entre quaisquer dois
algoritmos significativa ou no
Existem muitos outros testes estatsticos
alm dos descritos aqui
28
Estimando o Desempenho de um
Algoritmo
Suponha que um classificador possua erro
verdadeiro (avaliado no conjunto de teste) de
25%
Lembrando que o aprendizado efetuado em
uma amostra (pequena) de uma populao
(grande), espera-se que o erro em toda
populao seja prximo de 25%
A proximidade ser maior dependendo do
tamanho do conjunto de teste
Naturalmente tem-se uma maior confiana no
valor de 25% se ele foi obtido a partir de um
conjunto de teste com 10000 do que com 10
exemplos
29
Estimando o Desempenho de um
Algoritmo
Em Estatstica, uma sucesso de N eventos
independentes que tm sucesso (ocorrncia) ou
falham (no ocorrncia) chamado de processo
de Bernoulli
Pr(sucesso) = p
Pr(falha) = 1-p
Assumindo sucesso como o evento de estudo,
em um processo de Bernoulli
mdia = p
varincia = p * (1-p) / N
Para N grande, essa distribuio aproxima-se da
distribuio normal

30
Estimando o Desempenho de um
Algoritmo
Suponha que de N tentativas, S so
sucessos
Assim, a taxa de sucesso observada f=S/
N
A questo determinar taxa de sucesso p
na populao a partir de f
A soluo usualmente expressa como um
intervalo de confiana, ou seja, o valor de p
encontra-se dentro de um intervalo com um
grau de confiana c
31
Estimando o Desempenho de um
Algoritmo
Na distribuio normal, a probabilidade que
varivel aleatria X com mdia 0 esteja dentro de
um intervalo de confiana de tamanho 2*z
Pr(-z <= X <= z) = c
Os valores de c e os correspondentes valores de
z so obtidos atravs de tabelas existentes na
maioria dos livros de Estatstica
Os livros fornecem normalmente valores Pr(X <=
-z) ou Pr(X >= z)
Lembrando que, por simetria da distribuio
normal, Pr(X <= -z) = Pr(X >= z)
Por exemplo, Pr(-1.65 <= X <= 1.65) = 90%

32
Distribuio Normal

z z -z z

z Pr(X <= z) Pr(X >= z) Pr(-z <= X <= z)


3.00 99.87% 0.13% 99.74%
2.00 97.73% 2.27% 95.46%
1.65 95.05% 4.95% 90.10%
1.29 90.15% 9.85% 80.30%
1.00 84.13% 15.87% 68.26%
33
Estimando o Desempenho de um
Algoritmo
Basta reduzir a varivel aleatria f=S/N para mdia 0 e
desvio padro unitrio, subtraindo a mdia p e dividindo
pelo desvio padro

O passo final consiste em escrever a desigualdade como


igualdade, resolvendo-a para encontrar o valor de p

34
Estimando o Desempenho de um
Algoritmo
Assuma c=95% ou seja, z=2
Exemplo 1:
Se S=250 sucessos dentre N=1000
tentativas, a taxa de sucesso
observada f=25%
Com c=95% de confiana o valor
de p fica no intervalo entre 23.29%
e 26.79%
Exemplo 2
Se S=25 sucessos observados
dentre N=100 tentativas, f tambm
igual a 25%
Com c=95% de confiana o valor
de p fica no intervalo entre 19.89%
e 30.92%
Observe que embora f=25% e
c=95% nas duas situaes, o
intervalo do segundo exemplo
maior pois o experimento menor
Note que podemos considerar f
como sendo a taxa de erro

35
Estimando o Desempenho de um
Algoritmo
O valor superior de p (calculado usando a parte
+ da equao para taxa de erro) comumente
conhecido como erro pessimista (perr)-
(utilizado no C4.5)
Assim, ele tambm pode ser empregado para a
poda de rvores ou regras
No caso de rvores, para cada sub-rvore a ser
podada, calcula-se o valor de perr (sub-rvore sem
poda) e o valor de perr (sub-rvore podada)
se perr < perr ento realiza-se a poda
O mesmo vlido para regras

36
Comparando Dois Algoritmos

Antes de comparar dois algoritmos, algumas


definies adicionais so necessrias
Para tanto, assume-se o emprego de cross-
validation, uma vez que um mtodo comumente
utilizado pela comunidade de AM
Entretanto, qualquer outro mtodo de
amostragem (exceto resubstituio) pode ser
utilizado no lugar de cross-validation para calcular
a mdia e desvio padro de um algoritmo

37
Calculando Mdia e Desvio Padro
Utilizando Amostragem
Dado um algoritmo A e um conjunto de exemplos T,
assume-se que T seja dividido em r parties
Para cada partio i, induzida a hiptese hi e o erro
denotado por err(hi), i = 1,2,...,r, calculado
A seguir, a mdia (mean), varincia (var) e desvio
padro (sd) para todas as parties so calculados
utilizando-se:

38
Calculando Mdia e Desvio Padro
Utilizando Amostragem
possvel denotar mean(A) como mean(A,T),
quando a inteno tornar evidente o fato que o
erro mdio do algoritmo A foi calculado sobre o
conjunto de exemplos T
Alternativamente, mean(A) pode ser denotado
por mean(T), quando deseja-se evidenciar o fato
que o erro mdio foi calculado utilizando o
conjunto particular de exemplos T, assumindo o
algoritmo A fixo para um dado experimento
Analogamente, essa notao se estende para var
(A), sd(A) ou outros valores que possam ser
derivados a partir destes
39
Exemplo
Para exemplificar o clculo da mdia e desvio padro de
um algoritmo A utilizando um conjunto de exemplos T,
considere 10-fold cross-validation, isto , r=10, para um
algoritmo A com os seguintes erros em cada fold
(5.5, 11.4, 12.7, 5.2, 5.9, 11.3, 10.9, 11.2, 4.9, 11.0)
Ento:

Em geral, o erro representado por sua mdia seguida


pelo smbolo e seu desvio padro
neste exemplo, o erro 9.00 1.00

40
Comparando Algoritmos
Ao tentar comparar dois algoritmos observando
apenas valores, por exemplo, a taxa de erro em
problemas de classificao ou o erro em
problemas de regresso, no fcil perceber se
um algoritmo melhor do que o outro
Em vrias situaes, para comparar o erro (mdia
e desvio padro) obtido, r-fold stratified cross-
validation usualmente utilizada (para manter a
distribuio de classes)
De fato, a maioria dos trabalhos na rea reportam
erros utilizando 10-fold cross-validation ou
stratified cross-validation
41
Comparando Algoritmos
Ao comparar dois indutores no mesmo domnio T,
o desvio padro pode ser visto como uma
imagem da robustez do algoritmo: se os erros,
calculados sobre diferentes conjuntos de teste,
provenientes de hipteses induzidas utilizando
diferentes conjuntos de treinamento, so muito
diferentes de um experimento para outro, ento o
indutor no robusto a mudanas no conjunto de
treinamento, proveniente de uma mesma
distribuio

42
Comparando Algoritmos
Suponha por exemplo, que deseja-se comparar
dois algoritmos com taxas de erro iguais a
9.00 1.00 e
7.50 0.80
Para decidir qual deles melhor que o outro (com
grau de confiana de 95%) basta assumir o caso
geral para determinar se a diferena entre dois
algoritmos (AS e AP) significante ou no,
assumindo uma distribuio normal
Em geral, a comparao feita de forma que AP
o algoritmo proposto e AS o algoritmo padro

43
Comparando Algoritmos
Para isso, a mdia e desvio padro combinados
so calculados de acordo com as seguintes
equaes:

A diferena absoluta (ad) dada em desvios


padres
44
Comparando Algoritmos

Se ad(AS - AP) > 0 ento AP supera AS


se ad(AS - AP) >= 2 desvios padres ento AP
supera AS com grau de confiana de 95%
Se ad(AS - AP) <= 0 ento AS supera AP
se ad(AS - AP) <= -2 ento AS supera AP com
grau de confiana de 95%

45
Exemplo
Retornando ao exemplo descrito anteriormente, assuma
AS=9.00 1.00 (algoritmo padro)
AP=7.50 0.80 (algoritmo proposto)
Apenas observando os valores, h uma tendncia em se achar que
AP melhor que AS
Entretanto

Conseqentemente, como ad(AS - AP) > 0, AP supera AS, porm como


ad(AS - AP) = 1.65 < 2 AP no supera AS significativamente (com
grau de confiana de 95%)
Normalmente, quando se avalia muitos conjuntos de exemplos e/ou
algoritmos, til a utilizao de grficos, indicando o valor absoluto
em desvios padres
46
Exemplo

47
Exemplo

48
100% Exemplos

80% Treinamento 20% Teste

Mtodo de 1
Seleo de
Atributos 2

10
10-fold Cross-validation
49

Vous aimerez peut-être aussi