WEBVTT

00:01.340 --> 00:02.810
Hallo en welkom terug.

00:03.200 --> 00:10.010
In de laatste lezing heb je gezien hoe we onze helperfuncties gebruiken om de kern van onze functionaliteit echt in te stellen om

00:10.010 --> 00:11.300
onze modellen te trainen.

00:11.300 --> 00:16.370
Dus we hadden onze eindstatus, onze startlocatie, onze volgende actie, volgende locatie en kortste pad

00:16.370 --> 00:21.230
echt de meerderheid van hoe onze agent of hoe onze omgeving gaat werken.

00:21.560 --> 00:25.460
Het laatste wat we moeten doen is onze training gebruiken om onze training te gebruiken.

00:25.460 --> 00:31.280
Het is vrij eenvoudig in de zin van wat we moeten opnemen, maar hoe we het aanpakken is een ander

00:31.280 --> 00:31.670
verhaal.

00:32.240 --> 00:36.800
Dat gezegd hebbende, ook als jullie een andere benadering gebruiken of als je dit wilt aanpassen en ermee wilt

00:36.800 --> 00:38.300
experimenteren, wordt dit ten zeerste aanbevolen.

00:38.600 --> 00:42.410
Als u daarnaast een andere aanpak gebruikt en deze wilt bespreken, aarzel dan niet om deze te

00:42.410 --> 00:43.520
delen in de Q&amp;A.

00:43.730 --> 00:45.410
Meer dan blij om het met u te bespreken.

00:45.410 --> 00:50.480
Het is zo'n geweldig idee, want er zijn zoveel manieren om dit op te lossen en je zou een manier kunnen

00:50.480 --> 00:52.190
vinden die veel beter en voordeliger is.

00:52.190 --> 00:55.520
We zouden de voor- en nadelen opnieuw kunnen bekijken, meer dan blij om het te bespreken.

00:55.670 --> 00:56.030
Oke.

00:56.090 --> 00:57.260
Dus wat moeten we doen?

00:57.260 --> 00:58.880
We moeten onze opleiding starten.

00:59.210 --> 00:59.990
Voor onze opleiding.

00:59.990 --> 01:01.490
We willen de Epsilon gebruiken.

01:01.490 --> 01:08.930
Dus eigenlijk het percentage dat we gaan nemen voor de beste actie voor R in plaats van een willekeurige actie.

01:08.930 --> 01:15.650
Dus laten we onze epsilon instellen en op 0 zetten. 9 en we gaan iets soortgelijks doen met onze waarden

01:15.650 --> 01:17.900
voor onze kortingsfactor en onze leersnelheid.

01:18.140 --> 01:23.030
Dus laten we de kortingsfactor gelijk aan 0 doen. 9.

01:23.690 --> 01:29.480
Laten we ook onze leersnelheid nemen en deze gelijk stellen aan 0. 9.

01:29.900 --> 01:33.620
Dat zal het tarief zijn dat onze agent gaat of zou moeten leren.

01:33.920 --> 01:39.140
En we willen ook het aantal trainingsafleveringen nemen, laten we het zo noemen, en trainingsafleveringen.

01:39.290 --> 01:41.300
We hebben dus een aantal trainingsafleveringen.

01:41.300 --> 01:42.500
Laten we het op duizend zetten.

01:42.500 --> 01:46.400
Hoe vaak gaat het trainen of hoeveel afleveringen gaat dit trainen?

01:48.050 --> 01:48.500
Geweldig.

01:49.130 --> 01:52.870
Wat we nu eigenlijk willen doen, is elke aflevering herhalen.

01:52.880 --> 02:00.060
We willen het bereik van ons aantal trainingsafleveringen nemen en ons in wezen ons epsilon instellen.

02:00.080 --> 02:01.760
We willen ons temporele verschil vinden.

02:01.760 --> 02:04.610
Om dat in te stellen, moeten we naar enkele eerdere Q-waarden kijken.

02:04.610 --> 02:08.210
We moeten onze startpositie berekenen in onze actie-index.

02:08.660 --> 02:10.520
Dus laten we beginnen.

02:11.060 --> 02:12.440
Laten we een grote for-lus nemen.

02:12.450 --> 02:14.450
Dus we hebben onze vier afleveringen.

02:16.810 --> 02:19.780
In het bereik van ons aantal trainingsafleveringen.

02:22.060 --> 02:22.540
Daar gaan we.

02:22.690 --> 02:31.360
Behoudens enige syntaxisfout van mijn kant, willen we de rij-index en de kolomindex voor ons raster voor

02:31.360 --> 02:33.700
onze Ms. kolom index.

02:36.080 --> 02:41.240
En zei een beoogde startlocatie, we hebben een startlocatie nodig.

02:41.240 --> 02:44.210
Dus laten we elke aflevering dat arme uur hebben.

