WEBVTT

00:00.450 --> 00:03.170
Bonjour et bienvenue dans ce tutoriel sur Python.

00:03.240 --> 00:09.180
Alors, maintenant que nous sommes prêts à former le réseau afin de minimiser la distance au carré entre les sorties et la

00:09.180 --> 00:13.820
cible, grâce à ce que nous avons fait avec la trace d’éligibilité de la section précédente.

00:14.010 --> 00:19.560
En gros, nous étions prêts à commencer toute la formation en sachant que nous obtenions notre cible, nos prévisions,

00:19.560 --> 00:24.600
puis nous calculions la dernière erreur entre les prévisions et la cible, puis nous procédions à la propagation

00:24.600 --> 00:28.420
en amont pour obtenir une grille au centre des poids de données.

00:28.470 --> 00:35.460
Nous étions donc prêts à faire tout cela, mais puisque nous voulons calculer la moyenne mobile et les 100 étapes que vous

00:35.460 --> 00:38.040
connaissez pour suivre la moyenne pendant la formation.

00:38.160 --> 00:45.060
Eh bien, juste avant de suivre toute cette formation, nous allons organiser un cours pour obtenir cette

00:45.060 --> 00:47.360
moyenne mobile de 100 étapes.

00:47.550 --> 00:49.450
Donc, pas de panique, nous le ferons rapidement.

00:49.500 --> 00:54.270
Nous allons en faire une classe avec trois fonctions que nous allons faire tout cela et le seul tutoriel, donc nous allons

00:54.270 --> 00:54.950
le faire rapidement

00:54.960 --> 00:55.890
Nous l'avons déjà fait.

00:55.890 --> 01:00.680
Et en plus, nous voulons nous concentrer sur la formation en ce moment, car c’est le plus important.

01:00.840 --> 01:04.500
Faisons donc ce cours maintenant dans ce tutoriel unique.

01:04.500 --> 01:10.710
Très bien, nous allons donc introduire une nouvelle classe que nous allons appeler et une moyenne mobile,

01:11.220 --> 01:13.290
puis voici notre première fonction.

01:13.290 --> 01:20.490
Donc, bien sûr, la fonction innée qui ne change jamais et ceci et cette fonction vont

01:20.490 --> 01:22.140
prendre deux arguments.

01:22.140 --> 01:30.450
Le premier est self pour la future moyenne mobile et sa taille qui correspondra à la taille de la

01:30.540 --> 01:34.620
liste des mots dont nous allons calculer la moyenne.

01:34.620 --> 01:36.850
Donc, ça va être 100.

01:36.870 --> 01:39.800
Très bien, nous avons des arguments pour la fonction.

01:39.840 --> 01:42.120
Maintenant, allons à l'intérieur de la fonction.

01:42.120 --> 01:47.460
Maintenant que vous savez quoi faire, nous devons initialiser les variables spécifiques à l’objet.

01:47.460 --> 01:48.250
Et ce sont.

01:48.330 --> 01:56.820
Le premier sera une liste de mots qui sera la liste contenant les 100 mots dont nous

01:56.910 --> 01:59.310
allons calculer la moyenne.

01:59.310 --> 02:05.450
Donc, ici maintenant, nous initialisons simplement cette liste avec cette liste vide ici.

02:05.850 --> 02:13.020
Donc, listez chaque mot et ensuite la seconde variable de notre futur objet sera bien sûr la taille et la

02:13.500 --> 02:19.440
taille sera égale aux arguments qui entreront lors de la création des futurs objets à

02:19.440 --> 02:20.250
moyenne mobile.

02:20.580 --> 02:22.140
Donc, touriste.

02:22.400 --> 02:29.850
Et nous sommes déjà prêts à passer à la fonction suivante qui sera la fonction add et

02:29.850 --> 02:32.210
qui ajoutera les récompenses cumulées.

