AI avec Python - Machine Learning

L'apprentissage signifie l'acquisition de connaissances ou de compétences par l'étude ou l'expérience. Sur cette base, nous pouvons définir l'apprentissage automatique (ML) comme suit -

Il peut être défini comme le domaine de l'informatique, plus spécifiquement une application de l'intelligence artificielle, qui fournit aux systèmes informatiques la capacité d'apprendre avec des données et de s'améliorer à partir de l'expérience sans être explicitement programmés.

Fondamentalement, l'objectif principal de l'apprentissage automatique est de permettre aux ordinateurs d'apprendre automatiquement sans intervention humaine. Maintenant, la question se pose de savoir comment un tel apprentissage peut être lancé et réalisé? Il peut être démarré avec les observations de données. Les données peuvent être des exemples, des instructions ou des expériences directes. Ensuite, sur la base de cette entrée, la machine prend une meilleure décision en recherchant des modèles dans les données.

Types d'apprentissage automatique (ML)

Les algorithmes d'apprentissage automatique aident le système informatique à apprendre sans être explicitement programmé. Ces algorithmes sont classés en supervisé ou non supervisé. Voyons maintenant quelques algorithmes -

Algorithmes d'apprentissage automatique supervisés

Il s'agit de l'algorithme d'apprentissage automatique le plus couramment utilisé. On l'appelle supervisé parce que le processus d'apprentissage de l'algorithme à partir de l'ensemble de données de formation peut être considéré comme un enseignant supervisant le processus d'apprentissage. Dans ce type d'algorithme ML, les résultats possibles sont déjà connus et les données d'entraînement sont également étiquetées avec des réponses correctes. Il peut être compris comme suit -

Supposons que nous ayons des variables d'entrée x et une variable de sortie y et nous avons appliqué un algorithme pour apprendre la fonction de mappage de l'entrée à la sortie telle que -

Y = f(x)

Maintenant, l'objectif principal est d'approximer la fonction de mappage si bien que lorsque nous avons de nouvelles données d'entrée (x), nous pouvons prédire la variable de sortie (Y) pour ces données.

Les problèmes d'inclinaison principalement supervisés peuvent être divisés en deux types de problèmes:

  • Classification - Un problème est appelé problème de classification lorsque nous avons des résultats catégorisés tels que «noir», «enseignement», «non-enseignement», etc.

  • Regression - Un problème est appelé problème de régression lorsque nous avons la sortie de valeur réelle telle que «distance», «kilogramme», etc.

Arbre de décision, forêt aléatoire, knn, régression logistique sont les exemples d'algorithmes d'apprentissage automatique supervisé.

Algorithmes d'apprentissage automatique non supervisés

Comme son nom l'indique, ces types d'algorithmes d'apprentissage automatique n'ont pas de superviseur pour fournir des conseils. C'est pourquoi les algorithmes d'apprentissage automatique non supervisés sont étroitement alignés sur ce que certains appellent la véritable intelligence artificielle. Il peut être compris comme suit -

Supposons que nous ayons la variable d'entrée x, alors il n'y aura pas de variables de sortie correspondantes comme c'est le cas dans les algorithmes d'apprentissage supervisé.

En termes simples, nous pouvons dire que dans l'apprentissage non supervisé, il n'y aura pas de réponse correcte et pas d'enseignant pour les conseils. Les algorithmes aident à découvrir des modèles intéressants dans les données.

Les problèmes d'apprentissage non supervisés peuvent être divisés en deux types de problèmes:

  • Clustering- Dans les problèmes de clustering, nous devons découvrir les regroupements inhérents aux données. Par exemple, regrouper les clients selon leur comportement d'achat.

  • Association- Un problème est appelé problème d'association car ce type de problème nécessite de découvrir les règles qui décrivent de grandes parties de nos données. Par exemple, trouver les clients qui achètent les deuxx et y.

K-means pour le clustering, l'algorithme Apriori pour l'association sont des exemples d'algorithmes d'apprentissage automatique non supervisés.

Algorithmes d'apprentissage automatique par renforcement

Ces types d'algorithmes d'apprentissage automatique sont très peu utilisés. Ces algorithmes entraînent les systèmes à prendre des décisions spécifiques. Fondamentalement, la machine est exposée à un environnement dans lequel elle s'entraîne continuellement en utilisant la méthode des essais et erreurs. Ces algorithmes apprennent de l'expérience passée et essaient de capturer les meilleures connaissances possibles pour prendre des décisions précises. Le processus de décision de Markov est un exemple d'algorithmes d'apprentissage automatique par renforcement.

Algorithmes d'apprentissage automatique les plus courants

Dans cette section, nous découvrirons les algorithmes d'apprentissage automatique les plus courants. Les algorithmes sont décrits ci-dessous -

Régression linéaire

C'est l'un des algorithmes les plus connus en matière de statistiques et d'apprentissage automatique.

Concept de base - La régression principalement linéaire est un modèle linéaire qui suppose une relation linéaire entre les variables d'entrée dites x et la variable de sortie unique, dites y. En d'autres termes, nous pouvons dire que y peut être calculé à partir d'une combinaison linéaire des variables d'entrée x. La relation entre les variables peut être établie en ajustant une meilleure ligne.

Types de régression linéaire

