Depois de fazer a pesquisa em grade para cada modelo substituto, você pode e deve verificar algumas coisas:
- variação dos parâmetros otimizados (aqui e C ).
Os parâmetros ótimos são estáveis? Caso contrário, você provavelmente está com problemas.γC
- Compare o desempenho relatado da validação cruzada interna e externa.
Se a validação cruzada interna (ou seja, ajuste) parecer muito melhor do que a validação externa (validação do modelo final), também estará com problemas: você está se adaptando demais. Existe um risco substancial de que os parâmetros ajustados não sejam ótimos. No entanto, se a validação cruzada externa for feita corretamente (todos os conjuntos de testes são realmente independentes dos respectivos modelos substitutos), pelo menos você ainda terá uma estimativa imparcial (!) Do desempenho do modelo. Mas você não pode ter certeza de que é o ideal.
- Quão pronunciado é o ideal? O desempenho diminui rapidamente para parâmetros abaixo do ideal? Quão bom é o desempenho ideal?
Há muito a dizer sobre o ajuste excessivo pela seleção de modelos. No entanto, é bom ter em mente que tanto a variação quanto o viés otimista podem realmente prejudicar
- variação significa que você pode acabar acidentalmente muito longe dos hiperparâmetros realmente ótimos.
- mas também o viés pode prejudicar: se você estiver se ajustando demais, poderá enfrentar situações em que muitos modelos parecem perfeitos para a validação cruzada interna (mas na verdade não são). Nesse caso, o ajuste pode se perder, porque não reconhece as diferenças entre os modelos.
- Se o viés depende dos hiperparâmetros, você está com um grande problema.
Se você está interessado em um exemplo e pode ler alemão, eu poderia colocar minha tese do Diplom online.
Na minha experiência, o ajuste de hiperparâmetros é uma idéia extremamente eficaz para o ajuste excessivo ...
Agora, se você perceber que está se adaptando demais, terá basicamente duas opções:
- relate que a otimização teve um problema de sobreajuste, mas que você fez uma validação externa adequada que resultou em ... (resultados da validação cruzada externa).
- restringir a complexidade do modelo. Uma maneira de fazer isso é corrigir hiperparâmetros:
Como alternativa ao ajuste dos hiperparâmetros para cada conjunto de treinamento, você pode pré-especificar (hiper) parâmetros (ou seja, corrigi-los com antecedência). Faço isso o máximo possível para meus modelos, pois geralmente tenho menos casos do que você, veja abaixo.
No entanto, essa correção deve ser feita de maneira honesta e honesta: por exemplo, solicitei a um colega seus parâmetros otimizados em um conjunto de dados semelhante (experimento independente) ou fiz um pré-experimento, incluindo a pesquisa em grade nos parâmetros. Esse primeiro experimento é usado para fixar alguns parâmetros experimentais, bem como modelar parâmetros para o experimento real e a análise de dados. Veja abaixo mais explicações.
Obviamente, é possível fazer testes adequados em modelos otimizados automaticamente (validação dupla ou aninhada), mas o tamanho da amostra pode não permitir a divisão dos dados duas vezes .
Nessa situação, é muito melhor IMHO relatar uma estimativa honesta para um modelo que foi construído usando experiência profissional em como escolher parâmetros de modelagem do que relatar uma estimativa super-otimista em algum tipo de modelo otimizado automaticamente.
Outro ponto de vista sobre a situação é que você precisa trocar
- pior desempenho devido à retirada de mais um monte de casos para otimização de parâmetros (tamanho menor da amostra de treinamento => modelo pior, mas parâmetros "ideais")
- pior desempenho devido à fixação de parâmetros abaixo do ideal pelo especialista (mas com dados de treinamento maiores).
Alguns pensamentos semelhantes sobre uma pergunta semelhante: /stats//a/27761/4598
Sobre a fixação de parâmetros e os comentários de Dikran Marsupial
Estou usando o termo hiperparâmetros como Dikran Marsupial o usa em seu artigo (link em sua resposta)
Eu trabalho com dados espectroscópicos. Esse é um tipo de medida em que a análise e modelagem de dados geralmente inclui bastante pré-processamento. Isso pode ser visto como hiper-parâmetros (por exemplo, que ordem do polinômio deve ser usada para a linha de base? Quais canais de medição devem ser incluídos?). Existem outras decisões mais próximas dos seus parâmetros svm, por exemplo, quantos componentes principais usar se um PCA for feito para redução da dimensionalidade antes que o modelo "real" seja treinado? E às vezes eu também uso a classificação SVM, então tenho que decidir sobre os parâmetros SVM.
Agora, o IMHO, a melhor maneira de corrigir hiperparâmetros é se você tiver motivos que vêm do aplicativo. Por exemplo, eu normalmente decido sobre que tipo de linha de base usar por razões físicas / químicas / biológicas (ou seja, conhecimento sobre a amostra e o comportamento espectroscópico que se segue). No entanto, não conheço essa argumentação que ajuda com os parâmetros SVM ...
O caso dos pré-experimentos que mencionei acima é o seguinte:
- pegamos dados de várias células (queremos distinguir diferentes linhas de células).
Os espectros são analisados, a SVM de validação cruzada dupla iterada é executada (passou uma ou duas noites no servidor de computação).
- γC
- Também observo um certo ajuste excessivo: a validação cruzada externa não é tão boa quanto os resultados do ajuste. Isso é como esperado.
- Ainda assim, existem diferenças no desempenho ao longo da faixa de ajuste dos hiperparâmetros, e o desempenho na grade de ajuste parece razoavelmente suave. Boa.
Minha conclusão é: embora eu não tenha certeza de que os hiperparâmetros finais sejam ótimos, a validação cruzada externa me fornece uma estimativa adequada do desempenho dos modelos substitutos.
Durante a parte experimental, decidimos algumas mudanças na configuração experimental (coisas que não afetam o sinal de ruído dos dados, mas que dão um passo adiante na automatização do instrumento)
Melhoramos as configurações experimentais e adquirimos novos espectros. Como as células são, elas precisam ser cultivadas de fresco. Ou seja, o novo conjunto de dados são até lotes de cultura independentes.
Agora, enfrento a decisão: devo "pular" a validação cruzada interna e seguir os hiperparâmetros que determinei com os dados antigos?
- Como mencionado acima, corro o risco de que esses hiper-parâmetros pré-determinados não sejam ideais.
- Mas também não posso ter certeza de obter hiperparâmetros realmente ótimos fazendo a validação cruzada interna (de ajuste).
- No entanto, o ajuste nos dados antigos era estável.
- Fazendo a otimização, treinarei com menos amostras: como tenho, de qualquer maneira, Too Few Samples (TM), espero obter modelos piores se eu reservar mais amostras para uma segunda rodada de validação cruzada.
Portanto, nesse caso, decidi seguir parâmetros fixos (com experiência em dados semelhantes e sabendo que no futuro teremos que fazer nossa "lição de casa", incluindo, entre outras coisas, verificar novamente essas decisões com grandes dados).
Observe que o importante é pular a interna ( validação cruzada de ajuste ), não a externa. Com hiperparâmetros fixos, obtenho uma estimativa imparcial do desempenho de um modelo possivelmente subótimo. É verdade que essa estimativa está sujeita a alta variação, mas essa variação é basicamente a mesma, seja eu o ajuste interno ou não.
Ignorando a vaidação cruzada externa, eu obteria uma estimativa otimista de um modelo ajustado - que, dependendo da aplicação e dos dados, pode ser inútil (se muito otimista demais) e o viés otimista pode ser claramente inaceitável.