Andrew Ng

Qu'est-ce que l'apprentissage automatique ?

22 juillet 2017

Machine Learning
Illustration de Andrew Ng

Introduction et définition d'Arthur Samuel

Andrew Ng

Qu'est-ce que l'apprentissage automatique ? Dans cette vidéo, nous essaierons de définir ce que c'est, et aussi de vous donner une idée du moment où vous voudrez l'utiliser. Même parmi les praticiens de l'apprentissage automatique, il n'y a pas de définition bien acceptée de ce qui est et de ce qui n'est pas de l'apprentissage automatique. Mais laissez-moi vous montrer quelques exemples de la façon dont les gens ont essayé de le définir. Voici une définition de ce qu'est l'apprentissage automatique qui est due à Arthur Samuel. Il a défini l'apprentissage automatique comme le domaine d'étude qui donne aux ordinateurs la capacité d'apprendre sans être explicitement programmés. Le titre de gloire de Samuel était que, dans les années 1950, he a écrit un programme de jeu de dames. Et la chose étonnante à propos de ce programme de jeu de dames était qu'Arthur Samuel lui-même n'était pas un très bon joueur de dames. Mais ce qu'il a fait, c'est qu'il a fait jouer le programme des dizaines de milliers de parties contre lui-même, et en observant quels types de positions sur le plateau tendaient à mener à des victoires, et quels types de positions tendaient à mener à des défaites, le programme de jeu de dames a appris au fil du temps quelles sont les bonnes positions et quelles sont les mauvaises positions, et a finalement appris à jouer aux dames mieux qu'Arthur Samuel lui-même n'en était capable. C'était un résultat remarquable. Arthur Samuel lui-même s'est avéré ne pas être un très bon joueur de dames, mais parce qu'un ordinateur a la patience de jouer des dizaines de milliers de parties contre lui-même, aucun humain n'a la patience de jouer autant de parties. En faisant cela, l'ordinateur a pu acquérir une telle expérience du jeu de dames qu'il est finalement devenu un meilleur joueur de dames qu'Arthur Samuel lui-même. C'était une définition quelque peu informelle et plus ancienne.

Définition formelle de Tom Mitchell

Andrew Ng

Voici une définition un peu plus récente de Tom Mitchell, qui est un ami à Carnegie Mellon. Ainsi, Tom définit l'apprentissage automatique en disant qu'un problème d'apprentissage bien posé est défini comme suit. Il dit qu'on dit d'un programme informatique qu'il apprend d'une expérience E par rapport à une tâche T et à une mesure de performance P, si sa performance sur T, telle que mesurée par P, s'améliore avec l'expérience E. Je pense en fait qu'il a trouvé cette définition juste pour que ça rime.

Exemple pratique : Le filtrage de spam

Andrew Ng

Pour les exemples du jeu de dames, l'expérience E serait l'expérience d'avoir le programme jouant des dizaines de milliers de parties contre lui-même. La tâche T serait la tâche de jouer aux dames, et la mesure de performance P serait la probabilité qu'il gagne la prochaine partie de dames contre un nouvel adversaire. Tout au long de ces vidéos, en plus d'essayer de vous enseigner des choses, je vous poserai occasionnellement une question pour m'assurer que vous comprenez le contenu. En voici une. En haut se trouve la définition de l'apprentissage automatique par Tom Mitchell. Disons que votre programme de messagerie observe quels e-mails vous marquez ou non comme spam. Ainsi, dans un client de messagerie comme celui-ci, vous pourriez cliquer sur ce bouton spam pour signaler certains e-mails comme spam, mais pas d'autres. Et selon les e-mails que vous marquez comme spam, disons que votre programme de messagerie apprend mieux comment filtrer les e-mails indésirables. Quelle est la tâche T dans ce contexte ? Dans quelques secondes, la vidéo s'arrêtera, et lorsqu'elle le fera, vous pourrez utiliser votre souris pour sélectionner l'un de ces quatre boutons radio pour me faire savoir lequel de ces quatre est, selon vous, la bonne réponse à cette question. J'espère donc que vous avez compris que c'est la bonne réponse, classer les e-mails est la tâche T.

Types d'apprentissage : Supervisé et Non supervisé

Andrew Ng

