Il y a ce buzz partout - Machine Learning!
Alors, qu'est-ce que c'est «Machine Learning (ML)?»
Prenons un exemple pratique. Si vous pouviez imaginer la probabilité du résultat d'une tâche accomplie pour la première fois, disons que le travail consiste à apprendre à conduire une voiture. C'est-à-dire, comment feriez-vous un retour d'expérience vous-même ?. Avec 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? Votre état d'esprit serait probablement passé du paramètre d'incertitude ou d'un paramètre plus certain. 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 vos performances se sont améliorées. Droite? C'est Machine Learning.
On dit qu'un programme informatique apprend de l'expérience (E) sur certaines tâches (T) pour donner le meilleur résultat (P).
Dans la même veine, les machines apprennent par certains concepts mathématiques complexes, et toutes les données pour eux sont sous la forme de 0 et 1. Par conséquent, nous ne codons pas la logique de notre programme; au lieu de cela, nous voulons qu'une machine découvre seule la logique des données.
De plus, 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 fonctionnalités 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 Données + Algorithme = Insights. 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. Jetons un coup d'œil au problème de régression et à la meilleure façon de choisir un algorithme.
The Machine Learning Overview
Selon Andreïbou, un scientifique allemand avec plus de 5 ans d'expérience en apprentissage automatique, «Si vous pouvez comprendre si la tâche d'apprentissage automatique est un problème de régression ou de classification, alors choisir le bon algorithme est un jeu d'enfant.»

Pour énumérer, la principale différence entre eux est que la variable de sortie dans la régression est numérique (ou continue) alors que celle pour la classification est catégorielle (ou discrète).
Régression dans l'apprentissage automatique
Pour commencer, les algorithmes de régression tentent d'estimer la fonction de mappage (f) des variables d'entrée (x) aux variables de sortie numériques ou continues (y). Désormais, la variable de sortie peut être une valeur réelle, qui peut être un entier ou une valeur à virgule flottante. Par conséquent, les problèmes de prédiction de régression sont généralement des quantités ou des tailles.
Par exemple, si un ensemble de données sur les maisons vous est fourni 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.
Des exemples d'algorithmes de régression courants incluent la régression linéaire, 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 mappage prédit. Pour élaborer, 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 détail recommandé». Voici les deux catégories discrètes: au-dessus ou au-dessous dudit prix.
Des exemples d'algorithmes de classification courants incluent la régression logistique, les Bayes naïfs, les arbres de décision et les K Nearest Neighbours.
Choosing the Right Algorithms

Comprenez vos données
- Jetez un œil aux statistiques récapitulatives
- Utilisez le paramètre 'Percentile' pour identifier les plages de données
- Les moyennes et médianes décrivent la tendance centrale
- Les corrélations peuvent indiquer des relations solides
Visualisez les données
- Les boîtes à moustaches peuvent indiquer des exceptions.
- Les graphiques de densité et les histogrammes montrent la répartition des données
- Les nuages de points peuvent décrire les relations de quantité
Nettoyez les données

