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, comment réagissez-vous ? Avec l'incertitude ?
D'un autre côté, comment aimeriez-vous vous évaluer pour la même tâche après quelques années de pratique ? Vous auriez probablement changé d'état d'esprit, passant 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 à l'aide de concepts mathématiques complexes, et toutes les données qui les concernent 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"

En résumé, 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
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 plages de 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
Nettoyez 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
Cultiver 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 des 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 de la variable 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 en fonction 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, soyez 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 faut 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 présente 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
Les 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
- Tout d'abord, lorsqu'il est temps de se rendre 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 simples sont rarement utilisés, mais en composition, avec beaucoup d'autres, ils construisent des algorithmes efficaces tels que Random Forest ou Gradient Tree Boosting. Cependant, l'un de leurs inconvénients est qu'ils ne prennent pas en charge l'apprentissage en ligne, de sorte que vous devez reconstruire votre arbre lorsque de nouveaux exemples apparaissent
Les arbres sont excellents pour
- Décisions d'investissement
- Défauts de remboursement de prêts bancaires
- Qualification des prospects
Bayes naïfs
Naive Bayes est un choix judicieux lorsque les ressources en mémoire et en CPU sont un facteur limitant. Cependant, son principal inconvénient est qu'il ne peut pas apprendre les interactions entre les caractéristiques
Il peut être utilisé pour
- Reconnaissance des visages
- Marquer un courriel comme spam ou non.
- L'analyse des sentiments et la classification des textes.
Conclusion
En règle générale, dans un scénario en temps réel, il est donc difficile de trouver l'algorithme d'apprentissage automatique qui convient le mieux. Toutefois, vous pouvez utiliser cette liste de contrôle pour 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. Enseignez donc vos données aux 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) d'entre eux
Si vous souhaitez vous spécialiser dans l'apprentissage profond, vous pouvez consulter ce cours sur l'apprentissage profond.