Stimulation de l'apprentissage automatique : qu'est-ce que c'est, fonctions, types et fonctionnalités
Publié: 2020-05-29Le boosting en Machine Learning est un sujet important. De nombreux analystes sont confus quant à la signification de ce terme. C'est pourquoi, dans cet article, nous allons découvrir ce qu'on entend par booster le Machine Learning et comment cela fonctionne. Le boosting aide les modèles ML à améliorer la précision de leurs prédictions. Discutons cet algorithme en détail:
Table des matières
Qu'est-ce que le Boosting en Machine Learning ?
Avant d'aborder la question du « boosting de l'apprentissage automatique », nous devons d'abord examiner la définition de ce terme. Stimuler signifie « encourager ou aider quelque chose à s'améliorer ». Le renforcement de l'apprentissage automatique fait exactement la même chose car il renforce les modèles d'apprentissage automatique et améliore leur précision. Pour cette raison, c'est un algorithme populaire en science des données.
Le boosting en ML fait référence aux algorithmes qui convertissent les modèles d'apprentissage faibles en modèles forts. Supposons que nous devions classer les e-mails dans les catégories 'Spam' et 'Not Spam'. Nous pouvons adopter l'approche suivante pour faire ces distinctions :
- Si l'e-mail ne contient qu'un seul fichier image, il s'agit d'un spam (car l'image est généralement promotionnelle)
- Si l'e-mail contient une phrase similaire à "Vous avez gagné à la loterie", il s'agit de spam.
- Si l'e-mail ne contient qu'un tas de liens, c'est du spam.
- Si l'e-mail provient d'une source présente dans notre liste de contacts, il ne s'agit pas d'un spam.
Maintenant, même si nous avons des règles de classification, pensez-vous qu'elles soient suffisamment fortes individuellement pour identifier si un e-mail est un spam ou non ? Ils ne sont pas. Individuellement, ces règles sont faibles et ne suffisent pas à classer un e-mail en 'Non Spam' ou 'Spam'. Nous devrons les rendre plus forts, et nous pouvons le faire en utilisant une moyenne pondérée ou en considérant la prédiction du vote le plus élevé.
Donc, dans ce cas, nous avons cinq classificateurs, dont trois classificateurs marquent l'e-mail comme "Spam", par conséquent, nous considérerons un e-mail "Spam" par défaut, car cette classe a un vote plus élevé que "Pas de Spam". Catégorie.
Cet exemple était pour vous donner une idée de ce que sont les algorithmes de boosting. Ils sont plus complexes que cela.

Jetez un oeil à: 25 questions et réponses d'entrevue sur l'apprentissage automatique
Comment travaillent-ils?
L'exemple ci-dessus nous a montré que le boosting combine des apprenants faibles pour former des règles strictes. Alors, comment identifieriez-vous ces règles faibles ? Pour trouver une règle incertaine, vous devrez utiliser des algorithmes d'apprentissage basés sur des instances. Chaque fois que vous appliquez un algorithme d'apprentissage de base, cela produit une règle de prédiction faible. Vous répéterez ce processus pour plusieurs itérations, et à chaque itération, l'algorithme de boost combinera les règles faibles pour former une règle forte.
L'algorithme de boosting choisit la bonne distribution pour chaque itération en plusieurs étapes. Tout d'abord, il prendra toutes les différentes allocations et leur attribuera un poids égal. Si le premier algorithme d'apprentissage de base fait une erreur, cela ajoutera plus de poids à ces observations. Après avoir attribué un poids, nous passons à l'étape suivante.
Dans cette étape, nous continuerons à répéter le processus jusqu'à ce que nous augmentions la précision de notre algorithme. Nous combinerons ensuite la sortie des apprenants faibles et en créerons une forte qui renforcerait notre modèle et l'aiderait à faire de meilleures prédictions. Un algorithme de boosting se concentre davantage sur les hypothèses qui provoquent des erreurs élevées en raison de leurs règles faibles.
En savoir plus : 5 applications révolutionnaires de l'apprentissage automatique
Différents types d'algorithmes de boosting
Les algorithmes de boosting peuvent utiliser de nombreux types de moteurs sous-jacents, notamment des maximiseurs de marge, des tampons de décision, etc. Il existe principalement trois types d'algorithmes de renforcement de l'apprentissage automatique :
- Boosting adaptatif (également connu sous le nom d'AdaBoosta)
- Amplification du dégradé
- XGBoost
Nous aborderons brièvement les deux premiers, AdaBoost et Gradient Boosting, dans cet article. XGBoost est un sujet beaucoup plus compliqué, dont nous parlerons dans un autre article.
1. Boost adaptatif
Supposons que vous ayez une boîte qui a cinq plus et cinq moins. Votre tâche est de les classer et de les mettre dans différents tableaux.
Dans la première itération, vous attribuez des poids égaux à chaque point de données et appliquez une souche de décision dans la boîte. Cependant, la ligne ne sépare que deux plus du groupe, et tous les autres restent ensemble. Votre souche de décision (qui est une ligne qui traverse notre boîte supposée), ne parvient pas à prédire correctement tous les points de données et a placé trois plus avec les moins.

Dans la prochaine itération, nous attribuons plus de poids aux trois plus que nous avions manqués précédemment ; mais cette fois, la souche décisionnelle ne sépare que deux minutes du groupe. Nous allons attribuer plus de poids aux inconvénients que nous avons manqués dans cette itération et répéter le processus. Après une ou deux répétitions, nous pouvons combiner quelques-uns de ces résultats pour produire une règle de prédiction stricte.
AdaBoost fonctionne exactement comme ça. Il prédit d'abord en utilisant les données d'origine et attribue un poids égal à chaque point. Ensuite, il attache une plus grande importance aux observations que le premier apprenant ne parvient pas à prédire correctement. Il répète le processus jusqu'à ce qu'il atteigne une limite dans la précision du modèle.
Vous pouvez utiliser des tampons de décision ainsi que d'autres algorithmes d'apprentissage automatique avec Adaboost.
Voici un exemple d'AdaBoost en Python :
depuis sklearn.ensemble importer AdaBoostClassifier
à partir de sklearn.datasets importer make_classification
X,Y = make_classification(n_samples=100, n_features=2, n_informative=2,
n_redondant=0, n_repeated=0, random_state=102)
clf = AdaBoostClassifier(n_estimators=4, random_state=0, algorithm='SAMME')
clf.fit(X, Y)
2. Amplification des dégradés
Gradient Boosting utilise la méthode de descente de gradient pour réduire la fonction de perte de l'ensemble de l'opération. La descente de gradient est un algorithme d'optimisation du premier ordre qui trouve le minimum local d'une fonction (fonction différentiable). L'amplification de gradient forme séquentiellement plusieurs modèles et peut adapter de nouveaux modèles pour obtenir une meilleure estimation de la réponse.
Il construit de nouveaux apprenants de base qui peuvent être corrélés avec le gradient négatif de la fonction de perte et qui sont connectés à l'ensemble du système. En Python, vous devrez utiliser Gradient Tree Boosting (également connu sous le nom de GBRT). Vous pouvez l'utiliser pour la classification ainsi que pour les problèmes de régression.
Voici un exemple de Gradient Tree Boosting en Python :
de sklearn.ensemble importer GradientBoostingRegressor
modèle = GradientBoostingRegressor(n_estimators=3,learning_rate=1)
model.fit(X,Y)
# pour le classement
de sklearn.ensemble importer GradientBoostingClassifier
modèle = GradientBoostingClassifier()

model.fit(X,Y)
Fonctionnalités de Boosting dans l'apprentissage automatique
Le boosting offre de nombreux avantages, et comme tout autre algorithme, il a aussi ses limites :
- L'interprétation des prédictions de boosting est assez naturelle car c'est un modèle d'ensemble.
- Il sélectionne implicitement les fonctionnalités, ce qui est un autre avantage de cet algorithme.
- Le pouvoir de prédiction des algorithmes de boosting est plus fiable que les arbres de décision et le bagging.
- La mise à l'échelle est quelque peu délicate car chaque estimateur du boosting est basé sur les estimateurs précédents.
Lisez aussi : Idées de projets d'apprentissage automatique pour les débutants
Où aller en partant d'ici?
Nous espérons que vous avez trouvé cet article sur le boosting utile. Tout d'abord, nous avons discuté de ce qu'est cet algorithme et de la manière dont il résout les problèmes d'apprentissage automatique. Ensuite, nous avons examiné son fonctionnement et son fonctionnement.
Nous avons également discuté de ses différents types. Nous avons découvert AdaBoost et Gradient Boosting tout en partageant leurs exemples. Si vous souhaitez en savoir plus sur l'apprentissage automatique, consultez le diplôme PG en apprentissage automatique et IA de IIIT-B & upGrad, conçu pour les professionnels en activité et offrant plus de 450 heures de formation rigoureuse, plus de 30 études de cas et missions, IIIT- Statut B Alumni, plus de 5 projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.
Comment puis-je définir le boosting dans l'apprentissage automatique en termes simples ?
Le boosting dans les machines consiste à se référer à des algorithmes qui permettent de convertir des modèles d'apprentissage faibles en modèles forts. Si nous prenons l'exemple de la classification des e-mails comme spam et non spam, certaines distinctions peuvent être utilisées pour faciliter la compréhension. Ces distinctions peuvent être abordées lorsqu'un e-mail contient un seul fichier, contient une phrase similaire comme Vous avez gagné à la loterie, contient un tas de liens et provient d'une liste de contacts.
Comment fonctionne un algorithme de boosting ?
Les règles faibles sont identifiées à l'aide d'algorithmes d'apprentissage basés sur des instances. Une fois qu'un algorithme d'apprentissage de base est appliqué en plusieurs itérations, il combine finalement les règles faibles en une seule règle forte. L'algorithme de boosting fait les bons choix pour répartir chaque itération en plusieurs étapes. Après avoir pris des allocations, il attribue un poids égal jusqu'à ce qu'une erreur soit commise, après quoi un poids supplémentaire est attribué. Ce processus est répété jusqu'à ce qu'une meilleure précision soit obtenue. Par la suite, toutes les sorties faibles sont combinées pour en faire une sortie forte.
Quels sont les différents types d'algorithmes de boosting et leurs fonctionnalités ?
Les différents types sont l'amplification adaptative, l'amplification de gradient et XGBoost. Le boosting a des caractéristiques telles qu'il sélectionne implicitement des fonctionnalités. Les arbres de décision sont moins fiables que les pouvoirs de prédiction. De plus, la mise à l'échelle est plus difficile car les estimateurs sont basés sur les précédents. Et l'interprétation des prédictions de boost est naturelle car il s'agit d'un modèle d'ensemble.