1 / 73

Avaliação do Conhecimento Descoberto

Avaliação do Conhecimento Descoberto. Fábio Moura orientado por Francisco Carvalho. Motivação Treinamento e teste Estimando performance Cross-validation Leave-one-out cross-validation Bootstrap Comparando esquemas de aprendizado Predizendo probabilidades

iliana
Download Presentation

Avaliação do Conhecimento Descoberto

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Avaliação do Conhecimento Descoberto Fábio Moura orientado por Francisco Carvalho

  2. Motivação Treinamento e teste Estimando performance Cross-validation Leave-one-out cross-validation Bootstrap Comparando esquemas de aprendizado Predizendo probabilidades Contabilizando o custo de previsões erradas Lift charts ROC curves Avaliando previsões numéricas Medidas de avaliação do conhecimento descoberto O princípio MDL Avaliação do Conhecimento Descoberto

  3. Motivação • Avaliação: a chave para o sucesso em data mining • Qual o grau de confiabilidade do modelo aprendido? • Performance no conjunto de treinamento não é um bom indicador de performance em dados futuros • Solução simples • Utilize um amplo conjunto de dados para treinamento e teste • Quando dados não são facilmente disponíveis • Utilização de técnicas mais sofisticadas • Ex.: dados sobre consumo de energia dos últimos 15 anos

  4. Tópicos em Avaliação do Conhecimento Descoberto • Testes estatísticos para determinar a performance de diferentes esquemas de aprendizado de máquina • Escolha da medida de performance • Número de classificações corretas • Precisão da previsão de probabilidade em classes • Erros em previsões numéricas • Custos associados a diferentes tipos de erros • Muitas aplicações práticas envolvem custos

  5. Motivação Treinamento e teste Estimando performance Cross-validation Leave-one-out cross-validation Bootstrap Comparando esquemas de aprendizado Predizendo probabilidades Contabilizando o custo de previsões erradas Lift charts ROC curves Avaliando previsões numéricas Medidas de avaliação do conhecimento descoberto O princípio MDL Avaliação do Conhecimento Descoberto

  6. Treinamento e Teste • Medida natural para classificação de problemas: taxa de erro • Acerto: instância da classe é prevista corretamente • Erro: instância da classe é prevista incorretamente • Taxa de erro: proporção dos erros sobre todo o conjunto de instâncias • Erro de resubstituição: taxa de erro obtida do conjunto de treinamento • Erro de resubstituição é (esperançosamente) otimista !

  7. Treinamento e Teste • Conjunto de teste: conjunto de instâncias independentes que não são utilizadas na formação do classificador • Suposição: tanto o conjunto de dados para treinamento como o conjunto de dados para teste são exemplos representativos do problema em questão • Dados de teste e treinamento podem ser naturalmente diferentes • Exemplo: classificadores construidos utilizando-se dados de duas cidades diferentes A e B • Estimar a performance de um classificador da cidade A e testá-lo utilizando-se dados da cidade B

  8. Observações sobre Ajuste de Parâmetros • É importante que os dados de teste não sejam utilizados para criação do classificador • Alguns esquemas de aprendizado operam em dois estágios • Estágio 1: construção da estrutura básica • Estágio 2: otimização dos parâmetros • Os dados de teste não podem ser utilizados para ajuste dos parâmetros • Procedimentos apropriados utilizam três conjuntos: dados de treinamento, validação e teste • Dados de validação são utilizados para otimização dos parâmetros

  9. Aproveitando Melhor os Dados • Uma vez que a avaliação está completa, todos os dados podem ser utilizados na construção do classificador final • Geralmente, quanto maior o conjunto de dados para treinamento, melhor o classificador • Quanto maior o conjunto de dados para teste, mais precisa a estimativa de erro • Procedimento Holdout: método para divisão dos dados originais nos conjuntos de treinamento e teste • Dilema: idealmente queremos os dois, um grande conjunto de dados para treinamento e para teste

  10. Motivação Treinamento e teste Estimando performance Cross-validation Leave-one-out cross-validation Bootstrap Comparando esquemas de aprendizado Predizendo probabilidades Contabilizando o custo de previsões erradas Lift charts ROC curves Avaliando previsões numéricas Medidas de avaliação do conhecimento descoberto O princípio MDL Avaliação do Conhecimento Descoberto

  11. Estimando Performance • Assuma uma taxa de erro estimada de 25%. O quão perto esta taxa está da taxa de erro real? • Depende do volume de dados para teste • Previsão é como jogar uma moeda viciada • “Cara” é um “acerto”, “coroa” é um “erro” • Em estatística, uma sucessão de eventos independentes como este é chamado de um processo Bernoulli • A teoria estatística nos provê com intervalos de confidência que mostra a proporção em que a verdade se fundamenta

  12. Intervalos de Confidência • Nós podemos dizer: p possui um certo intervalo especificado com uma certa confidência especificada • Exemplo: S=750 acertos em N=1000 tentativas • Taxa de acerto estimada: 75% • O quão próximo esta taxa está da verdadeira taxa de acerto p? • Resposta: com 95% de confidência p [73.3, 76.8] • Outro exemplo: S=75 e N=100 • Taxa de acerto estimada: 75% • Com 95% de confidência p [70.0, 81.0]

  13. Média e Variância • Média e variância para um teste Bernoulli: p, p(1-p) • Taxa de acerto esperada 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 • c% intervalo de confidência [-z  X  z] para uma variável aleatória com média 0 é dada por: Pr[-z  X  z] = c • Dando uma distribuição simétrica: Pr[-z  X  z] = 1 - (2*Pr[X  z])

  14. Limites de Confidência • Limites de confidência para uma distribuição normal com média 0 e variância 1: • Assim: Pr[-1,65  X  1,65] = 90% • Para utilizar isto, temos que reduzir nossa variável aleatória f para que tenha média 0 e variância unitária

  15. Transformando f • Valor transformado para f: (i.e. subtração da média e divisão pelo desvio padrão) • Equação resultante: • Resolvida para p:

  16. Exemplos • f=75%, N=1000, c=80% (então z=1.28): p[0.732, 0.767] • f=75%, N=100, c=80% (então z=1.28): p[0.691, 0.801] • Note que a suposição de distribuição normal somente é válida para um N “grande” (i.e. N > 100) • f=75%, N=10, c=80% (então z=1.28): p[0.549, 0.881]

  17. Estimativa Holdout • O que devemos fazer se a quantidade de dados é limitada? • O método holdout reserva uma certa quantidade de dados para teste e utiliza o restante para treinamento • Normalmente: um terço para teste, o restante para treinamento • Problema: os exemplos podem não ser representativos • Exemplo: classe faltando nos dados de teste • A versão avançada utiliza estratificação • Garante que cada classe esteja representada com aproximadamente a mesma proporção em ambos conjuntos

  18. Método Holdout Repetitivo • A estimativa holdout pode se tornar mais confiável se repetirmos o processo com diferentes subexemplos • Em cada iteração, uma certa proporção é aleatoriamente selecionada para treinamento (possivelmente com estratificação) • Um média das taxas de erro nas diferentes iterações é calculada para produção de uma taxa de erro geral • Continua não sendo ótimo: diferentes conjuntos de teste se sobrepõem • Podemos prevenir sobreposição?

  19. Cross-validation • Cross-validation evita sobreposição de conjuntos de teste • Primeiro passo: os dados são divididos em k subconjuntos de tamanho igual • Segundo passo: cada subconjunto, em fila, é utilizado para teste e o restante para treinamento • Este processo é chamado k-fold cross-validation • Geralmente os subconjuntos são estratificados antes que a validação cruzada seja realizada • Calcula-se a média dos erros estimados a fim de se produzir uma estimativa de erro geral

  20. Cross-validation • Método padrão de avaliação: ten-fold cross-validation estratificado • Por que dez? Experimentos extensivos mostraram que esta é a melhor escolha a fim de se conseguir uma estimativa precisa • Também existem algumas evidências teóricas • Estratificação reduz a variação da estimativa • Ainda melhor: cross-validation estratificado repetitivo • Ten-fold cross-validation é repetido dez vezes e a média dos resultados é calculada

  21. Leave-one-out Cross-validation • É uma forma particular de cross-validation: • O número de “folds” é fixado com o número de instâncias para treinamento • Um classificador tem que ser construído n vezes, onde n é o número de instâncias para treinamento • Faz uso máximo dos dados • Não envolve o uso de subexemplos aleatórios • Computacionalmente muito caro

  22. LOO-CV e Estratificação • Outra desvantagem do LOO-CV: não é possível estratificação • Há apenas uma instância no conjunto de teste • Exemplo extremo: conjunto de dados completamente aleatório com duas classes em igual proporção • Melhor indutor que prevê a classe majoritária (resulta em 50%) • A estimativa LOO-CV para este indutor seria de uma taxa de erro de 100%

  23. Bootstrap • CV utiliza exemplos sem substituição • A mesma instância, uma vez selecionada, não pode ser selecionada novamente para um conjunto de treinamento/teste em particular • O bootstrap é um método de estimativa que utiliza exemplos com substituição para formar o conjunto de treinamento • Um conjunto de dados com n instâncias é utilizado n vezes a fim de formar um novo conjunto de dados com n instâncias • Estes dados são utilizados como conjunto de treinamento • As instâncias do conjunto de dados original que não ocorrem no novo conjunto de treinamento são utilizadas para teste

  24. 0.632 Bootstrap • Este método também é conhecido como 0.632 bootstrap • Uma particular instância tem a probabilidade de 1-1/n de não ser utilizada • Assim, sua probabilidade de terminar nos dados de teste é: • Isto significa que o conjunto de dados para treinamento irá conter aproximadamente 63.2% das instâncias

  25. Estimando Erro Com o Bootstrap • O erro estimado nos dados de teste será muito pessimista • Ele contém apenas ~63% das instâncias • Assim, ele é combinado com o erro de resubstituição: • O erro de resubstituição tem menor peso que o erro nos dados de teste • O processo é repetido várias vezes, com diferentes exemplos gerados, toma-se a média dos resultados

  26. Observações sobre Bootstrap • É provavelmente a melhor maneira para estimativa de performance em conjuntos de dados muito pequenos • Entretanto, possui alguns problemas • Considerando o conjunto de dados aleatório anterior • Um perfeito memorizador alcançará 0% de erro de resubstituição e ~50% de erro nos dados de teste • Bootstrap estimará para este classificador: err = 0.632 x 50% + 0.368 x 0% = 31.6% • Verdadeira taxa de erro esperada: 50%

  27. Motivação Treinamento e teste Estimando performance Cross-validation Leave-one-out cross-validation Bootstrap Comparando esquemas de aprendizado Predizendo probabilidades Contabilizando o custo de previsões erradas Lift charts ROC curves Avaliando previsões numéricas Medidas de avaliação do conhecimento descoberto O princípio MDL Avaliação do Conhecimento Descoberto

  28. Comparando Esquemas de Aprendizado • Situação freqüente: queremos saber entre dois esquemas de aprendizado qual o de melhor performance • Nota: isto é dependente do domínio • Caminho óbvio: compare estimativas 10-fold CV • Problema: variação na estimativa • A variação pode ser reduzida utilizando-se CV repetitivo • Entretanto, ainda não sabemos se os resultados são confiáveis

  29. Testes de Significância • Testes de significância nos diz o quão confidentes podemos ser que realmente existe uma diferença • Hipótese nula: não há diferença “real” • Hipótese alternativa: há uma diferença • Um teste de significância mede quanta evidência existe em favor de rejeitar-se a hipótese nula • Se estivermos utilizando 10-fold CV 10 vezes • Então nós queremos saber se as duas médias das estimativas do 10 CV são significantemente diferentes

  30. Paired t-test • Student´s t-test nos diz se a média de dois exemplos são significantemente diferentes • Os exemplos individuais são tomados do conjunto de todos as estimativas cross-validation possíveis • Nós utilizamos o paired t-test porque os exemplos individuais são casados • O mesmo CV é aplicado duas vezes, uma para cada esquema • Fazendo x1, x2, ..., xk e y1, y2, ..., yk serem os 2k exemplos para um k ten-fold CV

  31. Distribuição das Médias • Sendo mx e my as médias dos respectivos exemplos • Se existirem exemplos suficientes, a média de um conjunto independente de exemplos é normalmente distribuída • As variâncias estimadas das médias são x2/k e y2/k • Se x e y são as verdadeiras médias entãosão aproximações normalmente distribuídas com média 0 e variância unitária

  32. Distribuição Student • Com exemplos pequenos (k < 100) a média segue a distribuição student com k -1 graus de liberdade • Limites de confidência para 9 graus de liberdade (esquerda), comparado a limites para uma distribuição normal (direita):

  33. Distribuição das Diferenças • Seja md = mx - my • A diferença das médias (md) também tem uma distribuição student com k-1 graus de liberdade • Seja d2/k a variância da diferença • A versão padronizada de md é chamada t-statistic: • Nós utilizamos t para realizar o t-teste

  34. Realizando o Teste • Fixe um nível de significância  • Se a diferença está significantemente no nível % há uma chance de (100 - )% de que realmente exista uma diferença • Divida o nível de significância por dois já que o teste é “two-tailed” • A verdadeira diferença pode ser positiva ou negativa • Verifique o valor de z que corresponde a /2 • Se t  -z ou t  z então a diferença é significante • A hipótese nula pode ser rejeitada

  35. Observações • Se as CV estimadas forem de diferentes sorteios, não há mais “casamento” • Talvez nós ainda usemos k-fold CV para um esquema e j-fold CV para outro • Então devemos utilizar o t-teste unpaired com min(k,j)-1 graus de liberdade • A t-statistic se torna:

  36. Notas sobre a Interpretação do Resultado • Toda estimativa cross-validation é baseada no mesmo conjunto de dados • Portanto, o teste apenas nos diz quando um completo k-fold CV para este conjunto de dados irá mostrar uma diferença • Um k-fold CV completo irá gerar todas as possíveis partições dos dados em k conjuntos e calcular a média dos resultados • Idealmente, nós queremos conjuntos de dados de exemplo diferentes para cada estimativa k-fold CV usando o teste para julgar a performance através de diferentes conjuntos de treinamento

  37. Motivação Treinamento e teste Estimando performance Cross-validation Leave-one-out cross-validation Bootstrap Comparando esquemas de aprendizado Predizendo probabilidades Contabilizando o custo de previsões erradas Lift charts ROC curves Avaliando previsões numéricas Medidas de avaliação do conhecimento descoberto O princípio MDL Avaliação do Conhecimento Descoberto

  38. Predizendo Probabilidades • Medida de performance: taxa de acerto • Também chamada função de perda 0-1: • Muitos classificadores produzem classes de probabilidades • Dependendo da aplicação, nós podemos querer checar a precisão das estimativas de probabilidade • Perda 0-1 não é o modelo correto a ser utilizado nestes casos

  39. Função de Perda Quadrática • p1, ..., pk são probabilidades estimadas para uma instância • Seja c o índice da classe atual da instância • a1, ..., ak = 0, exceto para ac, que é 1 • A “perda quadrática” é: • Justificativa:

  40. Função de Perda Informacional • A “informational loss function” é –log(pc), onde c é o índice da classe atual da instância • Número de bits necessários para comunicar a classe atual • Ex.: “cara ou coroa” - log2 1/2 = 1 • Sejam p1*, ..., pk* as probabilidades verdadeiras das classes • Então o valor esperado para a “função de perda” é: • Justificativa: minimizado para pj = pj* • Dificuldade: problema da freqüência zero • Se a probabilidade é zero, o valor da função é -

  41. Observações • Qual “função de perda” deveríamos escolher? • A “quadratic loss function” leva em conta todas as probabilidades de classes estimadas para uma instância • A “informational loss” foca somente na probabilidade estimada para a classe atual • A “quadratic loss” é restringida por • Nunca poderá exceder a 2 • A “informational loss” poderã ser infinita • A “informational loss” está relacionada ao princípio MDL

  42. Motivação Treinamento e teste Estimando performance Cross-validation Leave-one-out cross-validation Bootstrap Comparando esquemas de aprendizado Predizendo probabilidades Contabilizando o custo de previsões erradas Lift charts ROC curves Avaliando previsões numéricas Medidas de avaliação do conhecimento descoberto O princípio MDL Avaliação do Conhecimento Descoberto

  43. Contabilizando 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á

  44. Mantendo Custos em Conta • A matriz “confusão”: • Há muitos outros tipos de custos • Custos de coleta de dados para treinamento

  45. Lift Charts • Na prática, custos raramente são desconhecidos • Decisões são tomadas geralmente pela comparação de cenários possíveis • Exemplo: cartas promocionais • Situação 1: classificador prevê que 0,1% de todos as famílias irão responder = 1.000 respostas • Situação 2: classificador prevê que 0,4% das 10.000 famílias mais promissoras irão responder = 400 respostas • Situação 3: classificador prevê que 0,2% de 400.000 famílias irão responder = 800 respostas • Um lift chart permite uma comparação visual

  46. Gerando um Lift Chart • Instâncias são classificadas de acordo com suas probabilidades previstas de serem um “true positive”: • Em um lift chart, o eixo x é o tamanho do exemplo e o eixo y é o número de “true positives”

  47. Exemplo de um Lift Chart

  48. ROC Curves • Curvas ROC são similares a lifit charts • “ROC” vem de “receiver operating characteristic” • Utiliza um sinal de detecção para mostrar o tradeoff entre a taxa de acerto (hit rate) e a taxa de alarme falso (false alarm rate) acima do canal de ruído (noisy channel) • Diferenças do lift chart: • O eixo y mostra o percentual de true positives em um exemplo (em vez do valor absoluto) • O eixo x mostra o percentual de false positives em um exemplo (em vez do tamanho do exemplo)

  49. Exemplo de uma ROC Curve

  50. Cross-validation e Roc Curves • Método simples para criar uma curva Roc utilizando cross-validation: • Coletar probabilidades de instâncias em conjuntos de teste • Classificar as instâncias de acordo com as probabilidades • Este método é implementado no WEKA • Entretanto, esta é apenas uma possibilidade • O método descrito no livro gera uma curva ROC para cada conjunto e calcula a média entre eles

More Related