L’apprentissage automatique (Machine Learning) est en vogue partout !
Qu’est-ce que le “Machine Learning” (ML) ?
Prenons un exemple pratique. Si vous pouviez imaginer la probabilité du résultat d’une tâche effectuée pour la première fois – disons qu’il s’agit d’apprendre à conduire une voiture. En d’autres termes, quel serait votre retour d’expérience ? Avec l’incertitude ?
D’un autre côté, comment aimeriez-vous vous féliciter pour la même tâche après quelques années de pratique ? Il est probable que votre état d’esprit soit passé du paramètre de l’incertitude à celui de la certitude. Alors, comment avez-vous acquis cette expertise dans cette tâche ?
Très probablement, vous avez acquis de l’expérience en modifiant certains paramètres, et votre performance s’est améliorée. C’est ce que nous appelons l’apprentissage automatique C’est ce qu’on appelle l’apprentissage automatique.
On dit d’un programme informatique qu’il apprend de son expérience (E) sur certaines tâches (T) pour donner le résultat le plus performant (P).
Dans le même ordre d’idées, les machines apprennent grâce à des concepts mathématiques complexes, et toutes les données qu’elles utilisent se présentent sous la forme de 0 et de 1. Par conséquent, nous ne codons pas la logique de notre programme ; nous voulons plutôt qu’une machine trouve elle-même la logique à partir des données.
En outre, si vous souhaitez trouver la relation entre l’expérience, le niveau d’emploi, les compétences rares et le salaire, vous devez enseigner des algorithmes d’apprentissage automatique.
Selon cette étude de cas, vous devez modifier les caractéristiques pour obtenir les étiquettes. Mais vous ne codez pas l’algorithme et vous devez vous concentrer sur les données.
Par conséquent, le concept est le suivant : données, algorithme = connaissances. Deuxièmement, les algorithmes sont déjà développés pour nous, et nous devons savoir quel algorithme utiliser pour résoudre nos problèmes. Examinons le problème de la régression et la meilleure façon de choisir un algorithme.
Aperçu de l’apprentissage automatique
Selon Andreybu, un scientifique allemand ayant plus de 5 ans d’expérience dans l’apprentissage automatique, “si vous pouvez comprendre si la tâche d’apprentissage automatique est un problème de régression ou de classification, alors le choix du bon algorithme est un jeu d’enfant”
Pour résumer, la principale différence entre ces deux types d’apprentissage est que la variable de sortie de la régression est numérique (ou continue), tandis que celle de la classification est catégorique (ou discrète).
La régression dans l’apprentissage automatique
Pour commencer, les algorithmes de régression tentent d’estimer la fonction de correspondance (f) entre les variables d’entrée (x) et les variables de sortie numériques ou continues (y). La variable de sortie peut être une valeur réelle, qui peut être un nombre entier ou une valeur à virgule flottante. Par conséquent, les problèmes de prédiction de régression concernent généralement des quantités ou des tailles.
Par exemple, si l’on vous fournit un ensemble de données sur les maisons et que l’on vous demande de prédire leurs prix, il s’agit d’une tâche de régression car le prix sera une sortie continue.
Parmi les algorithmes de régression courants, citons la régression linéaire, la régression vectorielle de soutien (SVR) et les arbres de régression.
La classification dans l’apprentissage automatique
En revanche, dans le cas des algorithmes de classification, y est une catégorie que la fonction de mise en correspondance prédit. En d’autres termes, pour une ou plusieurs variables d’entrée, un modèle de classification tentera de prédire la valeur d’une ou de plusieurs conclusions.
Par exemple, si vous disposez d’un ensemble de données sur les maisons, un algorithme de classification peut essayer de prédire si les prix des maisons “se vendent plus ou moins que le prix de vente recommandé” Il s’agit ici de deux catégories distinctes : supérieur ou inférieur au prix indiqué.
Parmi les algorithmes de classification courants, citons la régression logistique, Naïve Bayes, les arbres de décision et les K plus proches voisins.
Choisir les bons algorithmes
Comprenez vos données
- Jetez un coup d’œil aux statistiques récapitulatives
- Utilisez le paramètre “Percentile” pour identifier les fourchettes des données
- Les moyennes et les médianes décrivent la tendance centrale
- Les corrélations peuvent indiquer des relations fortes
Visualisez les données
- Les diagrammes en boîte peuvent indiquer des exceptions.
- Les diagrammes de densité et les histogrammes montrent la dispersion des données
- Les diagrammes de dispersion peuvent décrire les relations quantitatives
Nettoyer les données
- Traiter une valeur manquante. Le résultat est soumis à des résultats sensibles dans le cas présent (les données manquantes pour certaines variables peuvent donner lieu à des prédictions inexactes)
- Bien que les modèles arborescents soient moins sensibles à la présence de valeurs aberrantes, les modèles régressifs ou d’autres modèles utilisant des équations sont plus sensibles aux exceptions
- En fait, les valeurs aberrantes peuvent être le résultat d’une mauvaise collecte de données ou être des valeurs extrêmes légitimes
Coiffez les données
En outre, tout en convertissant les données brutes en des données polies conformes aux modèles, il convient de veiller à ce qui suit :
- Faciliter l’interprétation des données.
- Saisir les données plus complexes.
- Se concentrer sur la réduction de la redondance et de la dimensionnalité des données.
- Normaliser les valeurs des variables.
Catégoriser le problème à l’aide des variables d’entrée
- Vous disposez de données étiquetées ; il s’agit d’un problème d’apprentissage supervisé.
- Si vous disposez de données non étiquetées et que vous souhaitez trouver une structure, il s’agit d’un problème d’apprentissage non supervisé.
- Si vous souhaitez optimiser une fonction objective en interagissant avec un environnement, il s’agit d’un problème d’apprentissage par renforcement.
Catégoriser le problème à l’aide de la variable de sortie
- Si la sortie de votre modèle est un nombre, il s’agit d’un problème de régression.
- Lorsque la sortie de votre modèle est une classe, il s’agit d’un problème de classification.
- La sortie de votre modèle est un ensemble de groupes d’entrée ; il s’agit d’un problème de regroupement.
Le facteur de contrainte
- Prenez note de la capacité de stockage, qui varie selon les modèles.
- La prédiction doit-elle être rapide ? Par exemple, dans des scénarios en temps réel tels que la classification des panneaux de signalisation, la prédiction doit être aussi rapide que possible pour éviter les accidents.
Enfin, trouvez l’algorithme
Maintenant que vous avez une image claire de vos données, vous pouvez mettre en œuvre les outils appropriés pour choisir le bon algorithme.
En attendant, pour une meilleure décision, voici une liste de contrôle des facteurs à prendre en compte :
- Voyez si le modèle correspond à votre objectif commercial
- Quel est le niveau de prétraitement requis par le modèle ?
- Vérifiez la précision du modèle
- Dans quelle mesure le modèle est-il explicable ?
- La rapidité du modèle : Combien de temps faut-il pour construire un modèle et combien de temps faut-il au modèle pour faire des prédictions ?
- L’évolutivité du modèle
En outre, il convient de prêter attention à la complexité de l’algorithme lors du choix.
D’une manière générale, vous pouvez mesurer la complexité du modèle à l’aide des paramètres :
- Lorsqu’il nécessite deux ou plus de dix caractéristiques pour apprendre et prédire la cible
- Il s’appuie sur une ingénierie des caractéristiques plus complexe (par exemple, en utilisant des termes polynomiaux, des interactions ou des composantes principales)
- Lorsque le scénario a une surcharge de calcul plus importante (par exemple, un arbre de décision unique par rapport à une forêt aléatoire de 100 arbres)
En outre, le même algorithme peut être rendu plus complexe manuellement. Cela dépend uniquement du nombre de paramètres pris en compte et du scénario considéré. Par exemple, vous pouvez concevoir un modèle de régression avec davantage de caractéristiques ou de termes polynomiaux et de termes d’interaction. Vous pouvez également concevoir un arbre de décision moins profond.
Algorithmes courants d’apprentissage automatique
Régression linéaire
Il s’agit probablement des algorithmes les plus simples.
Voici quelques exemples d’utilisation de la régression linéaire :
- Premièrement, lorsqu’il est temps de passer d’un endroit à un autre
- Prévoir les ventes d’un produit particulier le mois prochain
- Impact du taux d’alcoolémie sur la coordination
- Prévoir les ventes mensuelles de cartes-cadeaux et améliorer les prévisions de recettes annuelles
Régression logistique
Apparemment, cet algorithme présente de nombreux avantages : intégration d’un plus grand nombre de fonctions, facilité d’interprétation, facilité de mise à jour pour annexer de nouvelles données.
En d’autres termes, vous pouvez l’utiliser pour :
- Prévoir l’attrition de la clientèle.
- Le cas particulier de l’évaluation du crédit ou de la détection des fraudes.
- Mesurer l’efficacité des campagnes de marketing.
Arbres de décision
Apparemment, les arbres individuels sont rarement utilisés, mais en composition, avec beaucoup d’autres, ils construisent des algorithmes efficaces tels que Random Forest ou Gradient Tree Boosting.
Les arbres sont excellents pour
- Les décisions d’investissement
- Défauts de remboursement de prêts bancaires
- Qualification des prospects
Cependant, l’un de leurs inconvénients est qu’ils ne prennent pas en charge l’apprentissage en ligne, ce qui signifie que vous devez reconstruire votre arbre lorsque de nouveaux exemples apparaissent.
Naive Bayes
Plus important encore, Naive Bayes est le bon choix lorsque les ressources en mémoire et en CPU sont un facteur limitant.
Il peut être utilisé pour
- Reconnaissance des visages
- Marquer un courriel comme spam ou non.
- L’analyse des sentiments et la classification des textes.
Cependant, son principal inconvénient est qu’il ne peut pas apprendre les interactions entre les caractéristiques.
Conclusion
Par conséquent, en règle générale, dans un scénario en temps réel, il est assez difficile de trouver l’algorithme d’apprentissage automatique qui convient le mieux. Cependant, vous pouvez utiliser cette liste de contrôle pour présélectionner quelques algorithmes à votre convenance.
En outre, pour opter pour la bonne solution à un problème réel, il faut une compréhension experte de l’entreprise ainsi que le bon algorithme. Apprenez donc à vos données à utiliser les bons algorithmes, exécutez-les tous en parallèle ou en série et, à la fin, évaluez les performances des algorithmes pour sélectionner le(s) meilleur(s).