Jump to content

Apprentissage non supervisé


Go to solution Solved by Bert,

Recommended Posts

Posted

Hellooooo,

je n'ai pas très bien compris en quoi consiste l'apprentissage supervisé ? J'ai compris qu'il permet de séparer les X des Y dnc de faire des groupes de donnée mais je n'arrive pas à comprendre sur quoi c'est bassé ? Il y a t'il intervention de l'homme pour qu'il sache à quoi ressemble les X et Y ? 

 

Ensuite de manière plus général serait t'il possible de m'expliqué en FRANCAIS les différentes étapes de l'apprentissage machine : je ne comprend pas du tout " fonction de cout"... Et même quand je comprend je n'arrive pas à savoir réellement à quoi ca correspond 

 

Je vous remercie d'avance ! :)

Posted (edited)

Hello, pour l’apprentissage supervisé les humains donnent à la machine une base de données annotés. Par exemple, en X ils vont donner plein de photos de chiens et dire à la machine ça c’est « chien » et en Y ils mettent plein de photos de chats par exemple qui sont annotées en « chat ». Plus tard quand la machine verra une photo de chien non annotée, grâce à son immense base de donnée elle sera capable de prédire selon un certain % que c’est bien une photo de chien. J’espère que c’est clair ! 
Ensuite pour la fonction de coût j’ai absolument pas le cours sous les yeux et je m’en rappelle pas assez pour pouvoir bien te l’expliquer donc je laisse l’opportunité à d’autres tuteurs !

 

N’hésite pas si t’as d’autres questions :)

Edited by clemencefaure
Posted

voila comment faire une erreur de frappe qui change toute la question 😅 c'est en fait la NON supervisée que je n'ai pas compris 😥, désolé de cette erreur, bon ton explication reste quand même très clair et ma permis d'être sur de savoir ce qu'est la supervisé !

 

Merciiii !

Posted

Salut @duodénum

Alors en gros pour l'apprentissage non supervisé, l'ordinateur n'a aucune base de donnée de rien. Pour reprendre l'exemple des chats et des chiens on va dire que l'ordinateur n'a aucune photo en amont donc quand on va lui montrer les images, il ne va pas savoir si c'est un chat ou un chien.

En revanche, il va reconnaître que certaines images se ressemblent plus que d'autres (les chats avec les chats / les chiens avec les chiens) donc il va les mettre dans une même catégorie et il va faire des classes comme ça sauf qu'il ne saura pas à quoi les classes correspondent ! (alors que dans l'apprentissage supervisé, l'ordinateur reconnaît grace à sa base de données qu'il vient de classer des chats et des chiens)  Est ce que tu comprends mieux ? 🤔 

Posted

Pour ta deuxième question @duodénum, j'ai regardé les diapos du prof et bon c'est vrai que comme ça c'est un peu difficile de comprendre quelque chose. Je vais essayer te dire ce que j'ai compris, à voir si les autres tuteurs et les RM sont d'accord 😅

 

Alors si on reprend les étapes : 

1) acquisition des données d'entraînement

--> Tu as testé plusieurs fois ta machine en lui mettant des images de chats et de chiens et en lui demandant de les classer et là tu recueilles ses résultats. 

 

2) création d'une fonction de prédiction

--> Tu vas à nouveau mettre en place un programme pour que ta machine classe les chats et les chiens et cette fois ci tu vas pouvoir prédire qu'elle est capable de le faire pour un nombre d'images données que tu as déjà testé (vu que tu te bases sur ses résultats en entraînement

 

3) proposer une fonction de coût 

--> Ta machine peut faire des erreurs et ça peut "coûter" cher à ton expérience donc au lieu d'être pris au dépourvu tu vas calculer une marge d'erreur pour ta machine 

 

4) trouver les valeurs des paramètres qui minimisent la fonction de coût

--> Tu vas déterminer des facteurs précis qui vont permettre à ta machine de se tromper le moins possible (j'aurai du mal à plus détailler que ça j'espère que ça ira 😅

 

5) valider la solution sur les données d'utilisation 

--> Tu vas bien vérifier que ton programme est "optimisé", ce qui veut dire que ta machine ne va pas apprendre plusieurs fois la même chose (on essaie d'être efficace) 

 

6) tester le modèle sur des valeurs inconnues
--> Tu as pu voir que ton programme fonctionnait avec des images que tu avais déjà testées maintenant il faut voir si ça marche aussi avec des nouvelles images ! 

 

