WEBVTT

00:01.340 --> 00:02.810
Hallo und willkommen zurück.

00:03.200 --> 00:10.010
Im letzten Vortrag haben Sie gesehen, wie wir unsere Hilfsfunktionen verwenden, um den Kern unserer Funktionalität zum Trainieren unserer

00:10.010 --> 00:11.300
Modelle wirklich einzurichten.

00:11.300 --> 00:16.370
Wir hatten also unseren Endzustand, unseren Startort, unsere nächste Aktion, den nächsten Ort und den kürzesten Weg,

00:16.370 --> 00:21.230
die wirklich den Großteil dessen definieren, wie unser Agent oder wie unsere Umgebung funktionieren wird.

00:21.560 --> 00:25.460
Das Letzte, was wir tun müssen, ist, unser Training zu nutzen, um unser Training zu nutzen.

00:25.460 --> 00:31.280
Es ist ziemlich einfach in dem Sinne, was wir einbeziehen müssen, aber wie wir es angehen, ist eine andere

00:31.280 --> 00:31.670
Geschichte.

00:32.240 --> 00:36.800
Abgesehen davon ist es auch sehr zu empfehlen, wenn Sie einen anderen Ansatz verwenden oder diesen

00:36.800 --> 00:38.300
anpassen und damit experimentieren möchten.

00:38.600 --> 00:42.410
Wenn Sie einen anderen Ansatz verwenden und darüber diskutieren möchten, können Sie sich gerne an den

00:42.410 --> 00:43.520
Fragen und Antworten beteiligen.

00:43.730 --> 00:45.410
Gerne bespreche ich das mit Ihnen.

00:45.410 --> 00:50.480
Es ist eine großartige Idee, weil es so viele Möglichkeiten gibt, dies zu lösen, und Sie vielleicht einen Weg finden,

00:50.480 --> 00:52.190
der viel besser und vorteilhafter ist.

00:52.190 --> 00:55.520
Wir könnten uns die Vor- und Nachteile noch einmal ansehen und gerne darüber diskutieren.

00:55.670 --> 00:56.030
Gut.

00:56.090 --> 00:57.260
Was müssen wir also tun?

00:57.260 --> 00:58.880
Wir müssen unser Training starten.

00:59.210 --> 00:59.990
Für unsere Ausbildung.

00:59.990 --> 01:01.490
Wir wollen das Epsilon verwenden.

01:01.490 --> 01:08.930
Also im Grunde der Prozentsatz, den wir für die beste Aktion für R anstelle einer zufälligen Aktion nehmen werden.

01:08.930 --> 01:15.650
Setzen wir also unser Epsilon und setzen wir es auf 0. 9 und wir werden etwas Ähnliches mit unseren Werten für

01:15.650 --> 01:17.900
unseren Diskontfaktor und unsere Lernrate machen.

01:18.140 --> 01:23.030
Machen wir also einen Diskontfaktor gleich 0. 9.

01:23.690 --> 01:29.480
Nehmen wir auch unsere Lernrate und setzen sie auf 0. 9.

01:29.900 --> 01:33.620
Das wird die Rate sein, die unser Agent lernen wird oder lernen sollte.

01:33.920 --> 01:39.140
Und wir wollen auch die Anzahl der Trainingsepisoden nehmen, nennen wir es, und Trainingsepisoden.

01:39.290 --> 01:41.300
Wir haben also eine Reihe von Trainingsepisoden.

01:41.300 --> 01:42.500
Setzen wir es auf tausend.

01:42.500 --> 01:46.400
Wie oft wird es trainieren oder wie viele Episoden wird es trainieren?

01:48.050 --> 01:48.500
Fantastisch.

01:49.130 --> 01:52.870
Nun wollen wir im Wesentlichen jede Episode durchlaufen.

01:52.880 --> 02:00.060
Wir wollen die Bandbreite unserer Anzahl an Trainingsepisoden nehmen und im Grunde unser Epsilon festlegen.