- Traitez une valeur manquante. Le résultat est soumis pour donner des résultats sensibles dans le cas (des données manquantes pour certaines variables peuvent entraîner 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
- Fondamentalement, les valeurs aberrantes peuvent être le résultat d'une mauvaise collecte de données, ou elles peuvent être des valeurs extrêmes légitimes
Organiser les données
De plus, lors de la conversion des données brutes en une donnée polie conforme aux modèles, il faut prendre soin de ce qui suit:
- Rendre les données plus faciles à interpréter.
- Capturez des données plus complexes.
- Concentrez-vous sur la réduction de la redondance et de la dimensionnalité des données.
- Normaliser les valeurs des variables.
Catégoriser le problème grâce à une variable d'entrée
- Vous avez des données étiquetées; c'est un problème d'apprentissage supervisé.
- Si vous avez des données non étiquetées et que vous souhaitez trouver une structure, c'est un problème d'apprentissage non supervisé.
- Dans le cas où vous souhaitez optimiser une fonction objectif en interagissant avec un environnement, il s'agit d'un apprentissage par renforcement problème.
Catégoriser le problème par la variable de sortie
- La sortie de votre modèle est un nombre; c'est 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; c'est un problème de clustering.
Le facteur de contrainte
- Prenez note de la capacité de stockage car elle varie selon les modèles.
- La prédiction doit-elle être rapide? Par exemple, dans des scénarios en temps réel comme 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 pour vous:
- Vérifiez si le modèle correspond à votre objectif commercial
- Combien de prétraitement le modèle nécessite
- Vérifiez la précision du modèle
- À quel point le modèle est-il explicable
- La vitesse du modèle: combien de temps faut-il pour créer un modèle et combien de temps le modèle prend-il pour faire des prédictions
- L'évolutivité du modèle
Pour ajouter, il faut faire attention à la complexité de l'algorithme lors du choix.
De manière générale, vous pouvez mesurer la complexité du modèle à l'aide des paramètres:
- Quand il faut deux ou plus de dix fonctionnalités pour apprendre et prédire la cible
- Il repose sur une ingénierie de caractéristiques plus complexe (par exemple, en utilisant des termes polynomiaux, des interactions ou des composants principaux)
- Lorsque le scénario a plus de surcharge de calcul (par exemple, un seul arbre de décision 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 complétés et du scénario considéré. Par exemple, vous pouvez concevoir un modèle de régression avec plus d'entités ou de termes polynomiaux et de termes d'interaction. Ou, vous pouvez concevoir un arbre de décision avec moins de profondeur.
The Common Machine Learning Algorithms
Régression Linéaire
Ce sont probablement les plus simples.
Rares sont les exemples où la régression linéaire est utilisée:
- Premièrement, quand il est temps d'aller d'un endroit à un autre
- Prédire les ventes d'un produit particulier le mois prochain
- Impact de l'alcoolémie sur la coordination
- Prévoyez les ventes mensuelles de cartes-cadeaux et améliorez les projections de revenus annuels
Régression logistique
Apparemment, il y a beaucoup d'avantages à cet algorithme - l'intégration de plus de fonctionnalités avec une belle fonction d'interprétation, une facilité de mise à jour facile pour annexer de nouvelles données.
Pour le dire différemment, vous pouvez l'utiliser pour:
- Prédire le roulement des clients.
- Le cas particulier de la notation de crédit ou de la détection de fraude.
- Mesurer l'efficacité des campagnes marketing.
Arbres de décision
Apparemment, les arbres uniques 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 des inconvénients est qu'ils ne prennent pas en charge l'apprentissage en ligne, vous devez donc reconstruire votre arbre lorsque de nouveaux exemples apparaissent.
Les arbres sont excellents pour:
- Les décisions d'investissement
- Défaillants de prêt bancaire
- Qualifications des responsables des ventes
Naïf Bayes
Plus important encore, Naive Bayes est un bon choix lorsque les ressources CPU et mémoire sont un facteur limitant. Cependant, son principal inconvénient est qu'il ne peut pas apprendre les interactions entre les fonctionnalités.
Il peut être utilisé pour:
- reconnaissance des visages
- Pour marquer un e-mail comme spam ou non.
- Analyse des sentiments et classification de texte.
Conclusion
Par conséquent, de manière générale, dans un scénario en temps réel, il est quelque peu difficile de choisir le bon algorithme d'apprentissage automatique à cette fin. Cependant, vous pouvez utiliser cette liste de contrôle pour sélectionner quelques algorithmes à votre convenance.
De plus, opter pour la bonne solution à un problème réel nécessite une compréhension professionnelle experte ainsi que le bon algorithme. Alors, apprenez à vos données 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).
Si vous cherchez à vous spécialiser dans l'apprentissage en profondeur, vous pouvez consulter ce cours par apprentissage profond.