A aprendizagem por conjuntos refere-se a vários métodos diferentes. Impulsionar e ensacamento são provavelmente os dois mais comuns. Parece que você está tentando implementar um método de aprendizado de conjunto chamado empilhamento . O empilhamento visa melhorar a precisão combinando previsões de vários algoritmos de aprendizado. Existem várias maneiras de empilhar e não muita teoria rigorosa. É intuitivo e popular.
Considere a abordagem do seu amigo. Você está ajustando os modelos da primeira camada em quatro das cinco dobras e depois o modelo da segunda camada (votação) usando as mesmas quatro dobras. O problema é que a segunda camada favorecerá o modelo com o menor erro de treinamento. Você está usando os mesmos dados para ajustar modelos e planejar um procedimento para agregar esses modelos. A segunda camada deve combinar os modelos usando previsões fora da amostra . Seu método é melhor, mas existe uma maneira de melhorar ainda mais.
Continuaremos deixando de fora uma dobra para fins de teste. Faça as quatro dobras e use o CV 4 vezes para obter previsões fora da amostra para cada um dos seus modelos de primeira camada nas quatro dobras. Ou seja, deixe de fora uma das quatro dobras e ajuste os modelos nas outras três e, em seguida, preveja nos dados retidos. Repita para as quatro dobras para obter previsões fora da amostra nas quatro dobras. Em seguida, ajuste o modelo da segunda camada nessas previsões fora da amostra. Em seguida, ajuste os modelos da primeira camada novamente nas quatro dobras. Agora você pode ir para a quinta dobra que ainda não tocou. Use os modelos da primeira camada ajustados nas quatro dobras junto com o modelo da segunda camada para estimar o erro nos dados retidos. Você pode repetir esse processo novamente com as outras dobras mantidas fora do encaixe do modelo da primeira e da segunda camada.
Se você estiver satisfeito com o desempenho, gere previsões fora da amostra para os modelos da primeira camada nas cinco dobras e ajuste o modelo da segunda camada nessas. Em seguida, ajuste os modelos da primeira camada uma última vez em todos os seus dados e use-os com o modelo da segunda camada em qualquer novo dado!
Finalmente, alguns conselhos gerais. Você terá mais benefícios se seus modelos de primeira camada forem bastante distintos um do outro. Você está no caminho certo aqui, usando SVM e árvores de decisão, que são bem diferentes umas das outras. Como existe um efeito de média do modelo da segunda camada, convém tentar sobreajustar os modelos da primeira camada de maneira incremental, principalmente se você tiver muitos deles. A segunda camada é geralmente algo simples e restrições como não negatividade de pesos e monotonicidade são comuns. Por fim, lembre-se de que o empilhamento depende da validação cruzada, que é apenas uma estimativa do risco real. Se você obtiver taxas de erro muito diferentes e pesos de modelo muito diferentes nas dobras, isso indica que sua estimativa de risco baseada em CV tem alta variação. Nesse caso, você pode considerar uma mistura simplesdos seus modelos de primeira camada. Ou você pode comprometer empilhando com restrições sobre o peso máximo / mínimo colocado em cada modelo de primeira camada.