Voilà, j'espère que ça t'aide un peu plus 🥲

  • Ancien du Bureau
  • Solution
Posted

Bonjour ! 

 

Je vais essayer d'apporter une réponse en reprenant ce qui a été dis précédemment concernant l'apprentissage machine. 

En reprenant le plan de @Alpagathe je décomposerais le problème comme suit :

 

1) Acquisition des données d'entrainement 

 

Ici on ne fais pas d'entrainement, il s'agit juste de récupérer les données sur lesquelles on va travailler et les organiser, dans ce qu'on appelle une base de données. Si on reprends l'exemple des chats et des chiens, les données sont structurées de la manière suivante : Nous avons un tableau à deux colonnes, la première colonne correspond aux images (qui peuvent être des chats ou des chiens). La seconde colonne correspond à l'annotation humaine. On dis si l'image correspond à un chat ou un chien (c'est notre Y)

 

 

image.png

 

 

2) Initialisation de la fonction de prédiction

 

Ici nous allons construire une fonction f(X) qui étant donné l'image X entrée, devra prédire si l'image est un chien ou un chat. On a donc deux possibilités : 

- Soit f(X) = chien

- Soit f(X) = chat

 

A ce stade, la fonction f(X) n'est pas capable de prédire avec exactitude si l'image est un chien ou un chat, c'est normal ! Il faut trouver les bons paramètres, c'est ce que nous allons voir dans la suite. Donc si je demande à ma fonction de calculer : f(Image de l'animal 1), je ne suis pas sur de tomber sur le chien (comme sur le tableau).

 

3) La fonction de cout 

 

C'est une étape importante. La fonction de cout permet de mesurer si le résultat donnée par f(X) est le même ou non que le résultat attendu (noté Y dans le tableau). Dans notre exemple il y a deux possibilités : 

 

  • Cas 1  : Le résultat donné par la fonction f(X) est bel et bien égal à Y.
    • Par exemple si X est une image de chien, f(X) = chien et que Y = chien, la fonction de cout sera nulle. (c'est ce qu'on cherche)

 

  • Cas 2 : Le résultat donné par la fonction f(X) n'est pas égal à Y.
    • Par exemple X est une image de chien, f(X) = chat et que Y = chien, la fonction de cout ne sera pas nulle (ce n'est pas bon !!!).
    • La fonction f(X) s'est trompée dans sa prédiction et n'a pas été capable de nous donner le bon résultat.
    • Dans ce cas nous allons changer les paramètres de la fonction f(X) pour faire en sorte que f(X) = chien. 
    • C'est ce qui s'appelle la descente de gradient (on ne rentre pas plus dans les détails).
    • Une fois que les paramètres sont changés, on aura bel et bien f(X) = chien, on reviens donc au Cas 1 , la fonction de cout sera nulle et c'est ce qu'on voulait (Youpi)

 

Un concept très important à retenir ici c'est qu'il faut minimiser la fonction de cout

 

4) Trouver les paramètres qui minimisent la fonction de cout

 

Ca a déjà été évoqué précédemment, nous allons minimiser la fonction de cout pour optimiser au mieux les paramètres de la fonction f(X). Pour cela nous allons utiliser nos images d'entrainement et nous allons évaluer notre fonction de cout pour chacune de nos images. Au fur et à mesure nous allons ajuster les paramètres jusqu'à tomber sur notre minimum

 

5) Test de notre fonction

 

Une fois que le minimum est trouvé,  nous allons tester notre modèle. Nous allons donner des images de chien et de chat (différentes des images d'entraînement) à notre fonction et voir si il retourne la bonne valeur. Ici on ne fais pas varier les paramètres, on regarde juste le résultat de f(X) et on regarde si c'est différent du résultat Y attendu. on mesure la performance de notre modèle avec des indicateurs tel que la précision et le rappel

 

Voilà en gros l'apprentissage machine. Tu apprends à une fonction f à reconnaitre des éléments. Tu paramètres f(X) en fonction du résultat de la fonction de cout jusqu'à que cette dernière atteigne un minimum. Une fois que l'apprentissage est finis tu teste ta fonction pour voir si tout est bon. 

 

N'hésite pas si tu as plus de questions !

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...