02:32.220 --> 02:35.530
Attention, ce n'est pas la simple récompense, c'est la récompense cumulée.

02:35.610 --> 02:40.660
Et c’est parce que vous savez que nous faisons un suivi d’éligibilité et que nous apprenons donc toutes les 10 étapes.

02:40.770 --> 02:44.480
Et donc apprendre avec une récompense cumulative et non une simple récompense.

02:44.700 --> 02:52.830
Donc, cela ajoute la fonction que nous sommes sur le point de créer va ajouter la récompense cumulative à cette liste de récompenses.

02:52.830 --> 02:59.370
Donc, Jeff nous appellerons cela une publicité bien sûr et cette fonction prendra deux arguments.

02:59.370 --> 03:05.070
Le premier est self car nous allons utiliser cette liste de mots ici, simplement parce que nous allons

03:05.070 --> 03:08.350
ajouter la récompense cumulative à cette liste de mots.

03:08.490 --> 03:11.650
Nous avons donc besoin de nous-mêmes pour pouvoir l'obtenir.

03:11.670 --> 03:18.070
Et le second va être les récompenses qui représenteront la récompense cumulée.

03:18.570 --> 03:21.810
Très bien, il y a deux arguments de la fonction.

03:21.810 --> 03:25.370
Maintenant, allons à l'intérieur de la fonction et définissons ce qu'elle doit faire.

03:25.710 --> 03:32.150
Ok, donc très simplement, la première chose à faire est que chaque fois que nous accumulons nous en voulons un nouveau.

03:32.190 --> 03:38.460
Vous savez, quand nous progressons sur les étapes de la tenue. Ce qu’il faut faire, c’est d’ajouter ces mots à

03:38.460 --> 03:39.270
la liste.

03:39.270 --> 03:43.650
Et c'est exactement ce que nous allons faire: nous allons écrire une ligne de code

03:43.650 --> 03:49.240
qui ajoutera cette nouvelle récompense cumulative que nous obtenons après avoir progressé en dix étapes dans cette liste de mots.

03:49.320 --> 03:56.290
Et pour ce faire, nous devons séparer deux conditions car, puisqu'il travaillera avec des lots, nous voulons figurer dans

03:56.340 --> 04:02.430
certaines listes, mais dans d'autres cas, les mots peuvent également être composés d'un seul élément et

04:02.430 --> 04:09.840
la syntaxe permettant d'ajouter un élément à un élément. liste qui est la liste des mots ici n'est pas la même

04:09.840 --> 04:13.330
si vous ajoutez une liste ou un seul élément.

04:13.350 --> 04:17.020
Nous devons donc simplement en faire une condition qui séparera ces deux cas.

04:17.190 --> 04:22.800
Et commençons par le premier cas, qui est le cas lorsque nous ajoutons une liste

04:22.800 --> 04:30.240
à cette liste de mots. Pour ce faire, nous allons ajouter une instance entre parenthèses. Nous avons mis deux arguments, le

04:30.240 --> 04:32.880
premier étant: sommes-nous? mots que nous ajoutons.

04:33.180 --> 04:34.510
Donc nous n'étions pas.

04:34.680 --> 04:37.470
Et le second est la liste.

04:37.620 --> 04:45.050
Et donc, si la liste de mots d'instance signifie si les récompenses sont dans une liste.

04:45.060 --> 04:56.280
Et si les récompenses sont dans une liste, ce que nous faisons est très simplement nous prenons notre liste de récompenses et nous allons ajouter

04:57.550 --> 05:05.110
cette liste car, puisque cette liste est une liste, nous pouvons utiliser une simple opération d'addition car

05:05.110 --> 05:09.220
nous pouvons des tulis pour obtenir les récompenses.

05:09.220 --> 05:13.380
Voici une liste parce que cela sera appelé à sens véritable pour dans ce cas.

05:13.380 --> 05:21.160
Et pour que nous puissions simplement additionner cette liste à notre liste de mots, nous pouvons simplement avoir votre

