Modelos de Machine Learning no ambiente de produção

8

Digamos que um modelo foi treinado na data usando os dados disponíveis, divididos em treinamento e teste, ou seja, , . Esse modelo é implantado na produção e faz previsões sobre os novos dados recebidos. Alguns dias passam e há um monte de dados rotulados que são coletados entre e dias, vamos chamá-lo de . Na minha abordagem atual, amostras aleatórias de (por exemplo, divisão 80/20),dt1 1trumaEundt1 1testdt1 1Xdt1 1dt1 1+XDumatumaxDUMATUMAx

Portanto, de = (novos dados usados ​​para ajustar o modelo existente treinado em ) de = (novos dados adicionados ao )80%DUMATUMAxtrumaEunxdt1 120%DUMATUMAxtestxtestdt1 1

Esse processo de ajuste repetido com o passar do tempo.

Ao fazer isso, obtenho um conjunto de testes em constante expansão, além de impedir a reciclagem de todo o modelo (essencialmente posso jogar fora os dados antigos conforme o modelo aprendeu com ele). O novo modelo gerado é apenas uma versão aprimorada do antigo.

Eu tenho algumas perguntas, sobre esta abordagem:

  1. Existem desvantagens óbvias em fazer isso?
  2. O modelo precisaria ser completamente treinado novamente (esquecendo tudo o que foi aprendido antes e treinando o modelo com novas divisões de trem / teste) após algum tempo ou a abordagem descrita acima pode continuar indefinidamente?
  3. Qual deve ser a condição para trocar o modelo implantado existente pelo modelo recém-ajustado?
pioneiro
fonte
Desculpe um neófito, por favor. Você deve ter um conjunto de dados muito especial para que seja rotulado, sim? A rotulagem supervisionada é, por natureza, cara e lenta.
precisa
@xtian O custo da rotulagem supervisionada e o tempo necessário dependem significativamente do problema. Digamos que você tinha o modelo ML que previu que quando alguém entra em uma concessionária, ele comprará o carro ou não (dados os atributos da pessoa)? Sua coleta de dados rotulados é relativamente rápida nesse caso. Em um dia, você pode obter mais de 100 amostras rotuladas.
Trailblazer

Respostas:

5

Eu acho que essa é uma boa abordagem em geral. Contudo:

  • O ajuste fino do seu modelo (aprendizado on-line) depende muito do algoritmo e do modelo de como isso funciona. Dependendo do seu algoritmo, pode ser prudente treinar a coisa toda

  • Seu espaço de amostra pode mudar com o tempo. Se você tiver dados suficientes, talvez seja possível treinar novamente a cada poucos dias / semanas / meses, apenas o valor do último ano em dados. Se suas amostras antigas não representam a situação atual, a inclusão delas pode prejudicar seu desempenho mais do que as amostras extras ajudam

  • A maior condição é se for testado e quanto tempo de inatividade envolve, mas em geral a troca de mais vezes é melhor e isso pode ser automatizado

Jan van der Vegt
fonte
Obrigado pela resposta ! Atualmente, estou usando métodos de conjuntos, como Random Forest e Gradient Boosted Trees. A razão pela qual não os mencionei, pois queria saber quão boa a abordagem é independente do tipo de algoritmo.
Trailblazer
Sobre o espaço da amostra, você não acha que isso pode ser tratado com a ponderação das observações? construindo algum tipo de noção de tempo.
Trailblazer
@trailblazer adicionar árvores à sua floresta é uma abordagem decente, acho que nunca tentei, mas deve haver literatura sobre isso. Procure por aprendizado on-line. O algoritmo agnóstico não será possível porque alguns algoritmos só podem aprender em todo o conjunto.
Jan van der Vegt
@trailblazer no que diz respeito à questão do espaço da amostra, que pode funcionar para alguns algoritmos, mas não para outros, isso depende novamente da possibilidade de aprendizado on-line, mas você também precisa continuar aumentando pesos ou treinar tudo, não pode diminuir o peso retroativamente amostras antigas sem reciclagem
Jan van der Vegt
0

Depende principalmente do tipo de aprendizado que seu algoritmo ml faz. Para o aprendizado off-line: o treinamento de tudo é sensato, pois alguns algoritmos exigem seus dados completos para gerar uma melhor suposição. Aprendizado on-line: seu modelo pode ser ajustado com precisão nos dados recentes ou mais recentes com atualização no modelo à medida que os dados chegam.

yash kumar
fonte