Académique Documents
Professionnel Documents
Culture Documents
Chapitre 1 Introduction To Machine Learning 1
Chapitre 1 Introduction To Machine Learning 1
2
Machine Translated by Google
Unité 1. Introduction à l'apprentissage automatique
Uvide
Temps estimé
01:15
Aperçu
Cette unité récapitule les principaux sujets du module I, Présentation de l'IA et fournit une vision plus approfondie de sujets
complexes, tels que :
• Apprentissage automatique
• Algorithmes d'apprentissage automatique
• Réseaux de neurones •
Apprentissage profond
Uvide
Objectifs de l'unité
• Expliquer ce qu'est l'apprentissage automatique.
• Expliquer ce que sont les réseaux de neurones et l'apprentissage profond, et pourquoi ils le sont.
important dans le domaine de l’IA d’aujourd’hui.
Uvide
1.1. Qu’estce que l’apprentissage automatique ?
Uvide
Uvide
Les sujets
Uvide
Apprentissage automatique
• En 1959, le terme « apprentissage automatique » a été introduit pour la première fois par Arthur
Samuel. Il l’a défini comme « le domaine d’étude qui donne aux ordinateurs la capacité
d’apprendre sans être explicitement programmés ».
Arthur Samuel, ancien ingénieur d'IBM et professeur à Stanford, a été l'un des pionniers dans le domaine du jeu
vidéo et de l'intelligence artificielle. Il a été le premier à introduire le terme « apprentissage automatique ».
L'apprentissage automatique est un domaine de l'intelligence artificielle. Il utilise des méthodes statistiques pour donner
à l'ordinateur la capacité « d'apprendre » à partir des données, sans être explicitement programmé.
Si un programme informatique peut améliorer la façon dont il exécute certaines tâches sur la base d’expériences
passées, alors il a appris. Cela diffère du fait d'exécuter la tâche toujours de la même manière car elle a été
programmée pour le faire.
Le processus d'apprentissage améliore ce que l'on appelle le « modèle » au fil du temps en utilisant différents points de
données (données d'entraînement). Le modèle évolué est utilisé pour faire des prédictions futures.
Les références:
https://link.springer.com/chapter/10.1007/9781430259909_1
https://link.springer.com/chapter/10.1007/9789400902794_9
Uvide
• Un modèle dans un ordinateur est une fonction mathématique qui représente une relation ou une
correspondance entre un ensemble d'entrées et un ensemble de sorties.
La représentation d'un modèle dans l'ordinateur se présente sous la forme d'une fonction mathématique. Il s'agit d'une
relation ou d'un mappage entre un ensemble d'entrées et un ensemble de sorties. Par exemple, f(x)=x^2.
Supposons qu’un système soit alimenté par des données indiquant que les taux de crimes violents sont plus élevés lorsque le
temps est plus chaud et plus agréable, et qu’ils augmentent même fortement pendant les journées d’hiver plus chaudes que d’habitude.
Ensuite, ce modèle peut prédire le taux de criminalité pour cette année par rapport aux taux de l'année dernière, en fonction des
prévisions météorologiques.
Il s'agit d'un exemple trop simpliste pour expliquer que l'apprentissage automatique fait référence à un ensemble de techniques
d'estimation de fonctions (par exemple, la prévision des incidents criminels) basées sur des ensembles de données (paires de la
température moyenne de la journée et du nombre d'incidents criminels associé). Ces modèles peuvent être utilisés pour prédire
les données futures.
Uvide
1.2. Algorithmes d'apprentissage automatique
Uvide
Uvide
Sujets •
Qu'estce que l'apprentissage
automatique ? • Algorithmes d'apprentissage
automatique • Que sont les réseaux de neurones ?
Uvide
Pour estimer la fonction qui représente le modèle, un algorithme d'apprentissage approprié doit être utilisé.
Dans ce contexte, l'algorithme d'apprentissage représente la technique par laquelle le système extrait des modèles utiles à
partir des données historiques d'entrée. Ces modèles peuvent être appliqués à de nouvelles données dans de nouvelles
situations. L'objectif est de faire en sorte que le système apprenne une transformation d'entrée/sortie spécifique et de faire
des prédictions futures pour un nouveau point de données. Trouver les algorithmes appropriés pour résoudre des problèmes
complexes dans divers domaines et savoir comment et quand les appliquer est une compétence importante que les
ingénieurs en apprentissage automatique doivent acquérir. Étant donné que les algorithmes d’apprentissage automatique
dépendent des données, la compréhension et l’acquisition de données de haute qualité sont cruciales pour obtenir des résultats précis.
Uvide
L’apprentissage supervisé est l’une des principales catégories d’apprentissage automatique. Dans l'apprentissage
automatique supervisé, les données d'entrée (également appelées exemples de formation) sont accompagnées d'une étiquette,
et le but de l'apprentissage est de prédire l'étiquette pour de nouveaux exemples imprévus. Un algorithme d'apprentissage
supervisé analyse les données d'entraînement et produit une fonction déduite, qui peut être utilisée pour cartographier de nouveaux exemple
En pratique, les problèmes résolus grâce à l’apprentissage supervisé sont regroupés en problèmes
de régression ou de classification.
La classification consiste à prédire une étiquette de classe discrète, telle que « noir, blanc ou gris » et « tumeur ou non ».
La régression consiste à prédire une quantité continue, telle que le « poids », la « probabilité » et le « coût ».
Uvide
2) Apprentissage non supervisé : détectez des modèles et des relations entre les données
sans utiliser de données étiquetées.
L'apprentissage non supervisé est un type d'apprentissage automatique qui apprend à partir de données qui n'ont pas été étiquetées.
Le but de l’apprentissage non supervisé est de détecter des modèles dans les données. L’un des types d’apprentissage non supervisé
les plus populaires est celui des algorithmes de clustering.
Les algorithmes de clustering sont des algorithmes qui découvrent comment diviser l'ensemble de données en un certain nombre de
groupes de telle sorte que les points de données des mêmes groupes soient plus similaires les uns aux autres par rapport aux
points de données des autres groupes.
Uvide
3) Apprentissage semisupervisé :
• Il comprend des données étiquetées avec une grande quantité de données non étiquetées.
b. Utilisez le modèle pour prédire les étiquettes pour les données non étiquetées.
c. Utilisez les données étiquetées et les données étiquetées nouvellement générées pour créer un
nouveau modèle.
De nombreux problèmes pratiques réels entrent dans cette catégorie d’apprentissage automatique où vous disposez de peu de
données étiquetées et le reste des données n’est pas étiqueté.
L'étiquetage des données est un processus coûteux ou long. De plus, cela nécessite de faire appel à des experts du domaine pour
étiqueter les données avec précision. Pensez à étiqueter les images de maladies de peau qui doivent être étiquetées par un expert du
domaine. En outre, trop de données d’étiquetage pourraient introduire des biais humains dans le modèle.
En apprentissage semisupervisé, vous essayez de tirer le meilleur parti de vos données non étiquetées. Il existe différentes techniques
pour réaliser cette tâche. Par exemple, vous pouvez utiliser le pseudoétiquetage, qui vise à donner des étiquettes approximatives
aux données non étiquetées. Le pseudoétiquetage fonctionne comme suit :
2. Utilisez le modèle pour prédire les étiquettes pour les données non étiquetées.
3. Utilisez les données étiquetées et les données étiquetées nouvellement générées pour créer un modèle.
Les références:
http://deeplearning.net/wpcontent/uploads/2013/03/pseudo_label_final.pdf
https://www.analyticsvidhya.com/blog/2017/09/pseudolabellingsemisupervisedlearningtechniqu
e/
Uvide
• L'apprentissage par renforcement utilise des essais et des erreurs (une approche enrichissante).
• L'algorithme découvre une association entre l'objectif et la séquence d'événements qui mène
à un résultat positif.
Voitures autonomes.
L'apprentissage par renforcement est un apprentissage axé sur un objectif et basé sur l'interaction avec
l'environnement. Au fur et à mesure que le système effectue certaines actions, il en apprend davantage sur le monde.
Le renforcement apprend par essais et erreurs (une approche enrichissante).
L'algorithme découvre une association entre l'objectif et la séquence d'événements qui mène à un résultat positif.
• Voitures autonomes.
Uvide
Dans les diapositives suivantes, nous explorons différents algorithmes d'apprentissage automatique. Nous décrivons les
algorithmes les plus importants. Chaque algorithme appartient à une catégorie d'apprentissage. Nous explorons les
algorithmes supervisés et non supervisés, les algorithmes de régression et de classification, ainsi que la classification
linéaire et non linéaire.
Uvide
Par exemple, un fruit peut être considéré comme une pomme s’il est rouge, rond et mesure environ
10 cm de diamètre.
Les classificateurs Naïve Bayes sont un algorithme d'apprentissage automatique supervisé puissant et simple. Il
suppose que la valeur d'une fonctionnalité particulière est indépendante de la valeur de toute autre fonctionnalité, étant
donné la variable de classe. Par exemple, un fruit peut être considéré comme une pomme s’il est rouge, rond et mesure
environ 10 cm de diamètre.
Un classificateur Naïve Bayes considère que chacune de ces caractéristiques contribue indépendamment à
la probabilité que ce fruit soit une pomme, quelles que soient les corrélations possibles entre les caractéristiques
de couleur, de rondeur et de diamètre.
Uvide
Imaginez que vous disposez de l'ensemble de données présenté dans le tableau de cette diapositive. La colonne
intitulée « Estce qu'Apple ? » représente l'étiquette des données. Notre objectif est de faire une nouvelle prédiction pour
un objet inconnu. L'objet inconnu présente les caractéristiques suivantes :
• La couleur rouge
• Forme : ronde
• Diamètre : 10 cm
Remarque 1 : Parfois, la terminologie « paramètres » ou « variables » est utilisée pour décrire les « caractéristiques ».
Uvide
Pomme = Non.
• Probabilités de classe : probabilités d'avoir chaque classe dans l'ensemble de données d'entraînement.
• Probabilités conditionnelles : probabilités de chaque caractéristique d'entrée donnant une valeur de classe spécifique.
2. Calculez la probabilité pour CY sous la forme x : p(CY | x) : p(Pomme = Oui | Couleur = Rouge, Forme = ronde,
Diamètre => 10 cm)
3. Calculez la probabilité pour CN comme x : p(CN | x) : p(Pomme = Non | Couleur = Rouge, Forme = rond, Diamètre
=> 10 cm)
4. Découvrez quelle probabilité conditionnelle est la plus grande : Si p(CY |x) > p(CN |x), alors c'est une pomme.
Uvide
cm | Pomme = Oui).
Naïve Bayes suppose que les caractéristiques des données d'entrée (la pomme
La formule Naïve Bayes est donnée par ce modèle. Notre objectif est de calculer la formule pour atteindre p(CK |x),
où K est n'importe quelle classe (CY ou CN).
5. Calculez la probabilité conditionnelle d'avoir chaque caractéristique étant donné que la classe est CY : p(x|CY) =
p(Couleur = Rouge, Forme = rond, Diamètre =>10 cm | Pomme = Oui).
Étant donné que Naïve Bayes suppose que les caractéristiques des données d'entrée (les caractéristiques de
l'objet) sont indépendantes, pour obtenir la valeur p(x|CY) , nous calculons la probabilité conditionnelle de chaque
caractéristique à la fois avec la classe CY, puis multiplions le tout. les valeurs.
Uvide
= p(Couleur = Rouge | Pomme = Oui) X p(Forme = rond | Pomme = Oui) X p(Diamètre => 10 cm | Pomme
= Oui)
Nous appliquons la même règle pour p(x| CN) en multipliant les probabilités conditionnelles d'atteindre la caractéristique
d'entrée étant donné CN :
= p(Couleur = Rouge | Pomme = Non) X p(Forme = rond | Pomme = Non) X p(Diamètre => 10 cm | Pomme =
Non)
Uvide
Voyons comment calculer ces probabilités conditionnelles. Par exemple, pour calculer p(Couleur = Rouge | Pomme = Oui),
vous demandez : « Quelle est la probabilité d'avoir un objet de couleur rouge étant donné que nous savons que c'est une
pomme ».
Vous parcourez le tableau pour voir combien de « est Apple ? » a une étiquette « oui ». Vous voyez que l’occurrence est cinq
fois.
Maintenant, d’après le tableau, combien de ces cinq occurrences se produisent lorsque vous avez une couleur = rouge ? Vous
constatez qu’il existe trois occurrences pour la couleur rouge. Par conséquent, p(Couleur = Rouge | Pomme = Oui) = 3/5.
Uvide
Maintenant, nous avons toutes les valeurs dont nous avons besoin. Comme mentionné à l'étape 5, nous multiplions les
probabilités conditionnelles comme suit :
p(Couleur = Rouge | Pomme = Oui) X p(Forme = rond | Pomme = Oui) X p(Diamètre = > 10 cm | Pomme =
Oui)
p(Couleur = Rouge | Pomme = Non)p(Forme = rond | Pomme = Non)p(Diamètre = > 10 cm | Pomme = Non)
Uvide
Enfin, nous comparons les valeurs de p(CY |x) par rapport à p(CN |x). En remplaçant les valeurs
calculées aux étapes précédentes, nous découvrons que p(CY |x) > p(CN |x), ce qui signifie que l'objet
est une pomme.
Uvide
Régression linéaire
• La régression linéaire est une équation linéaire qui combine un ensemble spécifique de
des valeurs d'entrée (X) et un résultat (Y) qui est la sortie prédite pour cet ensemble de
valeurs d'entrée. En tant que tel, les valeurs d’entrée et de sortie sont numériques.
Exemples d'applications :
• Prévoir les ventes en analysant les ventes mensuelles de l'entreprise pour le passé
quelques années.
• Prédire les prix des logements avec une augmentation de la taille des maisons.
Les algorithmes de régression sont l’un des algorithmes clés utilisés dans l’apprentissage automatique. Les algorithmes de
régression aident les analystes à modéliser les relations entre les variables d'entrée X et l'étiquette de sortie Y pour les points
de données d'entraînement. Cet algorithme cible les problèmes de régression supervisée, c'estàdire que la variable cible est
une valeur continue.
Dans la régression linéaire simple, nous établissons une relation entre la variable cible et les variables d'entrée en
ajustant une ligne appelée ligne de régression.
• Analyser l'efficacité marketing, les prix et les promotions sur les ventes d'un produit.
• Prévoir les ventes en analysant les ventes mensuelles de l'entreprise au cours des dernières années.
• Prédire les prix des logements avec une augmentation de la taille des maisons.
• Calculer les relations causales entre les paramètres des systèmes biologiques.
Uvide
Taille Prix
30 30 000
70 40 000
90 55 000
110 60 000
130 80 000
150 90 000
180 95 000
Supposons que nous étudions le marché immobilier et que notre objectif soit de prédire le prix d'une maison en
fonction de sa taille en utilisant des données précédentes. L'étiquette dans ce cas est la colonne prix.
Uvide
Après avoir tracé les points sur le graphique, ils semblent former une ligne.
Uvide
90 55 000
110 60 000
130 80 000
150 90 000
180 95 000
Vous souhaitez connaître la valeur prix d’une maison de 140 mètres carrés. Lequel des choix suivants est correct ?
1. 60 000 $
2. 95 000 $
3. 85 000 $
Uvide
• Solution : calculez l'erreur de manière itérative jusqu'à ce que vous atteigniez le maximum
ligne précise avec une valeur d'erreur minimale (c'estàdire la distance minimale entre la ligne et
tous les points).
Pour répondre à la question « Quel est le prix d’une maison de 140 mètres carrés ? », nous devons tracer la ligne qui correspond
le mieux à la plupart des points de données.
Comment pouvonsnous trouver la ligne qui correspond le mieux à tous les points de données ? Nous pouvons tracer plusieurs lignes, alors
laquelle est la meilleure ?
La meilleure ligne doit avoir la valeur d'erreur minimale. L'erreur fait référence à la distance agrégée entre les points de
données et la ligne supposée. Calculez l'erreur de manière itérative jusqu'à ce que vous atteigniez la ligne la plus précise avec
une valeur d'erreur minimale.
Uvide
Après le processus d’apprentissage, vous obtenez la ligne la plus précise, le biais et la pente pour tracer votre ligne.
p0 est le biais. On l'appelle également l'interception car elle détermine où la ligne intercepte l'axe y.
p1 est la pente car elle définit la pente de la ligne ou la façon dont x est en corrélation avec la valeur ay avant
d'ajouter le biais.
Si vous disposez de la valeur optimale de p0 et p1, vous pouvez tracer la ligne qui représente le mieux les données.
Uvide
La fonction d'erreur quadratique J est représentée par la différence entre le point prédit et les points réels. Il est
calculé comme suit :
• i est le numéro d'un échantillon ou d'un point de données dans l'ensemble de données échantillons.
Nous pouvons utiliser une technique d'optimisation appelée descente de gradient stochastique. L'algorithme évalue et met à jour les poids à chaque
itération pour minimiser l'erreur du modèle. La technique fonctionne de manière itérative. À chaque itération, l’instance de formation est exposée
une fois au modèle. Le modèle fait une prédiction et l'erreur correspondante est calculée. Le modèle est mis à jour pour réduire l'erreur de la
prochaine prédiction. Le processus continue d'ajuster les poids du modèle pour atteindre la plus petite erreur.
Uvide
Ici, nous utilisons l'algorithme de descente de gradient pour obtenir de manière itérative les valeurs de p0 et p1 (l'ordonnée
à l'origine et la pente de la ligne sont également appelées poids) par l'algorithme suivant :
Pj := Pj – α (hp(xi ) yi) xj
je
Où:
Uvide
Avec plus de fonctionnalités, vous n’avez pas de ligne ; à la place, vous avez un avion. Dans les dimensions
supérieures où nous avons plus d’une entrée (X), la ligne est appelée plan ou hyperplan.
L'équation peut être généralisée de la régression linéaire simple à la régression linéaire multiple comme suit :
Uvide
Régression logistique
La régression logistique est un algorithme de classification supervisée. Elle est différente de la régression linéaire où la
variable dépendante ou de sortie est une catégorie ou une classe. La cible est une catégorie discrète ou une classe (et non
une variable continue comme dans la régression linéaire), par exemple, Classe1 = cancer, Classe2 = Pas de cancer.
Uvide
Fonction logistique
La régression logistique doit son nom à la fonction utilisée au cœur de l'algorithme, à savoir la fonction logistique. La fonction
logistique est également connue sous le nom de fonction sigmoïde. Il s'agit d'une courbe en forme de S (comme le montre la
figure) pour la ségrégation des données sur plusieurs classes qui peut prendre n'importe quelle valeur réelle comprise entre 0 et
1.
Uvide
Y = exp(p0+p1X)/(1+exp(p0+p1X))
Au cours du processus d'apprentissage, le système tente de générer un modèle (estimer un ensemble de paramètres
p0, p1, …) qui peut prédire au mieux la probabilité que Y tombe dans la classe A ou B étant donné l'entrée X. La
fonction sigmoïde comprime l'entrée valeur comprise entre [0,1], donc si la sortie est de 0,77, elle est plus proche de 1
et la classe prédite est de 1.
Uvide
Exemple : supposons que les valeurs estimées de p pour un certain modèle qui prédit le sexe à partir de la taille
d'une personne sont p0= 120 et p1=0,5.
Supposons que vous ayez deux classes où la classe 0 représente les femmes et la classe 1 représente les hommes.
Y = exp(120+0,5X)/(1+exp(120+0,5X))
Y = 0,00004539
Uvide
• Le but est de trouver un hyperplan de séparation entre les exemples positifs et négatifs
de données d'entrée.
• L'algorithme SVM recherche l'hyperplan ayant la plus grande marge, c'estàdire la plus grande
distance jusqu'aux points d'échantillonnage les plus proches.
SVM est un modèle d'apprentissage supervisé qui peut être un classificateur linéaire ou non linéaire. SVM est également
appelé « classificateur à grande marge » car l'algorithme recherche l'hyperplan avec la plus grande marge, c'estàdire la plus
grande distance par rapport aux points d'échantillonnage les plus proches.
Uvide
Supposons qu'un ensemble de données se trouve dans un espace bidimensionnel et que l'hyperplan sera une
ligne unidimensionnelle.
Bien que de nombreuses lignes (en bleu clair) séparent correctement toutes les instances, il n'existe qu'un seul
hyperplan optimal (ligne rouge) qui maximise la distance jusqu'aux points les plus proches (en jaune).
Uvide
Arbre de décision
• Un algorithme d'apprentissage supervisé qui utilise une structure arborescente pour modéliser
les décisions.
Un arbre de décision est un algorithme d’apprentissage supervisé populaire qui peut être utilisé pour des problèmes de
classification et de régression. Les arbres de décision sont une méthode de prédiction populaire. Les arbres de décision
peuvent expliquer pourquoi une prédiction spécifique a été faite en parcourant l'arbre.
Il existe différents exemples d'applications pouvant utiliser l'arbre de décision en entreprise. Par exemple, prédire la volonté
des clients d'acheter un produit donné dans un contexte donné, par exemple en ligne ou dans un magasin physique.
Note
Uvide
Un arbre de décision comprend trois entités principales : le nœud racine, les nœuds de décision et les feuilles.
La figure montre la représentation graphique de ces entités.
Un arbre de décision construit le modèle de classification ou de régression sous la forme d'une structure
arborescente. Il ressemble à un organigramme et est facile à interpréter car il décompose un ensemble de données en
sousensembles de plus en plus petits tout en construisant l'arbre de décision associé.
Uvide
L’exemple « Play Tennis » est l’un des exemples les plus populaires pour expliquer les arbres de décision.
Dans l'ensemble de données, le label est représenté par « PlayTennis ». Les caractéristiques sont le reste des colonnes :
« Perspectives », « Température », « Humidité » et « Vent ». Notre objectif ici est de prédire, en fonction de
certaines conditions météorologiques, si un joueur peut ou non jouer au tennis.
Référence:
http://jmvidal.cse.sc.edu/talks/decisiontrees/choosingbest.html?style=White
Uvide
De retour à l'exemple, la représentation de l'arbre de décision sur le côté droit de la figure montre les
informations suivantes :
• Chaque nœud interne teste un attribut.
A terme, nous souhaitons faire une classification de « si Jouer au Tennis = {Oui, Non} ».
Référence:
http://jmvidal.cse.sc.edu/talks/decisiontrees/choosingbest.html?style=White
Uvide
Un arbre de décision est construit en prenant des décisions concernant les éléments suivants :
L'algorithme fonctionne en divisant de manière récursive les données en fonction de la valeur d'une fonctionnalité. Après
chaque fractionnement, la partie des données devient plus homogène.
Uvide
• Gain d'informations : il est utilisé pour classer les attributs ou les fonctionnalités à diviser
à un nœud donné dans l'arborescence.
Gain d'information = (Entropie de la distribution avant la scission) – (entropie de la
distribution après celleci)
L'algorithme Iterative Dichotomiser3 (ID3) fonctionne en utilisant l'entropie et le gain d'informations pour construire un
arbre de décision. L'entropie est la mesure du degré d'incertitude et de caractère aléatoire dans un ensemble de données pour
la tâche de classification. L'entropie est maximisée lorsque tous les points ont des probabilités égales.
Si l'entropie est minime, cela signifie que l'attribut ou la caractéristique apparaît proche d'une classe et possède un bon
pouvoir discriminant pour la classification.
L'entropie zéro signifie qu'il n'y a pas de caractère aléatoire pour cet attribut.
Le gain d'informations est une métrique utilisée pour classer les attributs ou les fonctionnalités à diviser à un nœud donné de
l'arborescence. Il définit la quantité d'informations qu'une fonctionnalité fournit sur une classe. La fonctionnalité avec le gain
d'informations le plus élevé est utilisée pour la première division.
Uvide
Regroupement Kmoyenne
• Il regroupe un ensemble d'objets de telle sorte que les objets du même groupe (appelé
cluster) soient plus similaires les uns aux autres que ceux des autres groupes (autres
clusters).
Le clustering Kmeans est une technique d’apprentissage automatique non supervisée. L'objectif principal de l'algorithme est
de regrouper les observations de données en k groupes, où chaque observation appartient au groupe ayant la moyenne la plus
proche.
Le centre d'un cluster est le centre de gravité. La figure montre des tracés de la partition d'un ensemble de données en
cinq clusters, les centroïdes de cluster étant représentés par des croix.
Uvide
Exemples d'applications :
• Segmentation de la clientèle : Imaginez que vous êtes propriétaire d'un magasin d'électronique. Tu veux
comprendre les préférences de vos clients pour développer votre entreprise. Il n'est pas possible d'examiner les
détails d'achat de chaque client pour trouver une bonne stratégie marketing. Mais vous pouvez regrouper les détails,
par exemple, en cinq groupes en fonction de leurs habitudes d'achat. Ensuite, vous commencez à élaborer votre
stratégie marketing pour chaque groupe.
• Segmentation et compression d'images : processus de partitionnement d'une image numérique en plusieurs segments
(ensembles de pixels) pour simplifier et modifier la représentation d'une image en quelque chose de plus significatif et
plus facile à analyser. Pour réaliser cette tâche, nous avons besoin d'un processus qui attribue une étiquette à
chaque pixel d'une image de telle sorte que les pixels portant la même étiquette partagent certaines caractéristiques.
L'image de cette diapositive est segmentée et compressée en trois régions à l'aide du regroupement kmeans.
Avec un plus petit nombre de clusters, il fournit davantage de compression d’image mais au détriment d’une qualité
d’image moindre.
• Systèmes de recommandation : ces systèmes vous aident à trouver des utilisateurs ayant les mêmes préférences pour
construire de meilleurs systèmes de recommandation.
https://www.mathworks.com/help/examples/images/win64/SegmentGrayscaleImageUsingKMeans
ClusteringExample_02.png
https://www.mathworks.com/help/examples/images/win64/SegmentGrayscaleImageUsingKMeans
ClusteringExample_01.png
Uvide
Supposons que vous disposez des points de données présentés dans la figure. Votre objectif est de regrouper chaque
point de données dans l'un des deux groupes. Ainsi, la taille du cluster est de 2. C1 et C2 représentent ces deux clusters.
Uvide
Supposons que les centroïdes initiaux sont C1, point (1,1) et C2, point (2,1)
Uvide
Itération 1 :
• Maintenant, nous calculons pour chaque point à quel centre il appartient. Le résultat dépend de
la distance entre le centre et le point (en utilisant la distance euclidienne) :
C1 = (1, 1)
C2 = 1/3 ((2, 1) + (4, 3) + (5, 4)) = (3,67, 2,67)
Introduction à l'apprentissage automatique © Droits d'auteur IBM Corporation 2019
Pour calculer le centroïde d'un cluster, utilisez un processus itératif dans lequel chaque point est examiné et vous
déterminez s'il appartient à un cluster spécifique. Ensuite, vous calculez le nouveau centre de gravité en
utilisant la moyenne de tous les points.
Uvide
Comme vous le voyez, les nouveaux points en rouge sont les nouveaux centroïdes. Nous appliquons une autre itération pour trouver
un meilleur centroïde qui représente chaque cluster.
Uvide
Maintenant, nous examinons à nouveau chaque point par rapport au centre de gravité en utilisant la distance euclidienne et calculons
les nouveaux centres de gravité (C1 et C2).
Uvide
Comme vous le voyez, les nouveaux centroïdes rouges représentent les centres des deux clusters. L'algorithme s'arrête
lorsque les centroïdes ne changent pas ou changent légèrement, ou si un nombre maximum d'itérations est défini.
Uvide
1.3. Que sont les réseaux de neurones ?
Uvide
Uvide
Les sujets
Uvide
Les réseaux de neurones représentent un paradigme de traitement de l’information inspiré du cerveau humain.
Dans le cerveau, les neurones sont hautement connectés et communiquent des signaux chimiques via
les synapses (une jonction entre deux cellules nerveuses) entre les axones et les dendrites. On estime que le
cerveau humain compte 100 milliards de neurones, chaque neurone étant connecté à 10 000 autres neurones.
neurones.
Uvide
• Exemples d'applications :
Les réseaux de neurones artificiels communiquent des signaux (des nombres) via des poids et des fonctions d'activation
qui activent les neurones. À l’aide d’un algorithme d’entraînement, ces réseaux ajustent ces poids pour résoudre un
problème.
Chaque nœud applique une transformation mathématique aux données qu'il reçoit ; il transmet ensuite son résultat aux autres
nœuds sur son chemin. Chaque connexion entre les nœuds représente un paramètre différent du modèle.
Un réseau de neurones est utile pour les tâches d'apprentissage automatique qui comportent trop de fonctionnalités (des millions).
Par exemple:
• Détection d'objets, suivi et analyse d'images et de vidéos à l'aide d'un système neuronal convolutif.
Réseau (CNN)
• Tâches de traitement du langage naturel telles que la reconnaissance vocale et la traduction automatique à l'aide d'un
réseau neuronal récurrent (RNN)
Uvide
• Les modèles de réseaux neuronaux peuvent s'ajuster et apprendre à mesure que les données changent.
Un réseau de neurones est composé de trois couches ou plus : une couche d'entrée, une ou plusieurs couches cachées et
une couche de sortie. Les données sont importées via la couche d'entrée. Ensuite, les données sont modifiées dans les
couches cachées et en sortie en fonction des pondérations appliquées à leurs nœuds. Le réseau neuronal typique peut être
constitué de milliers, voire de millions de nœuds de traitement simples, densément interconnectés.
Uvide
Perceptron
• Un modèle de neurone unique et créateur du réseau neuronal.
• Semblable à la classification linéaire, où chaque entrée a un poids.
• Un biais.
Un perceptron est un modèle de neurone unique à l’origine des réseaux de neurones. C’est similaire à la
régression linéaire. Chaque neurone a son propre biais et sa propre pente (poids). Par exemple, supposons
qu'un neurone ait deux entrées (X1 et X2), il nécessite donc trois poids (P1, P2 et P0 ). La figure de cette
diapositive montre un poids pour chaque entrée et un pour le biais.
Uvide
• Première phase : La propagation des entrées à travers un réseau de neurones jusqu'à la couche
finale (appelée feedforward).
• Deuxième phase : L'algorithme calcule une erreur. Une valeur d'erreur est ensuite calculée
en utilisant la sortie souhaitée et la sortie réelle pour chaque neurone de sortie du réseau.
La valeur d'erreur se propage vers l'arrière à travers les poids du réseau (en ajustant
les poids) en commençant par les neurones de sortie en passant par la couche cachée et
jusqu'à la couche d'entrée (en fonction de la contribution de l'erreur).
La rétropropagation est un algorithme permettant de former des réseaux de neurones comportant plusieurs couches. Cela fonctionne en
deux phases :
• Propagation des entrées à travers un réseau de neurones jusqu'à la couche finale (appelée feedforward).
• L'algorithme calcule une erreur. Une valeur d'erreur est ensuite calculée en utilisant la sortie souhaitée et la sortie réelle
pour chaque neurone de sortie du réseau. La valeur d'erreur se propage vers l'arrière à travers les poids du réseau
(en ajustant les poids) en commençant par les neurones de sortie en passant par la couche cachée et jusqu'à la couche
d'entrée (en fonction de la contribution de l'erreur).
La rétropropagation continue d'être un aspect important de l'apprentissage des réseaux neuronaux. Avec des ressources
informatiques plus rapides et moins chères, il continue d’être appliqué à des réseaux plus vastes et plus denses.
Uvide
1.4. Qu’estce que l’apprentissage profond ?
Uvide
Les supports de cours ne peuvent pas être reproduits en totalité ou en partie sans l'autorisation écrite préalable d'IBM.
V11.2
Machine Translated by Google
Unité 1. Introduction à l'apprentissage automatique
Uvide
Les sujets
Uvide
L'apprentissage en profondeur
• Semblable à un réseau neuronal traditionnel, mais il contient beaucoup plus de choses cachées
couches.
Émergence du big data, qui nécessite une mise à l’échelle du traitement des données.
Amélioration de la puissance de traitement et utilisation des GPU pour entraîner les réseaux de
neurones.
Avancement dans les algorithmes comme l’unité linéaire rectifiée (ReLU).
Le Deep Learning est une technique d’apprentissage automatique qui utilise les réseaux de neurones pour apprendre. Bien que
l’apprentissage profond soit similaire à un réseau neuronal traditionnel, il comporte de nombreuses autres couches cachées. Plus
le problème est complexe, plus le modèle comporte de couches cachées.
• L'augmentation continue du Big Data nécessite une mise à l'échelle du traitement des données pour analyser et utiliser ces données.
données correctement.
• Amélioration de la puissance de traitement et utilisation des GPU pour entraîner les réseaux de neurones.
• Les progrès des algorithmes tels que l'unité linéaire rectifiée (ReLU) au lieu de l'algorithme sigmoïde contribuent à accélérer la
convergence de la descente de gradient.
Uvide
Applications:
• Réseau neuronal hybride : couvrant des réseaux neuronaux plus complexes, par
exemple, les voitures autonomes.
Il existe différents types de réseaux de neurones. Chaque réseau est plus adapté à un type de problème d’apprentissage
automatique. Voici un aperçu de ces réseaux et de leurs applications :
• Perceptron multicouche (MLP) : classe de réseaux de neurones artificiels (ANN) à action directe. C'est
utile dans les problèmes de classification où les entrées se voient attribuer une classe. Cela fonctionne également dans les problèmes
de régression pour une quantité à valeur réelle comme une prévision du prix de l'immobilier.
• Réseau neuronal convolutif (CNN) : prend une entrée sous forme d'image. C'est utile pour les problèmes de
reconnaissance d'images comme la reconnaissance faciale.
• Réseau neuronal récurrent (RNN) : a une nature temporelle où l'entrée peut être une fonction dans le temps, comme les
fichiers audio. Il est également utilisé pour les données de séquence unidimensionnelles. Il convient aux entrées telles
que l'audio et les langues. Il peut être utilisé dans des applications telles que la reconnaissance vocale et la traduction
automatique.
• Réseau neuronal hybride : couvre des réseaux neuronaux plus complexes, par exemple les voitures autonomes.
qui nécessitent un traitement d'images et un travail à l'aide d'un radar.
Référence:
https://machinelearningmastery.com/whentousemlpcnnandrnnneuralnetworks/
Uvide
1.5. Comment évaluer un modèle de machine learning ?
Uvide
Uvide
Les sujets
Uvide
Évaluation du modèle
Raison : trop de fonctionnalités sont utilisées ou vous réutilisez des échantillons de formation lors
des tests.
Solution:
Moins de fonctionnalités
Plus de données
Validation croisée
Une fois que vous avez entraîné avec succès votre modèle, vous devez suivre une méthodologie pour évaluer les performances de
votre modèle d'apprentissage automatique. Une erreur classique consiste à utiliser les mêmes échantillons de données que
ceux utilisés dans la formation pour tester un modèle, ce qui produit un score faussement parfait. C'est ce qu'on appelle le
« surajustement » (également appelé « variance élevée »). Le problème du surajustement est que votre modèle ne parvient pas à
prédire les futures données invisibles.
Un autre cas pouvant provoquer un surajustement est celui où vous avez des données déséquilibrées. Par exemple, supposons que vous travaillez
sur un ensemble de données pour l’analyse du taux de désabonnement. Les clients qui ont abandonné représentent en réalité 2 % de votre ensemble
de données. L’utilisation de cet ensemble de données « tel quel » entraîne un surapprentissage.
L'objectif d'un bon modèle d'apprentissage automatique est de généraliser à tous les points de données futurs.
Un surajustement peut également se produire si vous utilisez trop de fonctionnalités. Relativement, si le nombre de
fonctionnalités est égal ou supérieur au nombre d’échantillons d’apprentissage, cela peut provoquer un surajustement. L'une
des solutions pour surmonter le surajustement consiste à augmenter le nombre d'échantillons d'ensembles de données
utilisés pour la formation par rapport aux fonctionnalités. Une autre solution consiste à diminuer manuellement le nombre de
fonctionnalités, mais cela peut entraîner la suppression d'informations utiles. Une autre solution consiste à effectuer une
sélection de modèle en utilisant la validation croisée.
https://www.coursera.org/lecture/machinelearning/theproblemofoverfittingACpTQ
https://en.oxforddictionaries.com/definition/overfitting
https://ai.stanford.edu/~ang/papers/cvfinal.pdf
https://www.youtube.com/watch?v=OSd30QGMl88
Uvide
• Le sousajustement se produit lorsqu'un modèle d'apprentissage automatique ne peut pas s'adapter aux besoins.
données d’entraînement ou généraliser à de nouvelles données.
Le sousajustement (également appelé « biais élevé ») se produit lorsqu'un modèle d'apprentissage automatique ne peut pas s'adapter aux données
d'entraînement ou se généraliser à de nouvelles données.
Une raison possible pourrait être que le modèle utilise un estimateur simple. Par exemple, vous utilisez peutêtre un estimateur
linéaire, mais ce dont vous avez réellement besoin est un estimateur quadratique ou polynomial de degré supérieur pour
développer votre modèle comme dans le graphique « Ajustement correct ».
Une autre raison peut être que vous n'utilisez pas suffisamment de fonctionnalités, de sorte que votre estimateur ne parvient
pas à capturer la structure des données. Une solution possible serait d’ajouter plus de fonctionnalités et d’essayer un
autre estimateur.
Il existe d'autres méthodes utilisées pour aider à résoudre le surajustement et le sousajustement de votre modèle, telles que la
régularisation, mais ces méthodes dépassent le cadre de ce cours.
Les références:
https://en.oxforddictionaries.com/definition/overfitting
https://www.youtube.com/watch?v=OSd30QGMl88
Uvide
• Laisser un de côté validation croisée (LOOCV) : similaire au pli en K, sauf qu'un souséchantillon
contenant un point de données est retenu et que le reste des données est utilisé pour la formation.
Il est courant, lors de l'application d'une tâche d'apprentissage automatique (supervisée), de conserver une partie des données
disponibles sous forme d'ensemble de test. Il existe différentes méthodes pour réaliser cette tâche :
• La validation croisée (CV) est un processus permettant d'évaluer un modèle d'apprentissage automatique en divisant un ensemble de
données une ou plusieurs fois pour entraîner et tester le modèle. L'ensemble de données peut être divisé en un ensemble de formation
pour entraîner le modèle et un ensemble de validation pour prétester le modèle. Sélectionnez le modèle qui présente le moins d'erreurs.
Enfin, il existe un ensemble de tests pour évaluer le modèle. Ainsi, l'ensemble de données peut être divisé en 60 % 20 % 20 % pour
les ensembles de formation, de validation et de test.
Une critique de ce processus est que la division de l'ensemble de données en trois parties réduit le nombre d'échantillons pouvant être
utilisés pour entraîner le modèle.
• La méthode d'exclusion divise l'ensemble de données en un ensemble majoritaire pour la formation et un ensemble minoritaire pour
les tests. La répartition entre l'ensemble de formation et l'ensemble de test est de 80 % à 20 % ou de 70 % à 30 %, sans règle fixe.
Uvide
• La validation croisée Kfold divise les données de manière aléatoire en K souséchantillons de taille égale. Pour chaque
itération, un souséchantillon est conservé comme ensemble de validation et le reste des souséchantillons (K1) constitue
l'ensemble d'apprentissage. Les itérations sont répétées K fois, chaque souséchantillon ayant une chance d'être l'ensemble
de validation. Les résultats K peuvent ensuite être moyennés pour produire un modèle unique. Le plus grand avantage
de Kfold est que toutes les données sont modifiées pour être utilisées à la fois pour la formation et la validation. Il n'y a
pas de règle stricte pour le nombre K, mais il s'agit généralement de K=5 ou K=10, qui correspondent à
une validation croisée 5 fois ou à une validation croisée 10 fois. Pour chaque souséchantillon, vous conservez
approximativement le même pourcentage de données de chaque classe cible que dans l’ensemble complet, ce qui est
connu sous le nom de méthode Kfold stratifiée.
• Laisser un CV de côté (LOOCV) est similaire au pli K, mais dans ce cas, chaque point de données d'échantillon est
présenté comme un ensemble de validation, et le reste de l'ensemble de données est l'ensemble d'apprentissage. En
comparant LOOCV et Kfold, Kfold est plus rapide et nécessite moins de calculs, mais en termes de précision, LOO
CV a souvent une variance élevée en tant qu'estimateur.
Les références:
https://projecteuclid.org/download/pdfview_1/euclid.ssu/1268143839
http://scikitlearn.org/stable/modules/cross_validation.html
https://www.cs.cmu.edu/~schneide/tut5/node42.html
Uvide
Résumé de l'unité
• Expliquer ce qu'est l'apprentissage automatique.
• Expliquer ce que sont les réseaux de neurones et l'apprentissage profond, et pourquoi ils le sont.
important dans le domaine de l’IA d’aujourd’hui.