05:21.160 --> 05:24.300
liste de récompenses plus des récompenses égales.

05:24.880 --> 05:30.620
Et en faisant cela, nous élargissons simplement la liste de ces deux listes ensemble.

05:31.090 --> 05:31.560
D'accord.

05:31.600 --> 05:33.860
Et puis deuxième condition.

05:33.860 --> 05:41.470
Nous pouvons donc simplement ajouter autre chose de sorte que si les récompenses ne sont pas une liste et donc, s’il s’agit d’un seul élément, ce

05:42.130 --> 05:44.260
qui se passe dans ce cas.

05:44.470 --> 05:49.120
Eh bien c'est la même chose, nous voulons ajouter deux mots à notre liste de mots.

05:49.420 --> 05:53.810
Mais nous ne pouvons pas utiliser la syntaxe car nos mots ne seront plus une liste.

05:53.860 --> 05:55.320
Ce sera un élément unique.

05:55.540 --> 06:00.130
Nous devons donc utiliser une autre syntaxe, la fonction append.

06:00.130 --> 06:04.020
Lorsque vous souhaitez ajouter un seul élément à une liste, vous pouvez ajouter quelque chose à.

06:04.030 --> 06:05.890
Vous devez utiliser la fonction append.

06:05.890 --> 06:07.860
Et c'est donc exactement ce que nous allons faire maintenant.

06:07.890 --> 06:18.550
Nous allons prendre notre liste de mots de l'objet et la coller ici, puis ajouter un point, puis nous allons

06:18.550 --> 06:20.080
au premier.

06:20.560 --> 06:24.560
Et bien sûr, entre parenthèses, nous mettons les éléments que nous voulons ajouter.

06:24.790 --> 06:29.420
Et c’est bien sûr un mot, mais les mots dans ce cas ne seront pas une liste.

06:29.500 --> 06:34.880
Ce sera un élément unique, comme un seul mot cumulatif, pas dans une liste.

06:34.910 --> 06:39.490
Très bien et ensuite nous voulons le faire mais nous devons maintenant ajouter quelque chose de plus

06:39.490 --> 06:45.310
C'est ce qui arrive quand cette liste de mots contient plus de 100 éléments.

06:45.580 --> 06:51.760
Dans ce cas, nous devons supprimer tous les mots du premier élément de cette liste pour nous assurer

06:51.940 --> 06:56.440
que cette liste de mots ne contient pas toujours plus de 100 éléments.

06:56.440 --> 07:01.330
Donc, exactement comme ce que nous avons fait pour la voiture du Sud lors

07:01.330 --> 07:11.170
de la fabrication de cette fenêtre «aller», nous allons donc ajouter une condition temporaire précisant que chaque fois que la longueur de notre liste de mots correspond à

07:11.530 --> 07:19.060
un nombre liste de mots chaque fois que ce nombre est plus grand que moi cette taille qui est la taille

07:19.060 --> 07:23.900
que nous avons dite ici et qui sera plus tard égale à 100.

07:24.070 --> 07:25.390
Lorsque nous créons l'objet.

07:25.540 --> 07:30.250
Eh bien dès que le nombre d’éléments de cette liste de mots dépasse 100.

07:30.370 --> 07:38.760
Ce que nous voulons faire, c’est supprimer les premiers éléments de notre liste de mots que nous pouvons obtenir en prenant

07:38.860 --> 07:43.300
l’indice 0 qui est le premier index de notre liste de.

07:43.570 --> 07:51.400
Ceci est le premier élément de notre liste de mots et nous voulons le supprimer chaque fois que notre liste de mots

07:51.400 --> 07:53.590
contient plus de 100 éléments.

07:53.590 --> 08:00.100
Donc avec cela avec cette condition ici nous nous assurons que notre liste de mots ne contient jamais

