WEBVTT

00:00.300 --> 00:02.670
Hallo en welkom bij deze Python-tutorial.

00:03.120 --> 00:09.120
Dus nu we klaar zijn om het netwerk te trainen om de kwadratische afstand tussen de output en het doel

00:09.120 --> 00:14.760
te minimaliseren, dankzij wat we deden met de geschiktheidstracering in de vorige sectie, nou, eigenlijk waren we klaar

00:14.760 --> 00:20.220
om de hele training te starten door, jij weten, onze invoer krijgen, ons doel, onze voorspellingen, dan

00:20.340 --> 00:25.890
de laatste fout vergelijken tussen de voorspellingen en het doel en dan de achterwaartse voortplanting doen met de

00:25.890 --> 00:28.090
Cassegrain in het centrum van gegevensgewichten.

00:28.320 --> 00:30.300
Dus we waren klaar om dit allemaal te doen.

00:30.300 --> 00:36.480
Maar omdat we het voortschrijdend gemiddelde van honderd stappen willen berekenen, weet je, om het gemiddelde van

00:36.480 --> 00:43.350
de training bij te houden, nou, net voordat we deze hele training doen, gaan we nu een klas maken

00:43.350 --> 00:47.070
die dit zal krijgen voortschrijdend gemiddelde op honderd stappen.

00:47.430 --> 00:48.240
Geen zorgen dus.

00:48.240 --> 00:49.230
We zullen het snel doen.

00:49.360 --> 00:53.430
We zullen een klasse maken met drie functies, maar we zullen dit allemaal doen in de enkele tutorial.

00:53.700 --> 00:54.780
Dus we doen het snel.

00:54.810 --> 00:55.800
We hebben het al gedaan.

00:55.800 --> 01:00.440
En bovendien willen we ons nu concentreren op de training, want dat is het belangrijkste.

01:00.720 --> 01:03.750
Dus laten we deze les nu maken in deze enkele tutorial.

01:04.350 --> 01:04.770
Oke.

01:04.770 --> 01:10.590
Dus we gaan een nieuwe klasse introduceren, die we gaan noemen en een voortschrijdend gemiddelde van vier.

01:11.040 --> 01:13.200
En daar gaan we dan met onze eerste functie.

01:13.200 --> 01:18.390
Dus dat is natuurlijk de init-functie die er nooit in verandert.

01:18.840 --> 01:21.690
En voor deze functie zijn twee argumenten nodig.

01:22.020 --> 01:30.420
De eerste zelf voor het voortschrijdend gemiddelde toekomstige object en de grootte, die overeenkomt met de grootte van de

01:30.420 --> 01:34.440
lijst met beloningen waarvan we het gemiddelde gaan berekenen.

01:34.470 --> 01:36.050
Dit worden er dus honderd.

01:36.720 --> 01:37.100
Oke.

01:37.110 --> 01:39.540
We hebben dus argumenten voor de init-functie.

01:39.720 --> 01:41.600
Laten we nu naar de functie gaan.

01:41.940 --> 01:43.080
Nu weet je wat je moet doen.

01:43.080 --> 01:47.070
We moeten de variabelen die specifiek zijn voor het object initialiseren.

01:47.250 --> 01:53.850
En deze zijn goed, eerst zal de eerste een lijst met beloningen zijn.

01:54.390 --> 01:59.090
Dat wordt de lijst met de honderd beloningen waarvan we het gemiddelde gaan berekenen.

01:59.160 --> 02:04.980
Dus hier op dit moment initialiseren we deze lijst gewoon tot dit jaar.

02:05.700 --> 02:06.710
Dus lijst met beloningen.

02:06.720 --> 02:14.040
En dan is de tweede variabele van ons toekomstige object natuurlijk de grootte en de grootte zal gelijk zijn aan

02:14.040 --> 02:18.750
de argumenten die we zullen invoeren bij het creëren van de toekomst.

02:18.750 --> 02:21.760
Bewegende gemiddelde objecten dus grootte hier.

02:22.200 --> 02:29.580
En we zijn al klaar om door te gaan naar de volgende functie, die de add-functie zal zijn en

02:29.580 --> 02:32.080
die de cumulatieve beloningen zal toevoegen.

02:32.100 --> 02:32.610
Doe voorzichtig.