02:00.080 --> 02:01.760
Wir wollen unseren zeitlichen Unterschied finden.

02:01.760 --> 02:04.610
Um das einzustellen, müssen wir uns einige frühere Q-Werte ansehen.

02:04.610 --> 02:08.210
Wir müssen unsere Startposition in unserem Aktionsindex berechnen.

02:08.660 --> 02:10.520
Also lasst uns anfangen.

02:11.060 --> 02:12.440
Nehmen wir eine große for-Schleife.

02:12.450 --> 02:14.450
Wir haben also unsere vier Episoden.

02:16.810 --> 02:19.780
Im Rahmen unserer Anzahl an Trainingsfolgen.

02:22.060 --> 02:22.540
Auf geht's.

02:22.690 --> 02:31.360
Abgesehen von Syntaxfehlern meinerseits wollen wir den Zeilenindex und den Spaltenindex für unser Grid für unsere

02:31.360 --> 02:33.700
Ms nehmen. Spaltenindex.

02:36.080 --> 02:41.240
Und gesagt, ein Ziel-Startort, wir brauchen einen Startort.

02:41.240 --> 02:44.210
Also lasst uns diese schlechte Stunde in jeder Folge haben.

02:45.100 --> 02:49.300
Jetzt können wir unseren Terminalstatus while setzen.

02:51.180 --> 02:51.690
Nicht.

02:52.850 --> 02:56.110
Ist Endzustand.

02:56.360 --> 03:01.280
Wir wollen uns den Zeilenindex und den Spaltenindex ansehen.

03:02.330 --> 03:02.720
Okay.

03:03.110 --> 03:07.160
Als nächstes setzen wir unseren Aktionsindex für unsere nächste Aktion.

03:07.430 --> 03:08.990
Wir brauchen also unsere nächste Aktion.

03:08.990 --> 03:16.550
Während dieser Agent die Mittel für unseren Aktionsindex durchläuft, können wir unsere nächste Aktion verwenden.

03:17.770 --> 03:24.730
Und wir können unseren Zeilenindex-Spaltenindex verwenden und unser Epsilon nennen.

03:24.730 --> 03:29.620
Also wollen wir dies anstelle unserer zufälligen Aktion haben, verwenden wir den Spaltenindex.

03:31.930 --> 03:33.610
Und wir brauchen Epsilon.

03:34.270 --> 03:34.650
Fantastisch.

03:35.320 --> 03:36.610
Wenn ich richtig schreiben könnte.

03:36.610 --> 03:38.950
Hier wollen wir Epsilon.

03:39.790 --> 03:41.380
Okay, lass mich das einfach löschen.

03:41.680 --> 03:42.070
Okay.

03:42.460 --> 03:46.930
Lassen Sie mich den Rest des Codes holen und wir gehen ihn durch, damit Sie mir nicht zusehen müssen, wie ich jede

03:47.350 --> 03:47.980
Zeile eintippe.

03:48.400 --> 03:51.440
Aber denken Sie daran, wie wir das angehen wollen.

03:51.460 --> 03:54.940
Um die alte Zeile zu versetzen, benötigen wir einen alten Zeilenindex.

03:55.180 --> 04:00.130
Wir möchten auch die Belohnungen für unsere Spalten und unsere Zeilen haben.

04:00.370 --> 04:05.140
Wir müssen uns die Warteschlangenwerte und die alten Warteschlangenwerte ansehen und unsere zeitliche Differenz

04:05.140 --> 04:05.620
berechnen.

04:06.190 --> 04:06.640
Okay.

04:06.880 --> 04:09.820
Sie sehen also die Änderung im Code oder die Aktualisierung des Codes.

04:10.030 --> 04:16.150
Wir nehmen unseren alten Zeilenindex und unseren alten Spaltenindex, um unseren Zeilenindex und Spaltenindex zu betrachten.

04:16.480 --> 04:20.020
Unser Zeilenindex-Spaltenindex entspricht unserem nächsten Standort.