08:00.100 --> 08:08.290
plus de 100 éléments et donc maintenant, ce que nous pouvons faire est de créer une nouvelle fonction pour calculer la moyenne de

08:08.290 --> 08:12.490
notre liste de mots qui contiendra à la course cent éléments.

08:12.610 --> 08:17.400
Nous allons donc calculer la moyenne mobile de 100 pas à chaque fois.

08:18.090 --> 08:23.040
Faisons-en donc une fonction très facile car il y a la fonction principale dans Python

08:23.220 --> 08:27.550
qui est une fonction de non-pilote pour calculer la moyenne d'une liste

08:27.690 --> 08:32.820
Et donc, introduisons notre dernière fonction ici que nous allons appeler moyenne et

08:32.820 --> 08:38.430
cette fonction prendra un argument qui va être soi-même parce que nous allons utiliser toujours

08:38.430 --> 08:44.360
notre liste de mots qui est une variable de notre objet à soi et à la coloration.

08:44.660 --> 08:51.450
Et maintenant, comparons la moyenne et donc directement nous allons renvoyer la moyenne parce que nous pouvons l’obtenir avec

08:51.780 --> 08:55.510
la fonction de moyenne à laquelle nous jouons bien sûr.

08:55.860 --> 09:01.840
Eh bien, ce que nous voulons calculer, c’est notre liste de ce que je pense copier encore.

09:01.980 --> 09:03.000
Oui on y va.

09:03.210 --> 09:08.430
Nous renvoyons donc simplement la moyenne de notre liste de mots et la moyenne.

09:08.520 --> 09:11.230
Comme je l'ai dit est une fonction non thaïlandaise.

09:11.490 --> 09:16.770
Donc ici et Anglish regardent cette liste de mots.

09:16.770 --> 09:21.670
Et puis on y va on a notre moyenne sur 100 marches parfaite.

09:21.720 --> 09:24.210
Nous avons donc fait cette classe très efficacement.

09:24.210 --> 09:29.060
Nous avons maintenant les instructions pour obtenir une moyenne mobile de 100 étapes.

09:29.280 --> 09:36.750
Et comme nous allons utiliser un seul objet à moyenne mobile pour bien s'entraîner, créons

09:36.750 --> 09:38.640
déjà cet objet.

09:38.730 --> 09:46.340
Et donc nous allons l'appeler un A et simplement et va être un objet et une classe.

09:46.560 --> 09:55.010
Et comme nous l’avons dit, nous voulons que la taille soit 100, car nous voulons calculer la moyenne mobile sur un 100 pas.

09:55.200 --> 09:56.100
Tellement parfait.

09:56.100 --> 09:57.080
Nous y voilà.

09:57.120 --> 10:01.830
Nous sommes maintenant prêts à former notre IA pour qu'elle soit enfin intelligente.

10:01.860 --> 10:06.120
Il est temps que ce soit à partir de ce moment que notre âge devienne intelligent.

10:06.210 --> 10:07.890
J'ai donc hâte de l'entraîner.

10:07.920 --> 10:11.260
Ça va être assez facile parce que c'est quelque chose que nous sommes morts.

10:11.400 --> 10:12.660
Mais ça va être amusant.

10:12.750 --> 10:18.090
Et après cela, il sera temps d’avoir encore plus de plaisir parce que, fondamentalement, je serai

10:18.090 --> 10:23.500
tout à fait prêt pour la construction, ainsi que pour l’intelligence et donc pour exécuter le code.

10:23.700 --> 10:30.540
Ensuite, je jouerai à Doom et, éventuellement, nous regarderons les vidéos de notre IA en train de jouer à Doom et nous

10:30.540 --> 10:33.420
verrons si elle parvient à atteindre le gilet.

10:33.510 --> 10:34.520
Donc je ne peux pas attendre.

10:34.560 --> 10:35.810
Faisons cette formation.

10:35.820 --> 10:37.360
Et jusque là je
