L'apprentissage en ensemble fait référence à plusieurs méthodes différentes. Le boosting et l'ensachage sont probablement les deux plus courants. Il semble que vous tentiez de mettre en œuvre une méthode d'apprentissage d'ensemble appelée empilement . L'empilement vise à améliorer la précision en combinant les prédictions de plusieurs algorithmes d'apprentissage. Il y a plusieurs façons de faire l'empilement et pas beaucoup de théorie rigoureuse. C'est intuitif et populaire cependant.
Considérez l'approche de votre ami. Vous ajustez les modèles de première couche sur quatre plis sur cinq, puis vous ajustez le modèle de deuxième couche (vote) en utilisant les quatre mêmes plis. Le problème est que la deuxième couche favorisera le modèle avec l'erreur d'apprentissage la plus faible. Vous utilisez les mêmes données pour ajuster les modèles et concevoir une procédure pour agréger ces modèles. La deuxième couche devrait combiner les modèles en utilisant des prédictions hors échantillon . Votre méthode est meilleure, mais il existe un moyen de faire encore mieux.
Nous continuerons de laisser de côté un seul élément à des fins de test. Prenez les quatre plis et utilisez le CV 4 fois pour obtenir des prédictions hors échantillon pour chacun de vos modèles de première couche sur les quatre plis. Autrement dit, omettez l'un des quatre plis et ajustez les modèles sur les trois autres, puis prédisez sur les données retenues. Répétez l'opération pour les quatre plis afin d'obtenir des prédictions hors échantillon sur les quatre plis. Ajustez ensuite le modèle de la deuxième couche sur ces prédictions hors échantillon. Ensuite, ajustez à nouveau les modèles de première couche sur les quatre plis. Vous pouvez maintenant passer au cinquième pli que vous n'avez pas encore touché. Utilisez les premiers modèles de calque ajustés sur les quatre plis avec le deuxième modèle de calque pour estimer l'erreur sur les données retenues. Vous pouvez répéter ce processus à nouveau avec les autres plis maintenus hors de l'ajustement du modèle de première et deuxième couche.
Si vous êtes satisfait des performances, générez des prédictions hors échantillon pour les modèles de première couche sur les cinq plis, puis ajustez le modèle de deuxième couche sur ceux-ci. Ajustez ensuite les modèles de première couche une dernière fois sur toutes vos données et utilisez-les avec le modèle de deuxième couche sur toutes les nouvelles données!
Enfin, quelques conseils généraux. Vous obtiendrez plus d'avantages si vos modèles de première couche sont assez distincts les uns des autres. Vous êtes sur la bonne voie ici en utilisant SVM et des arbres de décision, qui sont assez différents les uns des autres. Puisqu'il y a un effet de moyenne du modèle de deuxième couche, vous voudrez peut-être essayer de sur-ajuster vos modèles de première couche progressivement, en particulier si vous en avez beaucoup. La deuxième couche est généralement quelque chose de simple et les contraintes comme la non-négativité des poids et la monotonie sont courantes. Enfin, n'oubliez pas que l'empilement repose sur la validation croisée, qui n'est qu'une estimation du risque réel. Si vous obtenez des taux d'erreur très différents et des poids de modèle très différents selon les plis, cela indique que votre estimation du risque basée sur le cv présente une variance élevée. Dans ce cas, vous pouvez envisager un simple mélangede vos modèles de première couche. Ou, vous pouvez faire des compromis en empilant avec des contraintes sur le poids max / min placé sur chaque modèle de première couche.