04:20.020 --> 04:24.070
Und unser nächster Standort würde den Zeilenindex, die Spalte, den Index und die Aktion benötigen.

04:25.280 --> 04:27.110
Schließlich schauen wir uns eine Belohnung an.

04:27.710 --> 04:34.580
Unsere alten Q-Werte wären Q-Werte mit dem alten Zeilenindex, dem alten Spaltenindex und wiederum unter Bezugnahme

04:34.580 --> 04:40.640
auf unseren Aktionsindex und die Berechnung unserer zeitlichen Differenz, die unsere Belohnung ist, plus

04:40.640 --> 04:47.630
dem Diskontfaktor mal den Q-Werten mit der Zeile Index und Spaltenindex minus dem alten Q-Wert vom vorherigen

04:47.630 --> 04:48.140
Q-Wert.

04:49.980 --> 04:55.980
Fast fertig, wo wir unseren neuen Q-Wert brauchen, der unser alter Cue-Wert ist, plus die

04:55.980 --> 05:03.330
Lernrate, die Zeiten, die zeitliche Differenz und unsere Cue-Werte, wobei der alte Zeilenindex in unserem alten Spaltenindex gleich dem neuen

05:03.360 --> 05:04.320
Cue-Wert ist.

05:05.770 --> 05:09.850
Wenn ihr das weiter diskutieren möchtet, empfehle ich noch einmal das Q&amp;A.

05:09.850 --> 05:11.080
Bitte zögern Sie nicht zu drucken.

05:11.320 --> 05:13.630
Versuchen Sie, mit allen hier verwendeten Variablen zu experimentieren.

05:13.630 --> 05:18.430
Wenn Sie ihre Form sehen möchten, sehen möchten, wie sie verwendet werden können, worauf sie sich bezieht, empfehle ich sie sehr und ich

05:18.430 --> 05:20.380
bin mehr als glücklich, sie weiter zu diskutieren.

05:21.130 --> 05:24.430
Eine letzte Sache, die wir tun können, also haben wir eine kleine Benachrichtigung.

05:24.700 --> 05:29.950
Lassen Sie uns eine Druckanweisung hinzufügen, damit wir wissen, wann das Training für unsere tausend Zeilen abgeschlossen ist.

05:29.980 --> 05:30.580
Gut.

05:30.970 --> 05:34.570
Wenn es meinerseits keine Syntaxfehler gibt, sollten wir loslegen.

05:34.600 --> 05:36.730
Das Spaltennotizbuch wird initialisiert.

05:36.730 --> 05:38.610
Ich habe alles neu ausgeführt, also lassen Sie mich das ausführen.

05:38.620 --> 05:41.410
Es sollte sehr schnell gehen, da wir nur numpy verwenden.

05:41.620 --> 05:43.750
Es ist in gewisser Weise ein sehr optimiertes Modell.

05:44.050 --> 05:46.840
Lassen Sie mich darauf klicken und wir suchen dann nach dem kürzesten Weg.

05:48.310 --> 05:48.750
Gut.

05:48.760 --> 05:50.020
Wir haben unsere Ausbildung abgeschlossen.

05:50.590 --> 05:54.760
Lassen Sie uns auch den kürzesten Weg für einige Startoptionen drucken.

05:54.760 --> 05:59.650
Wir beginnen also Reihe drei, Spalte neun mit der kürzesten Pfadoption mit unserem kürzesten Pfad.

06:00.130 --> 06:06.670
Wir wollen uns Zeile fünf und Null ansehen und bei Zeile neun und Spalte Nummer fünf beginnen.

06:07.120 --> 06:08.080
Lassen Sie uns diese ausdrucken.

06:08.890 --> 06:09.370
Fantastisch.

06:09.370 --> 06:12.280
Wir haben den kürzesten Weg, aber wir sind noch nicht fertig.

06:12.460 --> 06:13.390
Wir sind fast da.

