Análise Inteligente de Dados 5. Avaliação dos Resultados
A avaliação é essencial
Quão preditivo é o modelo aprendido? O erro nos dados de treino não é um bom indicador do desempenho futuro
Solução simples se houver muitos dados:
Senão o 1-NN seria um classificador óptimo! Dividir os dados num conjunto de treino e conjunto de teste
No entanto: os dados (classificados) podem não abundar...
Torna-se necessário utilizar técnicas mais sofisticadas Análise Inteligente de Dados
1
Questões importantes
Fiabilidade estatística das estimativas para as diferenças de desempenho
Escolha de uma medida de desempenho
Testes de significado estatístico Número de classificações correctas Precisão das estimativas de probabilidade Erro nas predições numéricas
Podem-se atribuir custos a diferentes tipos de erro
Muitas aplicações práticas envolvem esta atribuição de custos Análise Inteligente de Dados
Treino e teste
Medida natural de erro em problemas de classificação: ratio de erro
Sucesso: a classe da instância foi predita correctamente Erro: a classe da instância foi predita incorrectamente Ratio de erro: Proporção de erros cometidos para todo o conjunto de instâncias
Erro de re-substituição: ratio de erro para o conjunto de treino
O erro de re-substituição é sempre muito optimista Análise Inteligente de Dados
2
Treino e teste
Conjunto de teste: conjunto de instâncias independentes que não foram utilizadas na construção do classificador
Assumpção: tanto o conjunto de treino como o conjunto de teste são amostras significativas dos dados do problema
Dados de treino e dados de teste podem ser de natureza diferente
Exemplo: classificadores construídos utilizando dados de clientes de duas cidades diferentes, A e B Para estimar o desempenho do classificador A numa cidade completamente nova, podemos utilizar os dados de treino de B Análise Inteligente de Dados
Optimização de parâmetros
É importante que os dados de teste não sejam utilizados de forma alguma na criação do classificador Alguns esquemas de aprendizagem funcionam da seguinte forma:
Etapa 1: é construía a estrutura base Etapa 2: os valores paramétricos são optimizados
Os dados de teste não devem ser utilizados nesta “afinação” dos parâmetros O procedimento adequado utiliza três conjuntos de dados:
Dados de treino Dados de validação, usados para afinar os parâmetros Dados de teste Análise Inteligente de Dados
3
Aproveitando os dados ao máximo
Mal a avaliação esteja completa, todos os dados podem ser utilizados na construção do classificador final Quanto maior é o conjunto de treino
Quanto maior é o conjunto de teste
melhor é o classificador melhor é a estimativa do erro
O método de divisão dos dados em dados de treino e dados de teste (holdout) conduz a um dilema
Tanto queremos um conjunto de treino grande como um conjunto de teste grande... Análise Inteligente de Dados
Predição do desempenho
Assuma-se que o ratio de erro estimado é de 25%
A predição assemelha-se ao lançamento de uma moeda viciada
Quão perto da verdade se encontrará esta estimativa? Depende da quantidade de dados de teste
“Cara” é um “sucesso”, “coroa” é um “erro”
Em estatística, uma sucessão de eventos independentes como esta é chamada um processo de Bernoulli
A teoria estatística fornece intervalos de confiança para a verdadeira proporção subjacente! Análise Inteligente de Dados
4
Intervalos de confiança
Podemos dizer: p encontra-se dentro de um determinado intervalo, com uma determinada confiança. Exemplo: S=750 sucessos em N=1000 tentativas
Ratio de sucesso estimado: 75% Quão perto se encontra este valor do verdadeiro ratio de sucesso p? Resposta: p ∈ [73.2, 76.7] com uma confiança de 80%
Outro exemplo: S=75 e N=100
Ratio de sucesso estimado: 75% p ∈ [69.1, 80.1] com uma confiança de 80% Análise Inteligente de Dados
Média e variância
Média e variância para uma experiência de Bernoulli: p, p(1-p) Ratio de sucesso esperado f=S/N Média e variância para f: p, p(1-p)/N Para um N suficientemente grande f segue uma distribuição normal O intervalo de confiança a c% para uma variável com média 0 é dado por: Pr[ − z ≤ X ≤ z ] = c
Para uma distribuição simétrica temos: Pr[ − z ≤ X ≤ z ] = 1 − 2 × Pr[ X ≥ z ] Análise Inteligente de Dados
5
Intervalos de confiança
Limites de confiança para a distribuição normal com média 0 e variância 1: Logo: Pr[ −1.65 ≤ X ≤ 1.65] = 90% Para utilizarmos isto temos que reduzir a nossa variável aleatória f de maneira a que passe a ter média 0 e variância 1 Análise Inteligente de Dados
Transformação de f
Valor transformado para f:
I.e. subtraímos a média e dividimos pelo desvio padrão
Equação resultante: Pr − z ≤
f −p p (1 − p ) / N
f −p ≤ z = c p (1 − p ) / N
Resolvendo para c: z2 f f2 z2 p= f + ±z − + 2N N N 4N 2
z2 1 + N Análise Inteligente de Dados
6
Exemplos
f =75%, N=1000, c=80% (logo z=1.28) p ∈ [0.732,0.767]
f =75%, N=100, c=80% (logo z=1.28) p ∈ [0.691,0.801] Note-se que a assumpção de uma distribuição normal só e válida para um N grande, i.e. N>100:
f =75%, N=10, c=80% (logo z=1.28)
p ∈ [0.549,0.881]
Este último intervalo apenas pode ser tomado como valor indicativo Análise Inteligente de Dados
Estimativa de Holdout
O que fazer quando a quantidade de dados é limitada? O método de holdout reserva uma certa quantidade para teste e usa os restantes com dados de treino
Problema: as amostras podem não ser significativas
Valor comum: um terço para teste, o restante para treino
Exemplo: uma classe pode estar ausente dos dados de teste
Uma versão avançada utiliza estratificação
Assegura que cada classe é representada nos dois conjuntos em proporções semelhantes Análise Inteligente de Dados
7
Método de Holdout iterativo
A estimativa do holdout pode ser tornada mais fiável repetindo o processo para diferentes subamostragens
A cada iteração uma certa proporção é seleccionada aleatoriamente para treino (possivelmente com estratificação) É feita a média dos ratios de erro das diferentes iterações de maneira a obter um ratio de erro global
Chama-se a este processo método de holdout iterativo Ainda não é óptimo: há sobreposição dos diferentes conjuntos de teste
Poderá isto ser evitado? Análise Inteligente de Dados
Validação cruzada
A validação cruzada evita a sobreposição dos conjuntos de teste
Primeiro passo: os dados são divididos em k conjuntos de igual tamanho Segundo passo: cada subconjunto é utilizado à vez como conjunto de teste e os dados restantes são utilizados para o treino
Chama-se a isto validação cruzada k-fold Frequentemente estratificam-se os subconjuntos antes da validação É feita a média das estimativas de erro de maneira a obter uma estimativa global A validação cruzada 10-fold é o método padrão de avaliação Análise Inteligente de Dados
8
Validação cruzada
Porquê 10?
Resultado empírico Experimentação extensiva demonstrou ser este o melhor valor para a obtenção de uma estimativa precisa Também existem algumas provas teóricas de que este é o caso
A estratificação reduz a variância da estimativa Melhor ainda: validação cruzada estratificada repetitiva:
E.g. validação cruzada 10-fold é repetida 10 vezes e é feita a média dos resultados (diminui a variância)
Análise Inteligente de Dados
Validação cruzada Deixa-Um-De-Fora
A validação cruzada deixa-um-de-fora é uma forma particular de validação cruzada:
O número de folds é definido como o número de instâncias de treino I.e. Um classificador tem que ser construído n vezes, sendo n o número de instâncias de treino
Faz uso máximo dos dados Não existe sub-amostragem aleatória É computacionalmente muito dispendioso Análise Inteligente de Dados
9
Validação cruzada DUDF e estratificação
Outra desvantagem da validação cruzada DUDF consiste no facto da estratificação não ser possível
Garante uma amostra não-estratificada já que só existe uma instância no conjunto de teste
Exemplo extremo: um conjunto de dados completamente aleatórios com duas classes e proporções iguais de cada uma delas
O melhor classificador indutivo prediz a classe da maioria (erro de 50% para novos dados) A estimativa seria de 100% de erro já que a instância de teste seria sempre da mesma classe do que a minoria das instâncias de treino Análise Inteligente de Dados
O método Bootstrap
A validação cruzada utiliza amostragem sem substituição O método bootstrap é um método de estimação que utiliza amostragem com substituição na construção do conjunto de treino
De um conjunto de dados de tamanho n são seleccionadas n instâncias com substituição constituindo assim um novo conjunto de dados de tamanho n Estes dados são utilizados como dados de treino As instâncias do conjunto inicial que não fazem parte do conjunto de treino são utilizadas como conjunto de teste Análise Inteligente de Dados
10
O método Bootstrap 0.632
O método descrito é também conhecido como o método bootstrap 0.632
Uma qualquer instância tem probabilidade 11/n de não ser seleccionada A probabilidade de acabar no conjunto de teste é portanto n
1 1 1 − ≈ e = 0.368 n
Isto implica que o conjunto de treino conterá aproximadamente 63.2% das instâncias Análise Inteligente de Dados
Estimativa do erro com Bootstrap
A estimativa do erro no conjunto de teste será muito pessimista
Porque o conjunto de treino conterá apenas aproximadamente 63% das instâncias
É por isso combinado com o erro de resubstituição
err = 0.632 × eteste + 0.368 × etreino
Este tem um peso menor do que o erro nos dados de teste O processo é repetido várias vezes, utilizando diferentes amostragens com substituição e é feita a média dos resultados Análise Inteligente de Dados
11
Estimativa do erro com Bootstrap
Este é provavelmente o melhor método de estimativa de desempenho para conjuntos de dados muito pequenos Tem, no entanto, alguns problemas:
Consideremos o o conjunto de dados aleatórios já mencionado Um memorizador perfeito obterá 0% de erro no treino (erro de resubstituição) e 50% de erro no conjunto de teste A estimativa do bootstrap para este classificador é:
err = 0.632 × 50% + 0.368 × 0% = 31.6%
O verdadeiro erro esperado é 50% Análise Inteligente de Dados
Comparação de esquemas de AID
Situação comum
Abordagem óbvia:
Pretendemos determinar qual de dois esquemas de AID possui o melhor desempenho Depende do domínio! Comparar as estimativas das validações cruzadas 10fold
Problema:
Variância nas estimativas Pode ser reduzida fazendo repetidas validações cruzadas Mesmo assim não sabemos quanto os resultados são fiáveis Análise Inteligente de Dados
12
Testes de significado estatístico
Os testes de significado estatístico permitem saber quão confiantes podemos estar de que realmente há uma diferença
Hipótese nula: não há nenhuma diferença “real” Hipótese alternativa: existe diferença
Um teste de significado mede a evidência em favor da rejeição da hipótese nula Imagine-se que estamos a utilizar 10 vezes a validação cruzada 10-fold
Queremos então saber se as médias das 10 validações cruzadas são ou não estatisticamente diferentes
Análise Inteligente de Dados
O Teste-T
O teste-t de Student permite saber se as médias de duas amostras são significativamente diferentes As amostras individuais são retiradas do conjunto de todas as estimativas possíveis dadas pela validação cruzada Podemos utilizar um teste-t emparelhado já que as amostras individuais também estão emparelhadas:
A mesma validação cruzada é aplicada duas vezes
Sejam x1, x2, ..., xk e y1, y2, ..., yk as 2k amostras resultantes de uma validação cruzada k-fold Análise Inteligente de Dados
13
A distribuição das médias
Sejam mx e my as médias das respectivas amostras Se as amostras forem suficientes, a média de um conjunto de amostras independentes é normalmente distribuída As variâncias estimadas das médias são
σ x2 / k e σ y2 / k
Se µx e µy forem as verdadeiras médias então mx - µ x m y - µ y e σ x2 / k σ y2 / k são aproximadamente normalmente distribuídas com média 0 e variância 1 Análise Inteligente de Dados
Distribuição de Student
Para amostras pequenas (k<100) as médias seguem uma distribuição de Student com k-1 graus de liberdade
Os quadros apresentam os limites de confiança para 9 graus de liberdade (à esquerda) em comparação com os limites para a distribuição normal (à direita)
Análise Inteligente de Dados
14
A distribuição das diferenças
Seja md = mx- my A diferenças das médias (md) segue também uma distribuição de Student com k-1 graus de liberdade Seja σd2 a variância da diferença A versão normalizada de md é chamada estatística-t:
t=
md
σ d2 / k
Utilizamos t para realizar o teste-t Análise Inteligente de Dados
Realização do Teste 1.
É definido um nível de significância α –
2.
O nível é dividido por dois –
3. 4.
Se a diferença for significativa a α% então existe (100- α)% de probabilidade de realmente haver uma diferença A verdadeira diferença pode ser positiva ou negativa
Procura-se na tabela o valor de z correspondente a α/2 Se t≤ -z ou t ≥ z então a diferença é significativa –
I.e., podemos rejeitar a hipótese nula Análise Inteligente de Dados
15
Observações não-emparelhadas
Se as estimativas das validações cruzadas vierem de diferentes processos aleatórios
já não podem ser consideradas emparelhadas Basta que tenhamos utilizado validação cruzada k-fold para um esquema e validação cruzada j-fold para outro
Neste caso temos realizar um teste-t não emparelhado com min(k,j)-1 graus de liberdade
A estatística-t passa a ser
t=
mx − m y
σ x2 k
+
σ y2 l Análise Inteligente de Dados
Interpretação dos resultados
Todas as estimativas das nossas validações cruzadas são baseadas no mesmo conjunto de dados O teste diz-nos apenas se um uma validação cruzada k-fold completa para este conjunto de dados mostraria uma diferença
Uma VC k-fold completa gera todas as partições possíveis dos dados em k sub-conjuntos e faz a média dos resultados
No caso ideal teríamos amostras diferentes para validação cruzada de maneira a podermos prever o desempenho para conjuntos de dados diferentes Análise Inteligente de Dados
16
Predição de probabilidades
Medida de desempenho utilizada até agora: ratio de sucesso Também chamada função de perda 0-1:
0 se a predição for correcta
∑ 1 se a predição não for correcta i
Muitos classificadores produzem probabilidades de pertença a uma classe Dependendo da aplicação, podemos querer verificar a precisão da probabilidade estimada A perda 1-0 não é a medida adequada para estas situações Análise Inteligente de Dados
A função de perda quadrática
Sejam p1, ..., pk estimativas de probabilidade para uma instância Seja c o índice da classe a que a instância realmente pertence Sejam a1, ..., ak os valores reais para a instância em que ac=1 e todos os outros são 0 A perda quadrática é:
E ∑ ( p j − a j )2 = ∑ p 2j + (1 − pc )2 j j≠c Análise Inteligente de Dados
17
Função de perda de informação
A função de perda de informação é –log2(pc), onde c é o índice da verdadeira classe da instância Corresponde ao número de bits necessários para alguém nos comunicar qual a verdadeira classe Sejam p*1, ..., p*k as verdadeiras probabilidades Então o valor esperado para a função de perda é
− p1* log2 p1 − ... − pk* log2 pk
Dificuldade: problema da frequência 0 Análise Inteligente de Dados
Os custos dos erros
Na prática, diferentes tipos de erros de classificação resultam em custos diferentes Exemplos
Predição de quando uma vaca está com o cio “A vaca nunca está com o cio” está correcto 97% da vezes ☺
Empréstimos Detecção de manchas de óleo Detecção de avarias Mailings promocionais Análise Inteligente de Dados
18
Atendendo aos custos
Uma matriz de confusão:
Há muitos tipos de custos:
E.g., custos da recolha de dados de treino Análise Inteligente de Dados
Avaliação da predição numérica
Algumas estratégias
Conjunto de teste independente Validação cruzada Testes de significado, etc...
Diferença: medidas de erro Valores alvo preditos: p1, ..., pn Valores alvo reais: a1, ..., an Medida mais comum: erro quadrático médio ( p1 − a1 ) 2 + ... + ( pn − an ) 2 n
Fácil de manipular matematicamente Análise Inteligente de Dados
19
Outras medidas
Raiz do erro quadrático médio ( p1 − a1 )2 + ... + ( pn − an ) 2 n
O erro absoluto médio é menos sensível a valores extremos 2
p1 − a1 + ... + pn − an n
2
Por vezes são mais apropriados valores de erro relativo
E.g. 10% para um erro de 50 quando se prevê 500 Análise Inteligente de Dados
Melhorando a média
Frequentemente pretende-se saber quanto o esquema é melhor do que a simples predição da média O erro quadrático relativo é ( é a média)
( p1 − a1 ) 2 + ... + ( pn − an )2 ( a − a1 ) + ... + (a − an )
O erro quadrático relativo é
p1 − a1 + ... + pn − an a − a1 + ... + a − an Análise Inteligente de Dados
20
O coeficiente de relação
Mede a correlação estatística entre os valores previstos e os valores reais:
S PA SP S A
∑ ( p − p )(a i
S PA =
i
i
n −1
∑ ( p − p)
− a)
∑ (a
2
i
SP =
i
n −1
i
SA =
− a )2
i
n −1
Independente da escala, entre –1 entre +1 Bom desempenho – valor elevado Análise Inteligente de Dados
Que medida utilizar?
Frequentemente não interessa... Exemplo:
Análise Inteligente de Dados
21
Critérios de selecção de modelos
Os critérios de selecção de modelos tentam atingir um bom compromisso entre
A. A complexidade do modelo B. A precisão das suas previsões para os dados de treino
Raciocínio: um bom modelo é um modelo simples que tem uma precisão elevada nos dados de treino Também conhecido com a navalha de Occam: a melhor teoria é, de entre as capazes de descrever todos os factos, a mais simples
Análise Inteligente de Dados
Elegância Vs. Erros
Teoria 1: teoria elegante e muito simples, que explica os dados quase perfeitamente Teoria2: teoria significativamente mais complexa que explica os dados na perfeição A teoria 1 é provavelmente preferível Exemplo clássico:
As três leis de Kepler do movimento planetário Menos precisas que os últimos refinamentos de Copérnico à teoria de Ptolomeu Análise Inteligente de Dados
22
O Princípio MDL
O principio MDL está intimamente ligado à compressão de dados:
Postula que a melhor teoria é aquela que melhor comprime os dados I.e., para comprimir o conjunto de dados geramos um modelo que é armazenado junto com os seus erros
Precisamos de calcular a) O
tamanho do modelo b) O espaço necessário para codificar os erros Análise Inteligente de Dados
23