02:45.100 --> 02:49.300
Nu kunnen we onze eindstatus instellen while.

02:51.180 --> 02:51.690
Niet.

02:52.850 --> 02:56.110
Is terminale staat.

02:56.360 --> 03:01.280
We willen kijken naar de rij-index en de kolomindex.

03:02.330 --> 03:02.720
Oké.

03:03.110 --> 03:07.160
Laten we vervolgens onze actie-index instellen voor onze volgende actie.

03:07.430 --> 03:08.990
Dus we hebben onze volgende actie nodig.

03:08.990 --> 03:16.550
Terwijl deze agent de middelen voor onze actie-index doorloopt, kunnen we onze volgende actie gebruiken.

03:17.770 --> 03:24.730
En we kunnen onze rij-indexkolomindex gebruiken en laten we onze epsilon noemen.

03:24.730 --> 03:29.620
Dus we willen dit hebben in plaats van onze willekeurige actie, laten we de kolomindex gebruiken.

03:31.930 --> 03:33.610
En we hebben Epsilon nodig.

03:34.270 --> 03:34.650
Geweldig.

03:35.320 --> 03:36.610
Als ik goed kon spellen.

03:36.610 --> 03:38.950
Hier, we willen Epsilon.

03:39.790 --> 03:41.380
Oké, laat me dit even verwijderen.

03:41.680 --> 03:42.070
Oké.

03:42.460 --> 03:46.930
Laat me de rest van de code pakken en we lopen er doorheen zodat je niet hoeft te kijken hoe ik elke

03:47.350 --> 03:47.980
regel typ.

03:48.400 --> 03:51.440
Maar houd dat in gedachten hoe we dit willen aanpakken.

03:51.460 --> 03:54.940
Als compensatie voor de oude rij hebben we een oude rij-index nodig.

03:55.180 --> 04:00.130
We zouden ook de beloningen voor onze kolommen en onze rijen willen hebben.

04:00.370 --> 04:05.140
We moeten kijken naar wachtrijwaarden en oude wachtrijwaarden, en we moeten ons temporele verschil

04:05.140 --> 04:05.620
berekenen.

04:06.190 --> 04:06.640
Oké.

04:06.880 --> 04:09.820
U ziet dus de wijziging in code of de update van de code.

04:10.030 --> 04:16.150
We nemen onze oude rij-index en onze oude kolomindex om naar onze rij-index en kolomindex te kijken.

04:16.480 --> 04:20.020
Onze rij-index kolomindex gelijk aan onze volgende locatie.

04:20.020 --> 04:24.070
En onze volgende locatie zou de rij-index, kolom, index en actie nodig hebben.

04:25.280 --> 04:27.110
Ten slotte kijken we naar een beloning.

04:27.710 --> 04:34.580
Onze oude Q-waarden zouden Q-waarden zijn met de oude rij-index, de oude kolomindex en nogmaals, verwijzend naar

04:34.580 --> 04:40.640
onze actie-index en de berekening van ons tijdsverschil, wat onze beloning is, plus de

04:40.640 --> 04:47.630
kortingsfactor maal de Q-waarden met de rij index en kolomindex minus de oude Q-waarde van de vorige

04:47.630 --> 04:48.140
Q-waarde.

04:49.980 --> 04:55.980
Bijna klaar waar we onze nieuwe Q-waarde nodig hebben, wat onze oude cue-waarde is, plus

04:55.980 --> 05:03.330
de leersnelheid, tijden, tijdsverschil en onze cue-waarden met de oude rij-index in onze oude kolomindex die gelijk is aan de

05:03.360 --> 05:04.320
nieuwe cue-waarde.

05:05.770 --> 05:09.850
Als jullie hier verder over willen praten, raad ik de Q&amp;A ten zeerste aan.

05:09.850 --> 05:11.080
Voel je vrij om te printen.

05:11.320 --> 05:13.630
Probeer te experimenteren met alle variabelen die hier worden gebruikt.

05:13.630 --> 05:18.430
Als je hun vorm wilt zien, zien hoe ze kunnen worden gebruikt, waar het naar verwijst, raad ik het ten zeerste aan en ik

05:18.430 --> 05:20.380
ben meer dan blij om het verder te bespreken.

05:21.130 --> 05:24.430
Een laatste ding dat we kunnen doen, dus we hebben een kleine melding.

05:24.700 --> 05:29.950
Laten we een afdrukoverzicht toevoegen, zodat we weten wanneer de training is voltooid voor onze duizend rijen.

05:29.980 --> 05:30.580
Oke.

05:30.970 --> 05:34.570
Als er geen syntaxisfouten van mijn kant zijn, zouden we goed moeten zijn om te gaan.

05:34.600 --> 05:36.730
Het kolomnotitieblok wordt geïnitialiseerd.

