Seleção de modelo no aprendizado offline versus online

11

Ultimamente, tenho tentado aprender mais sobre o aprendizado on-line (é absolutamente fascinante!), E um tema que não consegui entender é como pensar na seleção de modelos em contextos offline versus online. Especificamente, suponha que treinar um classificador off-line, com base em um conjunto de dados fixo . Estimamos suas características de desempenho por meio de validação cruzada, por exemplo, e selecionamos o melhor classificador dessa maneira.DSD

É isso que eu tenho pensado: como, então, aplicamos a uma configuração online? Podemos supor que o melhor encontrado offline também funcionará bem como um classificador online? Faz sentido reunir alguns dados para treinar , em seguida, pegar o mesmo classificador e "operacionalizá-lo" em uma configuração online com os mesmos parâmetros encontrados em ou outra abordagem pode ser melhor? Quais são as advertências nesses casos? Quais são os principais resultados aqui? E assim por diante.S S S DSSSSD

De qualquer forma, agora que está lá fora, acho que estou procurando algumas referências ou recursos que me ajudarão (e espero que outros, que tenham pensado sobre esse tipo de coisa!) Façam a transição do pensamento apenas em termos offline, e desenvolvo a estrutura mental para pensar sobre a questão da seleção de modelos e essas questões de uma maneira mais coerente à medida que minha leitura avança.

tetragrammaton
fonte
Você já teve alguma dica útil ou tem alguma sugestão a dar até agora? Obrigado!
user1953384
Sugiro que você analise o artigo de Francesco " arxiv.org/pdf/1406.3816v1.pdf ", no qual ele faz a seleção e a otimização de modelos de uma só vez.
Chandresh
Se você pode ignorar o pay-wall, isso pode ser uma referência muito boa: cognet.mit.edu/journal/10.1162/089976601750265045 ?
Discipulus

Respostas:

1

Obviamente, em um contexto de streaming, você não pode dividir seus dados em conjuntos de treinamento e teste para executar a validação cruzada. Usar apenas as métricas calculadas no conjunto de trens inicial parece ainda pior, pois você supõe que seus dados mudam e seu modelo se adapta às mudanças - é por isso que você está usando o modo de aprendizado on-line.

O que você poderia fazer é usar o tipo de validação cruzada usada em séries temporais (consulte Hyndman e Athanasopoulos, 2018 ). Para avaliar a precisão dos modelos de séries temporais, você pode usar um método seqüencial, no qual o modelo é treinado em observações para prever o ponto no tempo "futuro" . Isso pode ser aplicado um ponto de cada vez, ou em lotes, e o procedimento é repetido até você atravessar todos os seus dados (veja a figura abaixo, tirada de Hyndman e Athanasopoulos, 2018 ).k + 1kk+1

No final, você mede de alguma forma (geralmente média aritmética, mas pode usar algo como suavização exponencial) as métricas de erro para obter a estimativa de precisão geral.

insira a descrição da imagem aqui

Em um cenário on-line, isso significa que você começa no ponto 1 e faz o teste no ponto 2, depois treina novamente no ponto 2, para testar no ponto 3 etc.

Observe que essa metodologia de validação cruzada permite levar em consideração a natureza variável do desempenho de seus modelos. Obviamente, à medida que seu modelo se adapta aos dados e os dados podem mudar, você precisará monitorar regularmente as métricas de erro: caso contrário, não diferiria muito do uso de conjuntos de trens e testes de tamanho fixo.

Tim
fonte