02:32.610 --> 02:35.310
Het is niet de simpele beloning, het is de cumulatieve beloning.

02:35.430 --> 02:40.590
En dat is omdat, weet je, we de geschiktheid traceren en daarom elke 10 stappen leren en

02:40.590 --> 02:44.240
daarom leren met cumulatieve beloningen en niet met een eenvoudige beloning.

02:44.580 --> 02:52.200
Dus deze advertentiefunctie die we gaan maken, zal de cumulatieve beloning aan die lijst met beloningen toevoegen.

02:52.690 --> 02:59.070
Dus we gaan het natuurlijk ADD noemen, en voor deze functie zijn twee argumenten nodig.

02:59.220 --> 03:05.010
De eerste zelf, omdat we deze lijst met beloningen hier gaan gebruiken, omdat we simpelweg de cumulatieve

03:05.010 --> 03:08.130
beloningen gaan besteden aan deze lijst met beloningen.

03:08.340 --> 03:11.550
Dus we hebben het zelf nodig om dit zo zelf te kunnen krijgen.

03:11.550 --> 03:17.530
En de tweede zullen de beloningen zijn, die de cumulatieve beloning zullen vertegenwoordigen.

03:18.380 --> 03:18.810
Oke.

03:18.810 --> 03:21.450
Dus dat zijn onze twee argumenten van de ADD-functie.

03:21.750 --> 03:25.020
Laten we nu naar de functie gaan en definiëren wat het moet doen.

03:25.510 --> 03:31.830
Oké, heel eenvoudig, het eerste wat we moeten doen is telkens wanneer we een cumulatieve beloning krijgen, een nieuwe,

03:32.340 --> 03:38.520
wanneer we tien nieuwe stappen vooruitgaan, wel, wat we moeten doen is deze cumulatieve beloningen aan de lijst

03:38.520 --> 03:38.880
toevoegen.

03:39.090 --> 03:40.410
En dat is precies wat we gaan doen.

03:40.420 --> 03:45.540
We gaan een regel code schrijven die deze nieuwe cumulatieve beloning die we krijgen na tien

03:45.540 --> 03:48.680
stappen aan deze lijst met beloningen hier zal toevoegen.

03:49.140 --> 03:55.770
En om dit te doen, moeten we twee voorwaarden scheiden, want aangezien we met batches zullen werken, zullen de beloningen

03:55.980 --> 03:57.690
in sommige lijsten staan.

03:57.810 --> 04:01.890
Maar in sommige andere gevallen kunnen de beloningen ook als een enkel element zijn.

04:02.160 --> 04:09.330
En de syntaxis om een element aan een lijst toe te voegen, wat hier de lijst met beloningen is, is niet hetzelfde,

04:09.480 --> 04:12.920
of je nu een lijst toevoegt of een enkel element.

04:13.200 --> 04:16.680
Dus we hoeven alleen maar deze voorwaarde te stellen die deze twee gevallen van elkaar scheidt.

04:17.010 --> 04:22.500
En laten we beginnen met het eerste geval, wat het geval is wanneer wat we toevoegen aan deze lijst met beloningen een

04:22.500 --> 04:23.250
lijst is.

04:23.550 --> 04:26.520
En om dit te doen, gaan we een instantie toevoegen.

04:27.030 --> 04:29.520
En tussen haakjes voeren we twee argumenten in.

04:29.700 --> 04:36.930
De eerste is, zijn beloningen die we toevoegen, dus beloning en de tweede is lijst.

04:37.440 --> 04:47.310
En dus als het een beloningslijst is, betekent dat als de beloningen in een lijst staan en dus als de beloningen in

04:47.310 --> 04:54.690
een lijst staan, wat we doen is heel eenvoudig zelf dat we onze lijst nemen.

04:55.630 --> 04:56.260
beloningen.

04:57.370 --> 05:05.050
En we gaan deze lijst toevoegen, omdat dit een lijst is, wat we kunnen doen is een eenvoudige optelbewerking gebruiken, omdat we er

05:05.050 --> 05:09.160
een paar kunnen maken om de beloningen samen op te sommen.

05:09.190 --> 05:12.930
Hier is een lijst, omdat dit in dit geval gelijk is aan waar.

05:13.210 --> 05:21.010
En dus kunnen we deze lijst gewoon optellen bij onze lijst met beloningen en daarom kunnen we hier gewoon een lijst