05:36.730 --> 05:38.610
Ik heb alles opnieuw gedaan, dus laat me dit uitvoeren.

05:38.620 --> 05:41.410
Het zou heel snel moeten gaan, aangezien we alleen numpy gebruiken.

05:41.620 --> 05:43.750
Het is in zekere zin een erg geoptimaliseerd model.

05:44.050 --> 05:46.840
Laat me hierop klikken en dan zoeken we de kortste weg.

05:48.310 --> 05:48.750
Oke.

05:48.760 --> 05:50.020
We hebben onze opleiding afgerond.

05:50.590 --> 05:54.760
Laten we voor sommige startopties ook het kortste pad afdrukken.

05:54.760 --> 05:59.650
Dus we beginnen een rij drie, kolom negen met de kortste padoptie met ons kortste pad.

06:00.130 --> 06:06.670
We willen naar rij vijf en nul kijken en beginnen bij rij negen en kolom nummer vijf.

06:07.120 --> 06:08.080
Laten we deze uitprinten.

06:08.890 --> 06:09.370
Geweldig.

06:09.370 --> 06:12.280
We hebben de kortste weg, maar we zijn nog niet klaar.

06:12.460 --> 06:13.390
We zijn er bijna.

06:13.930 --> 06:20.650
We kunnen zien dat onze postbode automatisch het kortste pad krijgt van een juridische locatie die we kunnen overwegen, van onze stad

06:20.650 --> 06:22.780
naar het verpakkingsgebied van het artikel.

06:22.790 --> 06:27.430
Maar hoe zit het met het omgekeerde van het tegenovergestelde scenario, in feite verwijzend naar, weet je, kan

06:27.430 --> 06:31.090
onze postbode een artikel van overal in de stad naar het verpakkingsgebied brengen?

06:31.390 --> 06:37.510
Maar na het item zou het dan van dat gebied, van het verpakkingsgebied naar een andere locatie in de stad moeten

06:37.510 --> 06:40.180
gaan, omdat het het volgende item zou moeten ophalen.

06:40.660 --> 06:43.780
Dus wat kunnen we doen om dit op te lossen?

06:43.780 --> 06:45.220
En het is eigenlijk best simpel.

06:45.400 --> 06:47.890
Je zou de volgorde van het kortste pad kunnen herzien.

06:48.730 --> 06:51.940
Probeer daar even over na te denken en dan zou dit de oplossing zijn.

06:53.320 --> 06:55.110
We kunnen de kortste weg gebruiken.

06:55.120 --> 07:00.550
Dus laten we vijf en kolom twee nemen en dan hoef je alleen de omgekeerde optie met Python te

07:00.550 --> 07:01.150
gebruiken.

07:01.270 --> 07:04.270
We gebruiken paddot reverse en we kunnen het pad afdrukken.

07:04.570 --> 07:06.040
Dus we kijken naar vijf en twee.

07:07.050 --> 07:07.800
En daar gaan we.

07:07.800 --> 07:09.220
Wij hebben de kortste weg.

07:09.420 --> 07:14.250
En het is erg handig als je de afbeelding in de cel wilt pakken en naar beneden wilt halen om die paden te vergelijken

07:14.250 --> 07:14.910
en te bekijken.

07:14.910 --> 07:20.310
Maar u kunt het pad daadwerkelijk zien als u de afgedrukte verklaring neemt, naar de kolom in

07:20.310 --> 07:23.250
de bestelling kijkt en ziet hoe de verkoper reist.

07:23.250 --> 07:25.560
Zo geweldig werk dat je gebruikt.

07:25.770 --> 07:26.610
V Leren.

07:26.880 --> 07:32.550
Wat we van deze cursus hebben geleerd, heeft een beetje een bonus en een leuk scenario in de sectie

07:32.550 --> 07:35.070
om dit in wezen handelsreizigersprobleem op te lossen.

07:35.070 --> 07:40.770
We kijken naar de postbode om pakketten en items in de stad te bezorgen om die kortste opties en kortste

07:40.770 --> 07:41.640
paden te vinden.

07:41.670 --> 07:47.400
Ik raad u ten zeerste aan om aan te passen, andere opties uit te testen, de hyperparameters te wijzigen,

07:47.400 --> 07:53.670
en als u iets beters ontdekt, als u optimalisatie- of beste parameters ontdekt om te gebruiken, aarzel dan niet om deze te

07:53.670 --> 07:54.990
delen in de Q&amp;A.

07:55.620 --> 07:56.280
Verbazingwekkend.

07:56.300 --> 07:58.110
Ik hoop dat jullie hier echt van genoten hebben.

07:58.320 --> 08:01.350
Pas het aan, experimenteer en blijf leren.

08:01.380 --> 08:02.970
Het is zo leuk om met je samen te werken.

08:02.970 --> 08:04.820
Leren en genieten I.