06:13.930 --> 06:20.650
Wir können sehen, dass unser Postbote automatisch den kürzesten Weg von einem legalen Ort, den wir in Betracht ziehen, von unserer

06:20.650 --> 06:22.780
Stadt zum Verpackungsbereich der Artikel findet.

06:22.790 --> 06:27.430
Aber was wäre mit dem umgekehrten Szenario, das sich im Grunde darauf bezieht, dass unser Postbote

06:27.430 --> 06:31.090
einen Artikel von überall in der Stadt zum Verpackungsbereich liefern kann?

06:31.390 --> 06:37.510
Aber nach dem Artikel müsste es dann von diesem Bereich aus dem Verpackungsbereich zu einem anderen Ort in der Stadt

06:37.510 --> 06:40.180
gehen, weil es den nächsten Artikel abholen müsste.

06:40.660 --> 06:43.780
Was können wir also tun, um das zu lösen?

06:43.780 --> 06:45.220
Und es ist eigentlich ziemlich einfach.

06:45.400 --> 06:47.890
Sie könnten die Reihenfolge des kürzesten Weges überarbeiten.

06:48.730 --> 06:51.940
Versuchen Sie, eine Sekunde darüber nachzudenken, und dann wäre dies die Lösung.

06:53.320 --> 06:55.110
Wir können den kürzesten Weg benutzen.

06:55.120 --> 07:00.550
Nehmen wir also „Write Five“ und „Column Two“ und dann müssten Sie nur noch die Reverse-Option mit Python

07:00.550 --> 07:01.150
verwenden.

07:01.270 --> 07:04.270
Wir verwenden path dot reverse und könnten den Pfad ausdrucken.

07:04.570 --> 07:06.040
Also sehen wir uns fünf und zwei an.

07:07.050 --> 07:07.800
Und los geht's.

07:07.800 --> 07:09.220
Wir haben den kürzesten Weg.

07:09.420 --> 07:14.250
Und es ist wirklich hilfreich, wenn Sie das Bild in der Zelle erfassen und herunterfahren möchten, um diese Pfade zu vergleichen und

07:14.250 --> 07:14.910
zu betrachten.

07:14.910 --> 07:20.310
Aber Sie können den Weg tatsächlich sehen, wenn Sie die ausgedruckte Abrechnung nehmen, die Spalte in der

07:20.310 --> 07:23.250
Bestellung anschauen und sehen, wie der Verkäufer unterwegs ist.

07:23.250 --> 07:25.560
So tolle Arbeit, die Sie verwenden.

07:25.770 --> 07:26.610
Q-Lernen.

07:26.880 --> 07:32.550
Was wir aus diesem Kurs gelernt haben, enthält im Abschnitt ein kleines Bonus- und Spaßszenario, um dieses

07:32.550 --> 07:35.070
im Wesentlichen Problem des Handlungsreisenden zu lösen.

07:35.070 --> 07:40.770
Wir schauen uns den Postboten an, der Pakete und Artikel in der Stadt ausliefert, um die kürzesten Möglichkeiten und kürzesten

07:40.770 --> 07:41.640
Wege zu finden.

07:41.670 --> 07:47.400
Ich empfehle dringend, dass Sie anpassen, andere Optionen testen, die Hyperparameter ändern und wenn Sie etwas Besseres

07:47.400 --> 07:53.670
entdecken, wenn Sie Optimierungs- oder beste Parameter entdecken, die Sie verwenden können, können Sie diese gerne in den Fragen

07:53.670 --> 07:54.990
und Antworten teilen.

07:55.620 --> 07:56.280
Tolle.

07:56.300 --> 07:58.110
Ich hoffe, euch hat das wirklich gefallen.

07:58.320 --> 08:01.350
Bitte anpassen, experimentieren und weiter lernen.

08:01.380 --> 08:02.970
Es macht so viel Spaß mit euch zu arbeiten.

08:02.970 --> 08:04.820
Lernen und genießen I.
