Aprendizagem Estatística de Dados Aprendizagem Estatística de Dados Francisco Carvalho.
Transcript of Aprendizagem Estatística de Dados Aprendizagem Estatística de Dados Francisco Carvalho.
Aprendizagem Estatística de DadosAprendizagem Estatística de Dados
Francisco Carvalho
Avaliação dos Classificadores• Existem poucos estudos analíticos sobre o
comportamento de algoritmos de aprendizagem.
• A análise de classificadores é fundamentalmente experimental.
• Dimensões de análise:Taxa de erroComplexidade dos modelosTempo de aprendizagem…
Avaliação de Algoritmos de Classificação• Dois Problemas distintos:
Dados um algoritmo e um conjunto de dados:¤ Como estimar a taxa de erro do algoritmo nesse
problema?Dados dois algoritmos e um conjunto de dados:
¤ A capacidade de generalização dos algoritmos é igual?
Avaliação• Qual o desempenho do modelo aprendido?
• Erro no conjunto de treinamento não é um bom indicador em relação ao que vai ser observado no futuro
• Solução simples quando os dados são abundantes
dividir os dados em treinamento e teste
• Porém: dados (com rótulo) usualmente são raros• Ex.: dados sobre falhas em sistemas elétricos nos últimos 15
anos
Avaliação• Confiabilidade estatística nas diferenças de
performance estimadas
• Escolha de medidas de desempenhoNúmero de classificações corretasErro em previsões numéricasetc
• Custo atribuído a deferentes tipos de erroMuitas aplicações práticas envolvem custos
Treinamento e teste• Medida natural de desempenho para problemas
de classificação: taxa de erroSucesso: a classe da instancia é prevista corretamenteErro: classe da instancia é prevista incorretamenteTaxa de erro: proporção dos erros em relação ao
conjunto de exemplos
• Erro de re-substituição: erro calculado a partir do conjunto de treinamento
• Erro de re-substituição é otimista!
Treinamento e teste• Conjunto de Teste: conjunto de exemplos
independentes que não tiveram nenhum papel na construção do classificador
Suposição: os conjuntos de treinamento e teste são amostras representativas do problema em questão
• Dados de teste e de treinamento podem ser de natureza diferente
Exemplo: classificadores construídos usando-se dados de clientes de duas cidades diferentes A e B
¤ Para estimar o desempenho do classificador da cidade A em uma nova cidade, teste-o com os dados de B
Ajuste de parâmetro• É importante que os dados de teste não sejam
usados de nenhuma maneira para construir o classificador
• Alguns algoritmos de aprendizagem operam em dois estágios
Estágio 1: construção da estrutura básicaEstágio 2: otimização do ajuste dos parâmetros
• Procedimento correto: usar 3 conjuntos: treinamento, validação e teste
Validação: usado para otimizar os parâmetros
Usar ao máximo os dados• Uma vez completada a avaliação, todos os dados
podem ser usados para construir o classificador final
• Geralmente, quanto maior o conjunto de treinamento melhor o classificador
• Quando maior o conjunto de teste mais exata a estimativa do erro
• Holdout: divisão dos dados originais em treinamento e teste
Dilema: idealmente deseja-se que ambos, o treinamento e o teste, sejam o maior possível
Previsão de desempenho• Suponha que a taxa de erro estimada é 25%. Quão
próxima isso está da verdadeira taxa de erro? Depende da quantidade de dados de teste
• Classificar pode ser assimilado ao lançamento de uma moeda viciada
Cara, sucesso; coroa, erro
• Em estatística, uma sucessão de eventos independentes como esse é chamado de processo de Bernoulli
A teoria estatística permite a construção de intervalos de confiança com uma certa probabilidade de conter a verdadeira taxa de erro
Intervalos de confiança• Pode-se dizer: com um certo nível de confiança,
um certo intervalo especificado pode conter p
• Exemplo: S=750 sucessos em N=1000 tentativasTaxa de sucesso estimada: 75%Quão próximo é isso da verdadeira taxa de sucesso?
¤ Resposta: com 95% de confiança [73.3;76.8] contém p
• Outro exemplo: S=75 e N=100Taxa de sucesso estimada: 75%com 95% de confiança [70;81] contém p
Média e Variância• S: número de sucessos. V.a. de tipo Binomial
• Média e variância para um v.a de tipo Binomial: p, Np(1-p)
• Taxa de sucesso f = S / N. V.a de tipo binomial
• Média e variância para f: p, p(1-p)/N
• Para N grande uma v.a. de tipo binomial pode ser aproximada por uma normal
Resultados da Estatística• V. a. de tipo t-Student
• Intervalo de confiança par ao nivel de confiança de (1-)
nsX
t nv
1
1)( ,2/,2/ tttP
]);/([ ,2/,2/ tXnstX
Resultados da Estatística• Grandes amostras
• Intervalo de confiança par ao nível de confiança de (1-)
• A v.a f tem que ser reduzida para ter média 0 e variância 1
1)( 2/2/ zZzP
)]n/s(zX);n/s(zX[ 2/2/
nsX
)1,0(NZns
Xt 1nv
Transformação para f• Intervalo de confiança par p ao nível de
confiança de (1-)
Nff
pNf)1(
, 1)
/)1(( 2/2/ z
Nffpf
zP
])1(
;)1(
[ 2/2/ Nff
zfN
ffzf
Estimação Holdout• O que fazer se os dados são limitados• O método holdout reserva uma certa quantidade
para teste e o restante para a aprendizagemusalmente, 1/3 para teste e 2/3 para treinamento
• Problema: a amostra pode não ser representativaexemplo: uma classe pode estar ausente no conjunto
de teste
• Amostragem estratificada: as classes são representadas com aproximadamente a mesma proporção tanto no teste como no treinamento
Holdout repetido• Estimação holdout pode ser realizada com mais
confiança repetindo-se o processo com diferentes sub-amostras
Em cada iteração, uma certa proporção é selecionada aleatoriamente para treino, com ou sem estratificação
uma taxa de erro global é calculada pela média das taxas de erro nas iterações
• Esse processo é chamado holdout repetido
• Problema: os diferentes conjuntos de teste não são mutuamente excludentes
Validação cruzada• Validação cruzada evita conjuntos de teste com
interseção não vaziaos dados são divididos em k conjuntos de mesmo
cardinalcada subconjunto é usado como teste e o restante
como treino
• Isso é chamado de validação cruzada k-fold• Os subconjuntos podem ser estratificados antes
de realizar a validação cruzada• A taxa de erro global é a média das taxas de erro
calculadas em cada etapa
Validação cruzada• Método usual: validação cruzada estratificada
10-fold
• Porque? Evidencias experimentais
• A estratificação reduz a variância da estimativa
• Melhor ainda: validação cruzada estratificada repetida
validação cruzada 10-fold repetida 10 vezes
Validação cruzada leave-one-out• É uma forma particular de validação cruzada
O número de folds é o número de exemploso classificador é construído n vezes
• usa os dados completamente no treino
• não envolve sub-amostras aleatórias
• computacionalmente custoso
• a estratificação não é possível
Bootstrap• Validação cruzada usa amostragem sem repetição• Bootstrap é um método de estimação que usa
amostragem com reposição para formar o conjunto de treinamento
Retira-se uma amostra aleatória de tamanho n de um conjunto de n exemplos com reposição
Essa amostra é usada para o treinamento os exemplos dos dados originais que não estão no conjunto de
treino são usados como teste
• É a melhor maneira quando o conjunto de dados é pequeno
Comparação de Classificadores• Situação freqüente: deseja-se saber entre dois
classificadores, qual o de melhor desempenho
• Atenção: isso depende do domínio
• Maneira óbvia: comparar as estimativas obtidas através de VC 10-fold (repetida ou não)
• Problema: variância das estimativas
Testes de hipóteses• Um teste de hipótese é um guia em relação a
confiança com que assumimos que realmente existe uma diferença de desempenho
• Hipótese nula: não há diferença
• Hipótese alternativa: há diferença
• Um teste mede a evidencia que existe em favor da rejeição da hipótese nula
Qual o melhor algoritmo para um problema ?• Dados dois algoritmos e um conjunto de dados, que
algoritmo utilizar? Que algoritmo tem menor erro na população ?
• Estimar o erro dos dois algoritmos Usando uma estratégia de amostragem Para cada algoritmo é estimado um erro
• São os dois erros estatisticamente diferentes ?• Exemplo
Usando 10-validação cruzada:
Teste de Hipóteses• Hipótese nula:
Ambos os algoritmos têm a mesma performance
• Como verificar a hipótese nula ?“paired tests” são mais apropriados.
¤ Eliminar a variabilidade devida a fatores externos¤ Ambos os algoritmos devem:
Aprender nos mesmosconjuntos de treinamento
Os modelos devem ser avaliadosnos mesmos conjuntos de teste
Teste para 2 caudas¤ X >> Y ou Y >> X
Student paired t-test• Para decidir se duas médias são estatisticamente
diferentes: Calcular di = xi – yi
Calcular
Escolher um nível de confiança
¤ Usual 5% ou 1%
¤ Usar a tabela da distribuição de t para calculo de z k-1 graus de liberdade
Se t > z ou t < -z então as médias são significativamente diferentes
¤ Para o nível de confiança escolhido.
k/
dt
2d
Exemplo
Amostras independentes• Em um esquema foi usado uma VC k-fold e no outro
uma VC j-fold• Deve-se usar um teste-t para amostras não pareadas com
min(k,j)-1 graus de liberdade• a estatística agora é
j
s
ks
mmt
yx
yx
22
Critica• A utilização de t-testes não é pacífica.
Elevada probabilidade de sugerir diferenças onde elas não existem (erro de Tipo I)
• Problemas: Na validação cruzada:
¤ Os conjuntos de treinamento não são independentes. Assume a distribuição normal
• Alguns autores sugerem: Wilcoxon matched-pairs signed-ranks test
Contabilizando os CustosContabilizando os Custos
Na prática, diferentes tipos de erros de classificação geralmente incorrem em diferentes custos
Exemplos:• Decisões de empréstimo• Detecção de vazamento de óleo• Diagnóstico de falha• Cartas promocionais
enviar carta p/ família q ñ responderá x ñ enviar carta p/ família q responderá
Levar em conta CustosLevar em conta Custos
A matriz “confusão”:
Há muitos outros tipos de custos• Custos de coleta de dados para treinamento
Predicted classYes No
Classe Yes True FalseAtual positive negative
No False Truepositive negative
Sensibilidade (abrangência):FNTP
TP
Especificidade:FPTN
TN
Valor de Predição Positivo (precisão):FPTP
TP
Valor de Predição Negativo:FNTN
TN
Acerto:FNFPTNTP
TNTP
Erro:FNFPTNTP
FNFP
F-MeasureFNFPTP2
TP2
VPP1
S1
2F
F-Measure (bis)FNFPTN2
TN2
VPN1
E1
2F
O VPP é diretamente influenciado pela especificidade e pouco influenciado pela sensibilidade
O VPN é diretamente influenciado pela sensibilidade e pouco influenciado pela especificidade
Aprendizado Sensível ao CustoAprendizado Sensível ao Custo
A maioria dos esquemas de aprendizado não realizam aprendizado sensível ao custo• Eles geram o mesmo classificador não importando
qual o custo associado a diferentes classes• Exemplo: aprendizado de árvore de decisão
padrão Métodos simples para aprendizado sensível
ao custo:• Replicação de instâncias de acordo com os custos• Utilização de pesos para instâncias de acordo com
os custos
Avaliando Previsões NuméricasAvaliando Previsões Numéricas
Algumas estratégias: conjunto de teste independente, cross-validation, testes de significância, etc.
Diferença: medidas de erro Valores atuais: a1, a2, ..., an
Valores previstos: p1, p2, ..., pn Medida mais popular: erro quadrático médio(mean-
squared error)
• manipulação matemática fácil
n
apap nn22
11
Outras MedidasOutras Medidas
Raiz do erro quadrático médio:
O erro absoluto médio é menos sensível a outliers que o erro médio quadrático:
Às vezes valores de erros relativos são mais apropriados que valores absolutos• 10% corresponde a um erro de 50 quando prevendo 500• 10% corresponde a um erro de 0,2 quando prevendo 2
n
apap nn22
11
n
apap nn 11
Aprimoramento da MédiaAprimoramento da Média
As vezes queremos saber o quanto o esquema é aprimorado simplesmente prevendo a média
Erro quadrático relativo é (ā é a média):
Erro absoluto relativo é:
22
1
2211
n
nn
aaaa
apap
n
nn
aaaa
apap
1
11
O Coeficiente de CorrelaçãoO Coeficiente de Correlação
Mede a correlação estatística entre os valores previstos e os valores atuais
Escala independente, entre –1 e +1
Boa performance leva a grandes valores
AP
PA
SS
S
1
))((
n
aappS i
ii
PA 1
)( 2
n
ppS i
i
P
1
)( 2
n
aaS i
i
A
Qual a melhor medida?Qual a melhor medida?
Melhor verificar todas elas Geralmente não importa Exemplo:
A B C DRaiz do erro quadrático médio 67,8 91,7 63,3 57,4Erro absoluto médio 41,3 38,5 33,4 29,2Raiz do erro quadrático relativo 42,2% 57,2% 39,4% 35,8%Erro absoluto relativo 43,1% 40,1% 34,8% 30,4%Coeficiente de correlação 0,88 0,88 0,89 0,91
Decomposição do Erro• O erro esperado de um classificador pode ser
decomposto em
Ruído no conjunto de dados Viés (Bias)
¤ Mede os erros sistemáticos
¤ Estimativa da capacidade de adaptação da linguagem de representação utilizada pelo algoritmo ao problema
Variância
¤ Mede a variabilidade das predições
¤ Estimativa da dependência do modelo gerado ao conjunto de treino
x
2x
2x
2x ianciavarviésE
O Compromisso Bias-Variance• Aumentando o número de graus de liberdade de um
modelo: Diminuição da componente do “Bias” Aumento da variância.
• Minimizar o erro esperado requer um compromisso entre as duas componentes
Decomposição em “Bias-Variance”• Funções Discriminantes
Variância reduzida Viés elevado
• Arvores de decisão Variância elevada Bias reduzido
Sumario• Avaliação de classificadores
Como estimar o erro do classificador num conjunto de dados?
Qual o melhor algoritmo para um problema?
• AmostragemValidação cruzadaAmostragem com reposição
• Teste de Hipóteses
• Decomposição do erro em viés e variância