05:21.010 --> 05:23.740
met beloningen plus gelijk aan beloningen toevoegen.

05:24.670 --> 05:30.070
En door dit te doen, breiden we de lijst gewoon uit door deze twee lijsten samen te sturen.

05:30.910 --> 05:31.440
Oke.

05:31.450 --> 05:39.910
En dan de tweede voorwaarde, zodat we simpelweg else kunnen toevoegen, zodat als de beloning geen lijst is en daarom als het een enkel

05:40.120 --> 05:43.970
element is en wie nog meer, wat er dan gebeurt?

05:44.320 --> 05:45.220
Nou, dat is hetzelfde.

05:45.220 --> 05:52.660
We willen de beloning toevoegen aan onze lijst met beloningen, maar we kunnen de syntaxis niet gebruiken omdat beloningen niet langer een

05:52.660 --> 05:53.690
lijst zijn.

05:53.710 --> 05:55.050
Het zal een enkel element zijn.

05:55.360 --> 05:59.710
Wat we dus moeten gebruiken, is een andere syntaxis, de append-functie.

05:59.980 --> 06:05.020
Als u een enkel element aan een lijst wilt toevoegen, kunt u enkele van de twee toevoegen die u nodig hebt met

06:05.020 --> 06:05.480
de append-functie.

06:05.710 --> 06:07.750
En dit is dus precies wat we nu gaan doen.

06:07.760 --> 06:18.370
We gaan onze lijst met woorden van het object nemen en die hier plakken en dan die append toevoegen dat we

06:18.370 --> 06:19.540
eerst gaan.

06:20.380 --> 06:24.340
En natuurlijk voeren we tussen haakjes het element in dat we willen toevoegen.

06:24.610 --> 06:26.020
En dit is natuurlijk een beloning.

06:26.290 --> 06:29.130
Maar beloningen zullen in dat geval geen lijst zijn.

06:29.320 --> 06:33.910
Het zal een enkel element zijn, zoals een enkele gecumuleerde beloning, niet in een lijst.

06:34.720 --> 06:35.160
Oke.

06:35.170 --> 06:39.080
En dan willen we dit doen, maar nu moeten we nog iets toevoegen.

06:39.290 --> 06:44.930
Het is wat er gebeurt als deze lijst met beloningen meer dan 100 elementen krijgt.

06:45.430 --> 06:51.220
Welnu, in dat geval moeten we het eerste element van deze lijst verwijderen, zodat we zeker weten

06:51.220 --> 06:55.900
dat deze lijst met beloningen altijd niet meer dan honderd elementen bevat.

06:56.320 --> 07:00.070
Dus precies zoals we deden voor de zelfrijdende auto bij het maken van dit scorevenster.

07:00.430 --> 07:08.350
En om hier zeker van te zijn, gaan we een bronvoorwaarde toevoegen die specificeert dat wanneer de lengte van onze lijst

07:08.890 --> 07:15.700
met beloningen, dat een aantal elementen is in onze lijst met beloningen, wanneer dit aantal groter is dan

07:15.700 --> 07:23.050
zelf, die grootte , dat is de grootte die we hier instellen en die later gelijk zal zijn aan honderd

07:23.050 --> 07:25.200
als we het object maken.

07:25.390 --> 07:30.580
Welnu, zodra het aantal elementen van deze lijst met beloningen groter is dan honderd,

07:30.580 --> 07:38.920
wel, wat we willen doen is het eerste element van onze lijst met beloningen verwijderen, wat we kunnen krijgen door de index

07:38.920 --> 07:40.330
nul te nemen.

07:40.330 --> 07:42.850
Dat is de eerste index van onze lijst met beloningen.

07:43.450 --> 07:46.750
Dit is het eerste element van onze lijst met beloningen.

07:47.020 --> 07:52.660
En we willen het verwijderen wanneer onze lijst met beloningen meer dan honderd elementen bevat.

07:53.440 --> 08:00.040
Zodat we er met deze voorwaarde hier voor zorgen dat onze lijst met beloningen nooit meer dan

08:00.040 --> 08:01.440
honderd elementen bevat.

08:02.050 --> 08:09.160
En daarom kunnen we nu een nieuwe functie maken om het gemiddelde van onze lijst met beloningen te

