Métodos para coletar conjuntos de algoritmos de aprendizado de máquina: empilhamento, ensacamento, impulso

O que são conjuntos de modelos?

Como o nome sugere, um conjunto são apenas alguns algoritmos de aprendizado de máquina reunidos. Essa abordagem é frequentemente usada para aumentar as "qualidades positivas" de algoritmos individuais, que por si só podem funcionar mal, mas em um grupo - um conjunto, dá um bom resultado. Ao usar métodos de conjunto, os algoritmos aprendem simultaneamente e podem corrigir os erros uns dos outros. Exemplos típicos de métodos destinados a unir alunos "fracos" em um grupo de alunos fortes são (Fig. 1):





  • Estacando . Modelos individuais diferentes podem ser considerados. Existe um metamodelo, que usa modelos básicos como entrada e a previsão final é a saída.





  • Bagging. Modelos homogêneos são considerados, que são treinados independentemente e em paralelo, e então seus resultados são simplesmente calculados. Um representante notável desse método é a floresta aleatória.





  • Boosting. Consideramos modelos homogêneos que são treinados sequencialmente, e o modelo subsequente deve corrigir os erros do anterior. Claro, o aumento de gradiente vem à mente como um exemplo aqui.





Imagem 1
Imagem 1

Esses três métodos serão discutidos em mais detalhes abaixo.





Estacando

. . sklearn.ensemble python AdaBoost, Bagging, GradientBoosting, Stacking ( ).





: . , (SVM), k- (KNN) . . ( ), - .





(. 2):





  • k ( , -).





  • , k- , , k-1 . .





  • .





  • .





    Figura 2
    2

:













, .





, , . , , , .





, , , . , , . n , n - . , ~ 0.632*n . , m m .





. , .





, , (. 3). ai .





Figura 3
3

(. 4):





Figura 4
4





() , , - . , , . , , . , , (. 5). .





Figura 5
5

:













, , . , - , , . : - .





, . , , .





Figura 6
6

: AdaBoost. - , (. 6).





. :





  • , .









  • ,





  • , ,





- AdaBoost, , , . , , .





:





, AdaBoost-





, AdaBoost-





Assim, vimos que, para melhorar a qualidade de funcionamento de modelos de aprendizado de máquina individuais, existem várias técnicas para combiná-los em conjuntos. Essas técnicas já estão embutidas em produtos de software e você pode usá-las para melhorar sua solução. No entanto, do meu ponto de vista, ao resolver um problema, você não deve assumi-los imediatamente. É melhor primeiro tentar um modelo simples e separado, entender como ele funciona em dados específicos e, em seguida, usar conjuntos.








All Articles