La régression linéaire est des deux types suivants -

  • Simple linear regression - Un algorithme de régression linéaire est appelé régression linéaire simple s'il n'a qu'une seule variable indépendante.

  • Multiple linear regression - Un algorithme de régression linéaire est appelé régression linéaire multiple s'il comporte plus d'une variable indépendante.

La régression linéaire est principalement utilisée pour estimer les valeurs réelles basées sur des variables continues. Par exemple, la vente totale d'une boutique en une journée, basée sur des valeurs réelles, peut être estimée par régression linéaire.

Régression logistique

C'est un algorithme de classification et également connu sous le nom de logit régression.

La régression principalement logistique est un algorithme de classification utilisé pour estimer les valeurs discrètes telles que 0 ou 1, vrai ou faux, oui ou non en fonction d'un ensemble donné de variables indépendantes. Fondamentalement, il prédit la probabilité, par conséquent, sa sortie se situe entre 0 et 1.

Arbre de décision

L'arbre de décision est un algorithme d'apprentissage supervisé qui est principalement utilisé pour les problèmes de classification.

Fondamentalement, il s'agit d'un classificateur exprimé sous forme de partition récursive basée sur les variables indépendantes. L'arbre de décision a des nœuds qui forment l'arbre enraciné. L'arbre enraciné est un arbre dirigé avec un nœud appelé «racine». La racine n'a aucun front entrant et tous les autres nœuds ont un front entrant. Ces nœuds sont appelés feuilles ou nœuds de décision. Par exemple, considérez l'arbre de décision suivant pour voir si une personne est apte ou non.

Machine à vecteurs de soutien (SVM)

Il est utilisé pour les problèmes de classification et de régression. Mais il est principalement utilisé pour des problèmes de classification. Le concept principal de SVM est de tracer chaque élément de données comme un point dans un espace à n dimensions, la valeur de chaque entité étant la valeur d'une coordonnée particulière. Ici n seraient les fonctionnalités que nous aurions. Voici une représentation graphique simple pour comprendre le concept de SVM -

Dans le diagramme ci-dessus, nous avons deux caractéristiques, nous devons donc d'abord tracer ces deux variables dans un espace bidimensionnel où chaque point a deux coordonnées, appelées vecteurs de support. La ligne divise les données en deux groupes classés différents. Cette ligne serait le classificateur.

Bayes naïves

C'est aussi une technique de classification. La logique derrière cette technique de classification est d'utiliser le théorème de Bayes pour construire des classificateurs. L'hypothèse est que les prédicteurs sont indépendants. En termes simples, cela suppose que la présence d'une fonctionnalité particulière dans une classe n'est pas liée à la présence d'une autre fonctionnalité. Voici l'équation du théorème de Bayes -

$$ P \ left (\ frac {A} {B} \ right) = \ frac {P \ left (\ frac {B} {A} \ right) P \ left (A \ right)} {P \ left ( B \ droite)} $$

Le modèle Naïve Bayes est facile à construire et particulièrement utile pour les grands ensembles de données.

K-voisins les plus proches (KNN)

Il est utilisé à la fois pour la classification et la régression des problèmes. Il est largement utilisé pour résoudre les problèmes de classification. Le concept principal de cet algorithme est qu'il permet de stocker tous les cas disponibles et de classer les nouveaux cas par votes majoritaires de ses k voisins. Le cas étant alors assigné à la classe qui est la plus courante parmi ses K voisins les plus proches, mesurée par une fonction de distance. La fonction de distance peut être la distance euclidienne, Minkowski et Hamming. Considérez ce qui suit pour utiliser KNN -

  • Sur le plan informatique, les KNN sont coûteux que les autres algorithmes utilisés pour les problèmes de classification.

  • La normalisation des variables nécessaires sinon des variables de gamme plus élevée peut la biaiser.

  • Dans KNN, nous devons travailler sur une étape de pré-traitement comme la suppression du bruit.

Clustering K-Means

Comme son nom l'indique, il est utilisé pour résoudre les problèmes de clustering. Il s'agit essentiellement d'un type d'apprentissage non supervisé. La logique principale de l'algorithme de clustering K-Means est de classer l'ensemble de données à travers un certain nombre de clusters. Suivez ces étapes pour former des clusters par K-means -

  • K-means choisit k nombre de points pour chaque cluster connu sous le nom de centroïdes.

  • Maintenant, chaque point de données forme un cluster avec les centroïdes les plus proches, c'est-à-dire k clusters.

  • Maintenant, il trouvera les centres de gravité de chaque cluster en fonction des membres du cluster existants.

  • Nous devons répéter ces étapes jusqu'à ce que la convergence se produise.

Forêt aléatoire

C'est un algorithme de classification supervisé. L'avantage de l'algorithme de forêt aléatoire est qu'il peut être utilisé à la fois pour des problèmes de classification et de régression. Fondamentalement, c'est la collection d'arbres de décision (c'est-à-dire la forêt) ou vous pouvez dire l'ensemble des arbres de décision. Le concept de base de la forêt aléatoire est que chaque arbre donne une classification et la forêt choisit les meilleures classifications parmi eux. Voici les avantages de l'algorithme Random Forest -

  • Le classificateur de forêt aléatoire peut être utilisé pour les tâches de classification et de régression.

  • Ils peuvent gérer les valeurs manquantes.

  • Cela ne conviendra pas au modèle même si nous avons plus d'arbres dans la forêt.