08:09.430 --> 08:15.580
berekenen, die honderd elementen zal bevatten, en daarom zullen we het voortschrijdend gemiddelde elke keer op

08:15.580 --> 08:17.080
honderd stappen berekenen.

08:17.940 --> 08:23.040
Dus laten we deze nieuwe functie maken, het zal heel gemakkelijk zijn omdat er de hoofdfunctie in Python

08:23.070 --> 08:26.960
is, een functie van non-pay om het gemiddelde van een lijst te berekenen.

08:27.540 --> 08:31.470
En laten we hier onze laatste functie introduceren, die we gemiddeld gaan noemen.

08:32.010 --> 08:36.870
En voor deze functie is één argument nodig, namelijk self, omdat we natuurlijk nog steeds

08:36.870 --> 08:41.240
onze lijst met beloningen gaan gebruiken, wat een variabele is van ons object.

08:41.580 --> 08:44.000
Dus ikzelf en Kullen.

08:44.580 --> 08:51.420
En laten we nu het gemiddelde berekenen en zo direct zullen we het gemiddelde teruggeven omdat we het kunnen

08:51.600 --> 08:55.260
krijgen met de gemiddelde functie waar we natuurlijk mee speelden.

08:55.710 --> 08:59.790
Welnu, wat we de betekenis daarvan willen berekenen, is onze lijst met beloningen.

09:00.030 --> 09:01.590
Ik denk dat ik nog steeds heb berekend.

09:01.800 --> 09:02.650
Ja, daar gaan we.

09:03.060 --> 09:06.810
Dus we geven gewoon de betekenis van onze lijst met beloningen terug.

09:07.170 --> 09:10.950
En het gemiddelde, zoals ik al zei, is een functie door non-pay.

09:11.340 --> 09:16.200
Dus hier voeg ik de snelkoppeling enpi toe die een lijst met beloningen betekent.

09:16.590 --> 09:20.160
En dan gaan we, we hebben ons gemiddelde van honderd stappen.

09:20.880 --> 09:21.570
Perfect.

09:21.570 --> 09:23.800
Dus die les hebben we heel efficiënt gemaakt.

09:24.060 --> 09:28.760
Nu krijgen we de instructies voor het verkrijgen van een voortschrijdend gemiddelde van honderd stappen.

09:29.100 --> 09:36.300
En aangezien we één object met voortschrijdend gemiddelde gaan gebruiken bij het doen van de training, laten we dit object

09:36.300 --> 09:38.280
met voortschrijdend gemiddelde al maken.

09:38.550 --> 09:46.020
En dus gaan we het een A noemen en eenvoudig en het wordt een object van de klasse MA.

09:46.380 --> 09:53.730
En zoals we al zeiden, we willen dat de grootte honderd is, omdat we het voortschrijdend gemiddelde willen berekenen op

09:53.730 --> 09:54.630
honderd stappen.

09:55.050 --> 09:55.930
Zo perfect.

09:55.950 --> 09:56.780
Daar gaan we.

09:56.940 --> 10:01.430
We zijn nu klaar om ons oog te trainen om eindelijk intelligent te zijn.

10:01.680 --> 10:02.640
Het zal tijd worden.

10:02.790 --> 10:07.500
Vanaf dit punt wordt ons oog slim, dus ik kan niet wachten om het te trainen.

10:07.740 --> 10:12.600
Het zal vrij eenvoudig zijn, want dit is iets wat we al hebben gedaan, maar dit wordt leuk.

10:12.600 --> 10:17.700
En bovendien, daarna wordt het tijd om nog meer plezier te hebben, want eigenlijk is onze A. L. zal volledig klaar zijn dat

10:17.700 --> 10:24.150
is gebouwd en ook intelligent, en daarom zullen we de code uitvoeren en dan zal onze lucht

10:24.150 --> 10:25.170
doom spelen.

10:25.410 --> 10:31.950
En uiteindelijk zullen we de video's van onze A. L. spelen ook, en we zullen zien of het erin slaagt

10:32.070 --> 10:33.000
het beste te bereiken.

10:33.360 --> 10:34.250
Dus ik kan niet wachten.

10:34.410 --> 10:35.670
Laten we de opleiding doen.

10:35.670 --> 10:37.210
En tot dan, Ingi.