En fait, cette définition définit la tâche T, une mesure de performance P et une certaine expérience E. Et ainsi, regarder vous étiqueter les e-mails comme spam ou non-spam, ce serait l'expérience E, et la fraction d'e-mails correctement classés, cela pourrait être notre mesure de performance P. Et ainsi, notre performance sur la tâche T, sur la mesure de performance P, s'améliorera après l'expérience E. Dans ce cours, j'espère vous enseigner divers types d'algorithmes d'apprentissage. Il existe plusieurs types d'algorithmes d'apprentissage. Les deux principaux types sont ce que nous appelons l'apprentissage supervisé et l'apprentissage non supervisé. Je définirai ce que ces termes signifient davantage dans les deux prochaines vidéos, mais il s'avère que dans l'apprentissage supervisé, l'idée est que nous allons enseigner à l'ordinateur comment faire quelque chose, tandis que dans l'apprentissage non supervisé, nous allons le laisser apprendre par lui-même. Ne vous inquiétez pas si ces deux termes n'ont pas encore de sens. Dans les deux prochaines vidéos, je vais dire exactement ce que sont ces deux types d'apprentissage. Vous pourriez également entendre d'autres termes à la mode tels que l'apprentissage par renforcement et les systèmes de recommandation. Ce sont d'autres types d'algorithmes d'apprentissage automatique dont nous parlerons plus tard, mais les deux types d'algorithmes d'apprentissage les plus utilisés sont probablement l'apprentissage supervisé et l'apprentissage non supervisé, et je les définirai dans les deux prochaines vidéos et nous passerons la majeure partie de ce cours à parler de ces deux types d'algorithmes d'apprentissage.

Conseils pratiques et analogie du charpentier

Andrew Ng

Il s'avère que l'une des autres choses sur lesquelles nous passerons beaucoup de temps dans ce cours sont les conseils pratiques pour l'application des algorithmes d'apprentissage. C'est quelque chose qui me tient à cœur, et c'est en fait quelque chose que je ne sais pas si d'autres professeurs d'université enseignent. Enseigner les algorithmes d'apprentissage, c'est comme vous donner un ensemble d'outils, et tout aussi important ou plus important que de vous donner les outils est de vous apprendre à utiliser ces outils correctement. J'aimerais faire une analogie avec l'apprentissage du métier de charpentier. Imaginez que quelqu'un vous apprenne à être charpentier et qu'il dise : voici un marteau, voici un tournevis, voici une scie, bonne chance. Eh bien, ça ne va pas, n'est-ce pas ? Vous avez tous ces outils, mais le plus important est d'apprendre à utiliser ces outils correctement. Il y a une énorme différence entre les personnes qui savent utiliser ces algorithmes d'apprentissage automatique et celles qui ne savent pas bien utiliser ces outils. Ici, dans la Silicon Valley où je vis, quand je visite différentes entreprises, même dans les meilleures entreprises de la Silicon Valley, je vois très souvent des gens essayer d'appliquer des algorithmes d'apprentissage automatique à un problème, et parfois ils y travaillent depuis six mois. Mais parfois, quand je regarde ce qu'ils font, je me dis, vous savez, j'aurais pu leur dire, j'aurais pu vous dire il y a six mois que vous devriez prendre votre algorithme d'apprentissage et l'appliquer de cette manière légèrement modifiée, et vos chances de succès auraient été bien plus élevées. Donc, ce que nous allons faire dans ce cours, c'est passer beaucoup de temps à parler de la façon dont, si vous essayez réellement de développer un système d'apprentissage automatique, comment prendre ces décisions de type meilleures pratiques sur la façon dont vous construisez votre système, de sorte que lorsque vous appliquez un algorithme d'apprentissage, vous soyez moins susceptible de finir comme l'une de ces personnes qui finissent par poursuivre une voie pendant six mois que, vous savez, quelqu'un d'autre aurait pu deviner qu'elle n'allait pas fonctionner du tout et que c'était juste une perte de temps pour six mois. Je vais donc passer beaucoup de temps à vous enseigner ces types de meilleures pratiques en apprentissage automatique et en IA, et comment faire fonctionner ces trucs et comment nous le faisons, ou comment les meilleures personnes le font, dans la Silicon Valley et dans le monde entier.

Conclusion et perspectives

Andrew Ng

J'espère faire de vous l'une des meilleures personnes sachant comment concevoir et construire des systèmes sérieux d'apprentissage automatique et d'IA. Voilà donc l'apprentissage automatique, et ce sont les principaux sujets que j'espère enseigner. Dans la prochaine vidéo, je vais définir ce qu'est l'apprentissage supervisé, et après cela, ce qu'est l'apprentissage non supervisé, et aussi commencer à parler de quand vous utiliseriez chacun d'eux.