Quelles sont les similitudes et les différences entre ces 3 méthodes:
- Ensachage,
- Boosting,
- Empiler?
Quel est le meilleur? Et pourquoi?
Pouvez-vous me donner un exemple pour chacun?
machine-learning
boosting
ensemble
bagging
model-averaging
Bucsa Lucian
la source
la source
Réponses:
Tous les trois sont dits « méta-algorithmes »: les approches de combiner plusieurs techniques d'apprentissage machine dans un modèle prédictif afin de diminuer la variance ( ensachage ), le biais ( renforcement ) ou en améliorant la force prédictive ( empilement alias ensemble ).
Chaque algorithme comprend deux étapes:
Produire une distribution de modèles ML simples sur des sous-ensembles de données originales.
Combinaison de la distribution dans un modèle "agrégé".
Voici une brève description des trois méthodes:
Ensachage (signifie B ootstrap Agg regat ing ) est un moyen de diminuer la variance de votre prédiction en générantdonnées supplémentaires pourformation de votre ensembledonnéesorigineutilisant des combinaisons avec des répétitions pour produire multijeux du même cardinalité / taille que vos donnéesorigine. En augmentant la taille de votre ensemble d'entraînement, vous ne pouvez pas améliorer la force prédictive du modèle, mais simplement réduire la variance, en ajustant étroitement la prédiction au résultat attendu.
Le boosting est une approche en deux étapes, dans laquelle on utilise d’abord des sous-ensembles de données originales pour produire une série de modèles moyennement performants, puis "booste" leur performance en les combinant à l’aide d’une fonction de coût particulière (= vote majoritaire). Contrairement à l'ensachage, dans le classique, stimuler la création de sous-ensembles n'est pas aléatoire et dépend des performances des modèles précédents: chaque nouveau sous-ensemble contient les éléments qui ont été (probablement) mal classés par les modèles précédents.
L'empilement s'apparente au renforcement: vous appliquez également plusieurs modèles à vos données d'origine. Cependant, la différence réside dans le fait que vous n’avez pas seulement une formule empirique pour votre fonction de pondération, mais que vous introduisez un méta-niveau et utilisez un autre modèle / approche pour estimer les entrées avec les sorties de chaque modèle pour estimer les poids ou les valeurs. , en d’autres termes, pour déterminer quels modèles fonctionnent bien et quels sont les résultats obtenus avec ces données d’entrée.
Voici un tableau de comparaison:
Comme vous le voyez, toutes ces approches sont différentes pour combiner plusieurs modèles en un modèle meilleur, et il n’ya pas de gagnant ici: tout dépend de votre domaine et de ce que vous allez faire. Vous pouvez toujours traiter l' empilement comme une sorte de plus avancées stimulant , cependant, la difficulté de trouver une bonne approche pour votre méta-niveau, il est difficile d'appliquer cette approche dans la pratique.
Quelques exemples de chacun:
la source
Ensachage :
ensemble parallèle : chaque modèle est construit indépendamment
viser à diminuer la variance , pas les biais
convient aux modèles à faible biais et à faible variance (modèles complexes)
un exemple de méthode basée sur les arbres est la forêt aléatoire , qui développe des arbres pleinement développés (notez que RF modifie la procédure de croissance pour réduire la corrélation entre les arbres)
Boosting :
ensemble séquentiel : essayez d'ajouter de nouveaux modèles qui fonctionnent bien là où les modèles précédents manquent
viser à réduire les biais , pas la variance
convient aux modèles à faible biais et à forte variance
un exemple de méthode basée sur l’arbre est le boosting de gradient
la source
Juste pour élaborer un peu sur la réponse de Yuqian. L'idée sous-jacente à l'ensachage est que lorsque vous suréPAREZ avec une méthode de régression non paramétrique (généralement des arbres de régression ou de classification, mais qu'il peut s'agir de n'importe quelle méthode non paramétrique), vous avez tendance à passer à la partie à forte variance, sans biais (ou à biais faible). / compromis de variance. En effet, un modèle de surajustement est très flexible (biais si faible sur de nombreux rééchantillons de la même population, si ceux-ci étaient disponibles), mais présente une forte variabilité (si je collecte et suréforme un échantillon, et que vous collectez un échantillon et surajustement les résultats seront différents car la régression non paramétrique suit le bruit dans les données). Que pouvons-nous faire? Nous pouvons prendre de nombreux rééchantillons (à partir de l’amorçage), chaque surajustement, et les calculer en moyenne. Cela devrait conduire au même biais (faible) mais annuler une partie de la variance,
L’amélioration du gradient à son cœur fonctionne avec les régressions non paramétriques de UNDERFIT, trop simples et qui ne sont donc pas assez souples pour décrire la relation réelle dans les données (c’est-à-dire biaisées), mais parce qu’elles sont mal ajustées, elles ont obtenir le même résultat si vous collectez de nouveaux jeux de données). Comment corrigez-vous cela? Fondamentalement, si vous êtes en mauvais état, les RESIDUALS de votre modèle contiennent toujours une structure utile (informations sur la population), de sorte que vous augmentez l’arbre que vous avez (ou tout prédicteur non paramétrique) avec un arbre construit sur les résidus. Cela devrait être plus flexible que l'arbre d'origine. Vous générez de plus en plus d'arbres, chacun à l'étape k, augmenté d'un arbre pondéré basé sur un arbre ajusté aux résidus de l'étape k-1. Un de ces arbres devrait être optimal, vous devez donc soit pondérer tous ces arbres ensemble, soit en choisir un qui vous semble le mieux adapté. Ainsi, l’intensification du gradient est un moyen de créer un ensemble d’arbres candidats plus flexibles.
Comme pour toutes les approches de régression ou de classification non paramétriques, parfois, mettre en sac ou relancer fonctionne très bien, parfois l’une ou l’autre approche est médiocre, et parfois l’une ou l’autre des approches (ou les deux) s’effondrent.
De plus, ces deux techniques peuvent être appliquées à des méthodes de régression autres que les arbres, mais elles sont le plus souvent associées à des arbres, peut-être parce qu’il est difficile de définir des paramètres afin d’éviter les erreurs d’ajustement ou de surajustement.
la source
Voir mon article sur le blog d'apprentissage
Sources pour cette image:
la source
Pour résumer, l’ ensachage et le renforcement sont normalement utilisés dans un algorithme, tandis que l’ empilement est généralement utilisé pour résumer plusieurs résultats d’algorithmes différents.
Random Forest
, ce qui élimine la variance et n'entraîne pas de problème de surajustement.GBM
etXGBoost
, ce qui élimine la variance mais ont question overfitting.la source
l’ensachage et le rappel utilisent un seul algorithme d’apprentissage pour toutes les étapes; mais ils utilisent des méthodes différentes pour la manipulation des échantillons d'apprentissage. les deux sont des méthodes d'apprentissage d'ensemble combinant des décisions issues de plusieurs modèles.
Mise en sac :
1. rééchantillonne les données d'apprentissage pour obtenir M sous-ensembles (amorçage);
2. forme M classificateurs (même algorithme) sur la base de M jeux de données (échantillons différents);
3. Le classificateur final combine M sorties en votant;
le poids des échantillons est égal;
les classificateurs pèsent également;
diminue l'erreur en diminuant la variance.
Boosting : concentrez-vous ici sur l'algorithme adaboost
1. commencez avec un poids égal pour tous les échantillons du premier tour;
2. dans les tours suivants M-1, augmentez le poids des échantillons mal classés lors du dernier tour, diminuez le poids des échantillons correctement classés au dernier tour
3. en utilisant un vote pondéré, le classificateur final combine plusieurs classificateurs des tours précédents et donne des poids plus importants aux classificateurs avec moins de erreurs de classification.
repasser les échantillons par étapes; poids pour chaque tour basé sur les résultats des
échantillons du dernier tour ( poids) au lieu du ré-échantillonnage (ensachage).
la source
L'ensachage et le boosting ont tendance à utiliser de nombreux modèles homogènes.
L'empilement combine les résultats de types de modèles hétérogènes.
Comme aucun type de modèle ne correspond le mieux à toute distribution, vous pouvez comprendre pourquoi cela peut augmenter le pouvoir de prévision.
la source