WEBVTT

00:09.980 --> 00:18.360
Wir sind nach wie vor beim EM-Algorithmus für HMMs, um uns

00:18.360 --> 00:21.980
anzuschauen, wie können wir die Parameter eines HMMs trainieren, wenn

00:21.980 --> 00:24.580
ich eine Menge von Trainingsdaten gesehen hatte.

00:25.980 --> 00:30.440
Wir hatten gesehen, wenn man, je nachdem wie das Problem strukturiert

00:30.440 --> 00:33.620
ist, wenn zum Beispiel alle Parameter beobachtbar sind und die

00:33.620 --> 00:36.040
zugrunde liegende Wahrscheinlichkeitsdichte-Funktion oder

00:37.140 --> 00:39.380
Wahrscheinlichkeitsverteilung gutartig ist, kann man mit der Maximum

00:39.380 --> 00:43.180
-Likelihood -Methode arbeiten, um die Wahrscheinlichkeit, mit der die

00:43.180 --> 00:47.900
Trainingsdaten von dem Modell hervorgebracht wurden, zu maximieren,

00:48.040 --> 00:49.360
indem man die Parameter ändert.

00:50.340 --> 00:54.580
Je nachdem wie das Problem aussieht, geht das manchmal leider nicht,

00:54.760 --> 00:58.240
sodass man dann zum EM-Algorithmus zurückkommen muss.

00:59.900 --> 01:02.620
In der Vergangenheit stand auf den Folien hin und wieder

01:02.620 --> 01:07.020
Beispielrechnung an der Tafel und da ich halt nicht hier war, konnte

01:07.020 --> 01:07.840
man das nicht machen.

01:08.100 --> 01:11.320
Dementsprechend würde ich das gerne heute ein, zwei, drei Dinge an der

01:11.320 --> 01:14.120
Tafel kurz nachholen.

01:15.340 --> 01:20.920
Das erste ist die Maximum-Likelihood-Methode im diskreten Fall.

01:22.280 --> 01:29.140
Also das, was wir intuitiv machen, wo wir intuitiv sagen, okay, wenn

01:29.140 --> 01:32.380
ich jetzt zum Beispiel einen Würfel habe oder eine Urne und ich möchte

01:32.380 --> 01:34.860
wissen, was ist die Wahrscheinlichkeit für die einzelnen Ereignisse,

01:35.280 --> 01:38.720
dann gucke ich mir halt meine ganzen Trainingsdaten an und zähle für

01:38.720 --> 01:41.700
jedes Ereignis, wie häufig kommt es vor und teile das durch die

01:41.700 --> 01:42.960
Gesamtzahl der Trainingsdaten.

01:43.340 --> 01:45.040
Und das ist dann die Schätzung meiner Parameter.

01:45.660 --> 01:47.040
Das Ganze kann man auch

01:51.260 --> 01:51.740
formalisieren.

01:51.740 --> 01:53.140
Angenommen, wir haben eine Urne.

01:56.630 --> 01:58.290
In dieser Urne sind acht Kugeln.

02:05.160 --> 02:18.350
Von diesen Kugeln sind M rot und dementsprechend 8 minus M schwarz.

02:19.790 --> 02:20.950
Also zwei Farben.

02:22.770 --> 02:27.430
Wir wissen aber nicht, wie viele rote Kugeln in dieser Urne drin sind,

02:27.970 --> 02:30.850
respektive wie viele schwarze, sondern das ist uns aus irgendeinem

02:30.850 --> 02:31.470
Grund verborgen.

02:31.530 --> 02:32.750
Wir können nicht in die Urne reingucken.

02:33.410 --> 02:36.350
Da kann man nur reingreifen und eine Kugel rausziehen und wieder

02:36.350 --> 02:38.490
zurücklegen, aber man kann jetzt nicht das Ding komplett

02:38.490 --> 02:41.370
auseinandernehmen und nachschauen, wie es ausschaut.

02:42.310 --> 02:45.030
Wenn man das machen will, kann man das entsprechend jetzt aber

02:45.030 --> 02:49.350
versuchen, anhand von Trainingsdaten mithilfe der Maximum Likelihood

02:49.350 --> 02:51.730
Methode zu schätzen.

02:52.170 --> 02:54.450
Das Erste, was wir machen ist, wir generieren uns erstmal

02:54.450 --> 02:55.190
Trainingsdaten.

02:55.530 --> 03:00.630
Das heißt, wir ziehen aus dieser Urne Kugeln raus und wir machen

03:00.630 --> 03:02.530
insgesamt vier Ziehungen.

03:03.190 --> 03:08.030
Damit man das schöner hinschreiben kann, für die Beobachtung sagen wir

03:08.030 --> 03:17.230
1 entspreche einer roten Kugel und 0 entspreche einer schwarzen Kugel.

03:23.320 --> 03:26.200
Jetzt muss man sich überlegen, unsere Wahrscheinlichkeitsverteilung,

03:26.280 --> 03:27.560
welche Parameter hat die überhaupt?

03:27.860 --> 03:30.500
Wir wollen ja Parameter optimieren und bei so einer

03:30.500 --> 03:33.980
Wahrscheinlichkeitsverteilung ist es so, wir haben eine

03:33.980 --> 03:38.760
Wahrscheinlichkeit für rot, dass eine Kugel, die gezogen wird, rot

03:38.760 --> 03:39.040
ist.

03:44.800 --> 03:46.180
Die nennen wir p.

03:47.640 --> 03:51.140
Und dann kann natürlich auch eine Kugel schwarz sein und wenn wir die

03:51.140 --> 03:58.500
ziehen wollen, ist dementsprechend die Wahrscheinlichkeit für das

03:58.500 --> 04:02.100
Ziehen einer schwarzen Kugel 1-p.

04:02.680 --> 04:05.160
Das heißt, diese Wahrscheinlichkeitsverteilung hat in Wirklichkeit nur

04:05.160 --> 04:07.880
einen Parameter, obwohl wir zwei Ereignisse haben, nämlich die

04:07.880 --> 04:10.840
Wahrscheinlichkeit von rot, aus der folgt automatisch die

04:10.840 --> 04:12.960
Wahrscheinlichkeit von schwarz.

04:14.800 --> 04:21.880
Jetzt ziehen wir viermal und bekommen vier Trainingsereignisse.

04:22.500 --> 04:28.180
x1, x2, x3 und x4.

04:31.370 --> 04:41.920
Und es sei so, dass wir dreimal eine rote Kugel gezogen haben und

04:41.920 --> 04:43.340
einmal eine schwarze Kugel.

04:45.890 --> 04:48.450
Wenn man sie jetzt direkt fragen sollte, was ist die

04:48.450 --> 04:54.870
Wahrscheinlichkeit für rot oder besser gesagt, wie viele rote Kugeln

04:54.870 --> 04:58.110
gibt es wohl voraussichtlich in der Urne?

05:04.440 --> 05:04.900
Warum?

05:08.400 --> 05:09.720
Jetzt haben wir Glück gehabt.

05:12.120 --> 05:19.720
Angenommen, ich hätte fünfmal gezogen und hätte viermal eine rote

05:19.720 --> 05:22.540
Kugel gezogen und nullmal eine schwarze Kugel.

05:22.840 --> 05:24.740
Wie hoch wäre es dann denn?

05:25.440 --> 05:27.000
Wie würde man das dann ausrechnen?

05:27.840 --> 05:31.540
Dann hätte man vier Fünftel und dann kommt man bei acht Kugeln nicht

05:31.540 --> 05:33.960
mehr auf eine gerade Anzahl an Kugeln, aber halbe Kugeln darf ich

05:33.960 --> 05:34.340
nicht haben.

05:35.360 --> 05:38.540
Das heißt, wenn das so strukturiert ist, könnte man jetzt direkt

05:38.540 --> 05:42.800
sagen, okay, Wahrscheinlichkeit für rot ist offensichtlich drei

05:42.800 --> 05:47.540
Viertel, das heißt, müssen entsprechend sechs rote Kugeln sein.

05:48.900 --> 05:53.380
Aber allgemein, Merksatz, bei ganzzahligen Optimierungsproblemen

05:53.380 --> 05:57.560
Finger von lassen, geht das leider nicht so schön, sondern wir müssen

05:57.560 --> 05:59.040
das durch stures Ausprobieren machen.

05:59.420 --> 06:02.520
Aber wir machen das nach Likelihood-Methode, das heißt, wir brauchen

06:02.520 --> 06:06.540
die Likelihood-Funktion über unseren Parameter klein p.

06:10.200 --> 06:13.480
Diese Likelihood-Funktion soll uns jetzt sagen, wie hoch ist denn die

06:13.480 --> 06:17.740
Wahrscheinlichkeit unserer Trainingsdaten.

06:18.500 --> 06:23.060
Jetzt kann man sich zurückerinnern an Kombinatorik in der Stochastik

06:23.060 --> 06:31.220
und kommt dann darauf, dass das Ganze dreimal rot, einmal schwarz zu

06:31.220 --> 06:43.550
ziehen, dementsprechend 4 über 3 mal p hoch 3 mal 1 minus p ist.

06:45.370 --> 06:55.410
Oder halt ausmultipliziert 4 über 3 mal p hoch 3 minus p hoch 4.

06:59.660 --> 07:03.120
Also ganzzahliges Optimierungsproblem kann man in der Regel nicht so

07:03.120 --> 07:07.180
ohne weiteres durch Ableiten und Nullsetzen lösen, weil hier nur

07:07.180 --> 07:12.760
ganzzahlige Lösungen für das oder diskrete Lösungen für das p möglich

07:12.760 --> 07:13.000
sind.

07:13.120 --> 07:19.320
Das p kann Werte annehmen von 0,8, 1,8 und so weiter und so fort bis 8

07:19.320 --> 07:23.160
,8 dadurch, dass wir diskrete 8 Kugeln in der Urne liegen haben.

07:23.820 --> 07:26.760
Wenn wir das jetzt optimieren wollen, also die Likelihood maximieren

07:26.760 --> 07:31.200
wollen, kommen wir eigentlich nicht darum herum, alle Werte

07:31.200 --> 07:35.020
einzusetzen, auszurechnen und zu gucken, wo liegt denn das Maximum.

07:36.600 --> 07:48.480
Also mögliche Werte, die das p annehmen kann, 0,8, 1,8, 2,8, 3,8

08:02.140 --> 08:09.760
und für jeden Wert einsetzen, Likelihood-Funktion ausrechnen.

08:12.800 --> 08:19.040
Logischerweise hier die Likelihood muss notgedrungenerweise Null sein.

08:20.400 --> 08:23.820
Wir haben ja sowohl rote als auch schwarze Kugeln rausgezogen.

08:23.980 --> 08:26.600
Das heißt, es kann gar nicht sein, dass die Urne nur aus roten oder

08:26.600 --> 08:28.100
nur aus schwarzen Kugeln besteht.

08:28.600 --> 08:31.300
Das heißt hier logischerweise muss die Likelihood der Trainingsdaten

08:31.300 --> 08:32.020
auch Null sein.

08:32.840 --> 08:36.600
Für den Rest einsetzen und ausrechnen ergibt

09:21.550 --> 09:26.970
und wir sehen sofort, das Maximum nimmt die Likelihood-Funktion hier

09:26.970 --> 09:34.830
an mit 0,105 und dementsprechend ist das der Parameter p, 6,8, der

09:34.830 --> 09:38.210
unsere Likelihood-Funktion optimiert.

09:43.100 --> 09:54.120
Wäre das Ganze kein ganzzahliges Problem, sondern sähe es so aus, dass

09:54.120 --> 09:58.520
wir da nicht eine Urne mit endlich vielen Kugeln hätten, sondern

09:58.520 --> 10:03.340
hätten wir beliebig feine Auflösung, könnte man auch einfach die

10:03.340 --> 10:05.540
Likelihood -Funktion ableiten und Null setzen.

10:09.180 --> 10:10.980
Ableitung dementsprechend wäre,

10:24.350 --> 10:27.530
soll gleich Null sein und daraus wird dann entsprechend folgen,

10:32.040 --> 10:36.060
dass p drei Viertel wäre, weil p keine negativen Werte annehmt.

10:36.460 --> 10:38.620
Das wäre die andere Nullstelle der Likelihood-Funktion.

10:39.220 --> 10:43.140
Das geht aber nur, wenn ich keine diskrete Anzahl an Kugeln habe,

10:43.260 --> 10:45.860
sondern völlig frei den Parameter p wählen kann.

10:46.520 --> 10:49.540
Wenn ich diskrete Kugeln habe, muss ich halt notgedrungener Weise alle

10:49.540 --> 10:51.300
Werte durchprobieren.

10:52.520 --> 10:58.140
Und wie gesagt, herauskommt das, was man halt allgemein denken würde,

10:58.580 --> 11:03.560
der Wert drei Viertel, so viele rote Kugeln, oder hier der Wert drei

11:03.560 --> 11:09.160
Viertel Anzahl roter Kugeln in meiner Trainingsmenge durch Anzahl

11:09.160 --> 11:12.060
Elemente in meiner Trainingsmenge im Allgemeinen.

11:12.920 --> 11:15.860
Das ist also nichts anderes als nochmal die mathematische Bestätigung

11:15.860 --> 11:21.900
dessen, was wir intuitiv machen, wenn wir Wahrscheinlichkeitsparameter

11:21.900 --> 11:25.360
schätzen, anhand von so Trainingsdaten im einfachen Fall.

11:30.090 --> 11:33.110
Das Ganze kann man jetzt auch entsprechend für

11:33.110 --> 11:34.590
Wahrscheinlichkeitsdichten machen.

12:06.800 --> 12:08.760
Wo habe ich meinen Zettel hingeworfen?

12:20.380 --> 12:21.620
Ich habe den gerade noch in der Hand gehabt.

12:28.400 --> 12:31.860
Also, eine einfache Wahrscheinlichkeitsdichte-Funktion, die wir immer

12:31.860 --> 12:37.840
verwenden, ist eine Gauss-Glocke, diesmal im eindimensionalen Fall,

12:46.820 --> 12:55.840
also definiert p von x und hat als Parameter einen Mittelwert und eine

12:55.840 --> 13:26.820
Varianz, einfache Definition der Gauss-Dichte.

13:27.040 --> 13:30.680
Angenommen, wir haben jetzt n Trainingsbeispiele,

13:40.820 --> 13:45.120
entsprechend x1 bis xn.

13:45.840 --> 13:50.800
Die Likelihood-Funktion dieser Trainingsdatensatz wäre dann

13:50.800 --> 13:57.910
dementsprechend, also Likelihood in Abhängigkeit von den zu

13:57.910 --> 14:04.370
optimierenden Parametern Mittelwert und Kovarianz, gegeben unserem

14:04.370 --> 14:09.430
Trainingsset Groß-X gleich x1 bis xn.

14:11.070 --> 14:17.090
Ist entsprechend das Produkt der Wahrscheinlichkeiten der

14:17.090 --> 14:19.130
Einzeltrainingsbeispiele.

14:36.000 --> 14:43.040
Das kann man entsprechend ausrechnen, wenn man oben einsetzt und ein

14:43.040 --> 14:44.020
bisschen umformt.

14:45.040 --> 14:49.580
Der Term da ist konstant und unabhängig von den xi, wird n mal

14:49.580 --> 14:56.880
aufmultipliziert, dementsprechend ist das einfach dieser

14:56.880 --> 15:04.090
Normierungsterm hoch n.

15:07.980 --> 15:10.800
Und hier bei den e-Funktionen, da werden dann entsprechend n e

15:10.800 --> 15:16.580
-Funktionen mit x1 bis xn aufmultipliziert, dementsprechend kann man

15:16.580 --> 15:20.600
die zusammenfassen, indem man oben im Exponenten eine Summe bildet.

15:47.850 --> 15:51.710
Damit wir das hinterher dann schöner und leichter ableiten können,

15:54.150 --> 16:00.670
kann man den Zähler hier beim Exponenten noch ein bisschen umformen.

16:26.050 --> 16:29.730
Das ist einfach die Wurzel anders geschrieben und hier jetzt

16:29.730 --> 16:30.610
entsprechend den

16:35.810 --> 16:37.410
Zähler umgeformt.

17:12.280 --> 17:19.380
Dabei habe ich mir das xquere einfach definiert, als gerade das

17:19.380 --> 17:22.860
arithmetische Mittel meiner Trainingsdaten.

17:31.940 --> 17:35.620
Dass man den Zähler hier so umformt, hat jetzt keine gleich

17:35.620 --> 17:41.380
ästhetische oder direkt aus diesem Umleitungsschritt motivierbaren

17:41.380 --> 17:46.040
Grund, sondern das ist so ein Trick, dass man hinterher, wenn man dann

17:46.040 --> 17:50.220
ableitet und 0 setzt, was schöneres rausbekommt und das leichter

17:50.220 --> 17:51.300
umrechnen kann.

17:55.180 --> 17:59.600
Gut, was wir jetzt also machen ist, wir wollen die Nullstellen finden.

17:59.680 --> 18:02.120
Wir hatten schon gesagt, bei solchen Sachen ist es häufiger einfacher,

18:02.500 --> 18:04.860
wenn man den Logarithmus ausbildet und dann die Nullstellen der

18:04.860 --> 18:09.100
Ableitung findet, um die gesamte Funktion zu maximieren.

18:10.000 --> 18:16.580
Also rechnen wir jetzt entsprechend aus die Ableitung des Logarithmus

18:16.580 --> 18:19.920
dieser Likelihood-Funktion.

18:20.660 --> 18:22.520
Wir haben jetzt allerdings zwei Parameter.

18:23.020 --> 18:26.980
Wir haben einmal das µ und wir haben einmal das Sigma-Quadrat.

18:27.680 --> 18:32.560
Und für beide Fälle interessiert uns natürlich, welcher Parameter

18:32.560 --> 18:34.220
maximiert das Ganze.

18:38.390 --> 18:44.730
Als erstes schauen wir uns das Ganze mal an, wenn wir nach dem

18:44.730 --> 18:45.910
Mittelwert µ ableiten.

18:58.950 --> 19:03.270
Und wenn wir jetzt von dem Ding den Logarithmus bilden, dann kommt

19:03.270 --> 19:06.990
hier vorne schön ein Minuszeichen rein.

19:06.990 --> 19:10.590
Das hier ist Plus, da oben steht ein Minus, also ein Minuszeichen.

19:12.090 --> 19:17.550
Und das Ganze zerfällt also einmal in den Logarithmus des

19:17.550 --> 19:19.470
Nummierungsterms.

19:27.420 --> 19:34.660
Minus den Logarithmus hiervon, das heißt, das E fällt raus, es bleibt

19:34.660 --> 19:36.040
nur noch der Exponent stehen.

20:10.680 --> 20:16.220
Hier vorne kommt überhaupt kein µ mehr drin vor, das heißt, die

20:16.220 --> 20:17.920
Ableitung von dem hier ist Null.

20:19.920 --> 20:23.820
Und wenn ich hier hinten den Term entsprechend nach µ ableite,

20:29.890 --> 20:38.770
brauche ich, da das µ nur oben im Zähler vorkommt, entsprechend nur

20:38.770 --> 20:42.310
den Zähler abzuleiten.

20:42.650 --> 20:47.850
Von dem, was da oben stehen bleibt, bleibt nach µ abgeleitet übrig.

20:48.390 --> 20:51.570
Hier vorne kommt gar kein µ mehr drin vor, hier hinten kommt nur noch

20:51.570 --> 20:59.970
das µ vor, entsprechend ein Minus 2n x² minus µ.

21:01.630 --> 21:06.250
Und das wollen wir jetzt entsprechend Null setzen.

21:07.070 --> 21:15.830
Damit der Quotient Null wird, muss der Zähler Null werden und dann

21:15.830 --> 21:19.670
muss ich also das entsprechend nur noch Null setzen und nach µ

21:19.670 --> 21:23.050
auflösen und herauskommt,

21:26.190 --> 21:28.190
dass µ x² ist.

21:29.310 --> 21:33.170
Klar, das Produkt kann nur Null werden, wenn dieser Faktor Null wird.

21:33.270 --> 21:36.330
Der hier ist immer gleich Null, der Faktor muss Null werden, also muss

21:36.330 --> 21:38.030
das µ gerade x² sein.

21:38.790 --> 21:42.570
Und schwuppdiwupp kommt raus, dass µ gleich x² sein muss, also gerade

21:42.570 --> 21:43.790
unserem arithmetischen Mittel.

21:44.690 --> 21:49.090
Also gerade dem, von dem wir denken, dass es der Mittelwert sein soll.

21:49.570 --> 21:53.630
Das heißt also, im Falle des Mittelwerts löst sich schon mal alles in

21:53.630 --> 21:54.470
Wohlgefallen auf.

21:56.070 --> 22:00.850
Bleibt noch die Varianz übrig.

22:05.310 --> 22:09.810
Wir nehmen uns also wieder die Likelihood-Funktion her, diesmal aber

22:09.810 --> 22:15.410
in ihrer ursprünglichen Form, wo wir hier nicht oben dieses

22:15.410 --> 22:19.850
Auseinanderziehen des Mittelwertes gemacht haben und den mithilfe von

22:19.850 --> 22:23.550
x² ausgedrückt haben, sondern wir nehmen wieder die ursprüngliche

22:23.550 --> 22:31.920
Form, leiten also diesmal nach dem Sigma entsprechend ab.

23:21.340 --> 23:26.880
Das ist erstmal die noch nicht mit dem Logarithmus aufgelöste normale

23:26.880 --> 23:29.920
Form.

23:30.740 --> 23:33.920
Das Ganze ist dann entsprechend...

24:25.200 --> 24:26.800
Also da ist noch nicht viel passiert.

24:28.260 --> 24:31.320
Das Einzige, was wir gemacht haben, ist, dass wir wieder mit dem

24:31.320 --> 24:34.540
Logarithmus angewandt auseinander gezogen haben und das Inhalte dann

24:34.540 --> 24:38.320
entsprechend noch hier nach den Logarithmus-Gesetzen vor den

24:38.320 --> 24:39.480
Logarithmus gezogen haben.

24:48.850 --> 24:55.570
Jetzt kann man wieder anfangen, die einzelnen Summanden abzuleiten.

24:57.150 --> 25:04.190
Der erste Summand ist ein bisschen ekelhaft, was daran liegt, dass wir

25:04.190 --> 25:06.130
hier ein Logarithmus stehen haben.

25:07.690 --> 25:12.010
Weiß noch eine Logarithmus-Ableitung, wie das aussieht?

25:15.900 --> 25:15.980
Ja?

25:19.320 --> 25:20.040
Genau.

25:21.400 --> 25:25.900
Also Logarithmus von x ist 1 durch x und Logarithmus einer Funktion

25:25.900 --> 25:31.340
ist dann entsprechend nach Kettenregel f'

25:41.320 --> 25:45.000
von x durch f von x.

25:48.260 --> 25:51.740
Mit einer einzelnen Einschränkung, die gelten muss,

25:56.760 --> 25:59.700
funktioniert nur dann, wenn das f von x echt größer Null ist.

26:02.930 --> 26:05.870
Jetzt kann man da anfangen, das einzusetzen.

26:07.890 --> 26:15.590
Unser f von x ist entsprechend das 2pi Sigma Quadrat hoch minus 1.

26:26.190 --> 26:28.390
Das leiten wir ab.

27:03.570 --> 27:09.630
Das auf gemeinsam Nenner bringt und die Substraktion durchführt, kommt

27:09.630 --> 27:10.470
man dann da raus.

27:10.610 --> 27:12.110
Das heißt, das ist unser f' von x.

27:12.890 --> 27:21.010
Dementsprechend ist dann unser f' von x durch f von x

27:42.540 --> 27:53.400
und das ausmultipliziert ist dann dementsprechend minus 2 Sigma.

27:54.200 --> 27:54.940
Das heißt,

28:00.870 --> 28:07.830
hier vorne haben wir also stehen N halbe mal minus 2 Sigma.

28:14.570 --> 28:16.290
Ist dementsprechend minus N durch Sigma.

28:21.610 --> 28:28.590
Und der zweite abgeleitet relativ leicht wieder gemäß Summenregel.

28:31.030 --> 28:34.750
Quatsch, Summenregel nach Kettenregel.

28:58.540 --> 29:01.100
Das soll entsprechend wieder Null gesetzt werden.

29:04.940 --> 29:11.260
Und wenn man das dann entsprechend auflöst, kommt man darauf, dass das

29:11.260 --> 29:17.680
Sigma Quadrat eben genau das ist, was wir wollen.

29:18.880 --> 29:25.640
Nämlich das arithmetische Mittel des Quadrates der Abweichung vom

29:25.640 --> 29:26.060
Mittelwert.

29:28.620 --> 29:33.540
Sprich, die Definition von Varianz und Mittelwert, wie wir sie kennen

29:33.540 --> 29:40.560
bei der Gauss-Glocke, entspricht, sorgt dafür, dass die Parameter der

29:40.560 --> 29:44.360
Gauss -Glocke dann maximal werden bei der Maximum-Likelihood-Methode,

29:44.360 --> 29:47.340
wenn man sie entsprechend nach der semantischen Bedeutung ausrechnet.

29:47.560 --> 29:50.580
Sprich, arithmetisches Mittel für die Mittelwertabweichung,

29:50.680 --> 29:55.780
arithmetische Mittel der quadratischen Abweichung der einzelnen

29:55.780 --> 29:58.420
Trainingsdaten vom einmal errechneten Mittelwert.

29:59.140 --> 30:03.140
Das heißt, die Parameter dieser Gauss-Glocke, wenn wir sie nach dieser

30:03.140 --> 30:05.820
Semantik schätzen auf Trainingsdaten, entspricht eben genau der

30:05.820 --> 30:07.040
Maximum -Likelihood-Methode.

30:08.560 --> 30:11.320
Das ist das, was man in der Regel am meisten macht.

30:12.260 --> 30:16.820
Großes Aber, da kann man sich dann tief vertiefen in der Stochastik

30:16.820 --> 30:17.560
und Statistik.

30:18.900 --> 30:23.080
Die Regeln gelten nur dann, wenn die Trainingsdaten entsprechend

30:23.080 --> 30:23.920
strukturiert sind.

30:24.140 --> 30:28.600
Sprich, sie müssen definitiv repräsentativ sein und sie müssen

30:28.600 --> 30:29.840
unendlich viele sein.

30:31.160 --> 30:35.060
Erst dann gilt, dass die Maximum-Likelihood-Methode auch wirklich zu

30:35.060 --> 30:38.440
den optimalen Parametern führt.

30:39.080 --> 30:42.400
Jetzt ist es bei uns so, dass wir das leider nicht immer haben.

30:42.500 --> 30:46.060
Wir versuchen zwar, die Trainingsdaten repräsentativ zu gewinnen,

30:46.200 --> 30:50.000
haben da aber häufig nur bedingte Kontrolle drüber und im Vergleich

30:50.000 --> 30:52.840
zur Anzahl der Parameter, die wir schätzen wollen, haben wir

30:52.840 --> 30:56.100
grundsätzlich immer viel zu wenig Trainingsdaten.

30:57.100 --> 31:01.560
Das heißt, wenn wir mit Maximum- Likelihood schätzen, wissen wir, dass

31:01.560 --> 31:04.800
die Parameter, die dabei herauskommen, nicht unbedingt die optimalen

31:04.800 --> 31:07.360
Parameter sind, die der zugrunde liegenden

31:07.360 --> 31:10.080
Wahrscheinlichkeitsverteilung oder Wahrscheinlichkeitsdichte-Funktion

31:10.080 --> 31:12.300
entsprechen.

31:12.640 --> 31:15.620
Das heißt, beim Training, beim Lernen der Parameter machen wir Fehler.

31:16.140 --> 31:18.540
Dementsprechend macht hinterher auch der Spracherkenner Fehler, weil

31:18.540 --> 31:21.440
die Parameter halt nicht korrekt geschätzt wurden.

31:22.920 --> 31:27.340
Jetzt gibt es bestimmte Verfahren, wenn man weiß, dass man wenig

31:27.340 --> 31:32.280
Trainingsdaten hat und man weiß, dass da bestimmte Fehler drin sein

31:32.280 --> 31:34.260
können, kann man insbesondere bei diskreten

31:34.260 --> 31:39.260
Wahrscheinlichkeitsverteilungen auch noch andere Verfahren anwenden,

31:39.600 --> 31:42.760
um robuster zu schätzen.

31:43.240 --> 31:45.700
Man kann dann solche Sachen machen, wie dass man Ereignisse, die

31:45.700 --> 31:48.880
relativ selten gesehen wurden, halt anders oder weniger stark

31:48.880 --> 31:52.080
einfließen lässt in die Schätzung der Parameter, weil man sagt, wenn

31:52.080 --> 31:55.340
man ein Ereignis sehr, sehr wenig gesehen hat, dann traut man der

31:55.340 --> 31:56.420
ganzen Sache nicht so richtig.

31:56.580 --> 31:59.920
Man geht davon aus, dass das nicht unbedingt der tatsächlichen

31:59.920 --> 32:03.660
repräsentativen Verteilung entspricht, sondern dass da eher Messfehler

32:03.660 --> 32:09.940
drin sein können oder Varianzen oder zufällige Streuungen aufgrund der

32:09.940 --> 32:10.960
Zufallsprozesse etc.

32:11.100 --> 32:11.340
etc.

32:11.560 --> 32:13.600
Und dann gibt es fortgeschrittenere Verfahren.

32:14.000 --> 32:16.740
Das ist aber etwas, das überlassen wir jetzt an diesem Punkt den

32:16.740 --> 32:17.440
Mathematikern.

32:18.040 --> 32:23.180
Wir sind mit Maximum Likelihood und EM-Algorithmus zufrieden.

32:23.920 --> 32:30.580
Jetzt wollte ich noch eine ganz letzte Sache an der Tafel zeigen und

32:30.580 --> 32:34.340
das hat seinen Grund darin in den Prüfungsergebnissen der letzten

32:34.340 --> 32:35.400
Monate.

32:37.640 --> 32:42.740
Weil erstaunlicherweise immer, wenn man nach Forward-Backward

32:42.740 --> 32:47.140
-Algorithmus oder Viterbi-Algorithmus fragt und dann nach dynamischer

32:47.140 --> 32:50.080
Programmierung und wie funktioniert denn der Algorithmus, skizzieren

32:50.080 --> 32:53.780
Sie doch mal, kommen die Leute in Schleudern.

32:59.760 --> 33:05.920
Und das sagt mir halt, dass da ein Verständnisproblem ist, wie man das

33:05.920 --> 33:09.340
tatsächlich implementiert, wie man tatsächlich den Forward-

33:09.760 --> 33:12.520
Algorithmus hinterher implementiert, dass man den nicht als rekursiven

33:12.520 --> 33:15.600
Algorithmus implementiert, sondern mit Hilfe von dynamischem

33:15.600 --> 33:16.100
Programmieren.

33:16.620 --> 33:21.060
Deswegen machen wir ein ganz kleines Beispiel hier vorne an der Tafel

33:21.060 --> 33:22.180
durch.

33:22.620 --> 33:26.820
Wir haben ein relativ einfaches HMM gegeben, das habe drei Zustände.

33:27.980 --> 33:30.740
Start, Mitte und Ende.

33:33.240 --> 33:36.100
Warum Start, Mitte und Ende, kann man im Augenblick noch vergessen.

33:36.260 --> 33:38.320
Hinterher wird das so sein bei der Spracherkennung.

33:39.140 --> 33:42.740
Nehmen wir einen Phonem her und ein Phonem wird zerteilt in drei

33:42.740 --> 33:46.560
Phasen, nämlich eine Startphase, eine Mittelfase und eine Endephase.

33:49.180 --> 33:55.820
Und wir haben ein Vokabular, das habe drei Symbole.

33:58.620 --> 34:00.180
A, B und C.

34:01.460 --> 34:02.740
Also ein diskretes HMM.

34:04.300 --> 34:07.000
Und damit man jetzt die Übergangswahrscheinlichkeiten und die

34:07.000 --> 34:11.360
Emissionswahrscheinlichkeiten für uns als Menschen visuell leicht

34:11.360 --> 34:16.460
verdaulich hinschreiben kann, macht man das zum Beispiel häufig so,

34:16.560 --> 34:18.800
dass man Emissionswahrscheinlichkeiten kann ich in den Zustand

34:18.800 --> 34:33.600
reinschreiben und dann Übergangswahrscheinlichkeiten werden einfach

34:33.600 --> 34:34.700
als Pfeile drangemalt.

34:37.440 --> 34:42.680
Die Wahrscheinlichkeit vom Start in die Mitte überzugehen sei 0,3 und

34:42.680 --> 34:47.580
von Start wieder in sich selber überzugehen sei 0,7.

34:49.800 --> 34:53.820
Pfeile, mögliche Übergänge, die man nicht einzeichnet, also zum

34:53.820 --> 34:58.700
Beispiel von Start zu Ende, die haben die Wahrscheinlichkeit

34:58.700 --> 34:59.660
grundsätzlich von 0.

35:00.560 --> 35:02.700
Macht doch Sinn, hier die beiden Übergangswahrscheinlichkeiten

35:02.700 --> 35:05.800
addieren sich schon zu 1, kann also nur noch 0 sein, alle anderen

35:05.800 --> 35:07.480
verbleibenden Übergangswahrscheinlichkeiten.

35:47.320 --> 35:50.720
Wenn man sich jetzt mal das HMM anschaut und was man so für Übergänge

35:50.720 --> 35:54.180
machen kann und welche Übergänge 0 haben, dann sieht man schon, das

35:54.180 --> 35:58.880
ist ein HMM, da kann man entweder im aktuellen Zustand bleiben oder in

35:58.880 --> 36:00.240
den nächsten Zustand übergehen.

36:00.360 --> 36:03.460
Und wenn man einmal im Endzustand ist, dann muss man bis zum Ende der

36:03.460 --> 36:04.840
Ausgabe im Endzustand bleiben.

36:05.940 --> 36:11.060
Sowas nennt man eine links-nach-rechts-Architektur ohne State

36:11.060 --> 36:14.240
Skipping, also ohne das Überspringen von Zuständen, ist halt etwas,

36:14.340 --> 36:17.320
was zum Beispiel für Spracherkennung intuitiv Sinn ergibt, weil

36:17.320 --> 36:19.380
Sprache fließt ja linear von links nach rechts.

36:19.520 --> 36:21.940
Ich habe Phoneme, die von links nach rechts der Reihe aufgereiht

36:21.940 --> 36:25.220
werden und jedes Phonem wird unterteilt in so einen Start-, Mittel-

36:25.220 --> 36:28.720
und Endzustand, der auch in zeitlicher Abfolge durchlaufen werden

36:28.720 --> 36:28.980
muss.

36:29.520 --> 36:31.680
Das heißt, dass ich irgendwo wieder zurückspringe in der

36:31.680 --> 36:34.900
Vergangenheit, das ist bei der menschlichen Sprache jetzt nicht

36:34.900 --> 36:35.440
vorgesehen.

36:40.220 --> 36:46.960
Jetzt haben hier die Übergänge Start-, Mitte und Ende eine semantische

36:46.960 --> 36:50.380
Bedeutung, das heißt, wenn ein Zustand Start heißt, dann wird man

36:50.380 --> 36:53.540
erwarten, dass man seine Beobachtungen auch immer in diesem Start

36:53.540 --> 36:56.820
-Zustand beginnt und wenn ein Zustand Ende heißt, dann wird man auch

36:56.820 --> 36:59.560
vermuten, dass man ganz zum Schluss auch bitteschön in dem Endzustand

36:59.560 --> 37:00.200
sein sollte.

37:00.620 --> 37:02.840
Das ist bei der Spracherkennung in der Regel auch der Fall.

37:03.380 --> 37:07.660
Damit wir hier ein bisschen ein allgemeineres Beispiel durchhaben,

37:08.080 --> 37:11.520
geben wir mal den einzelnen Zuständen noch Anfangswahrscheinlichkeit.

37:23.380 --> 37:25.640
Das ist etwas, das wird man hinterher in der Spracherkennung nicht

37:25.640 --> 37:29.440
mehr haben, da fängt man immer vorne hier in dem Zustand an und

37:29.440 --> 37:34.560
implizit sagt man auch noch, die gültige Pfade durch das HMM sind auch

37:34.560 --> 37:35.860
nur solche, die am Ende aufhören.

37:36.480 --> 37:41.040
Wir machen HMMs noch im Allgemeinen, deswegen lassen wir das im

37:41.040 --> 37:41.920
Augenblick erst mal sein.

37:43.520 --> 37:46.780
So, wenn man jetzt sowas ausrechnet, hatten wir schon gesagt, wir

37:46.780 --> 37:47.840
machen uns eine Tabelle.

37:50.080 --> 37:53.820
Auf der senkrechten Achse malen wir uns unsere Zustände auf.

37:57.460 --> 38:01.540
Auf der horizontalen Achse die Ausgaben.

38:02.740 --> 38:07.500
Und die Frage, die wir jetzt stellen wollen.

38:08.160 --> 38:10.160
Wir haben dieses HMM gegeben.

38:11.620 --> 38:14.620
Angenommen, wir machen die Beobachtung ABA.

38:17.080 --> 38:21.040
Was wir jetzt bestimmen wollen ist, was ist die Wahrscheinlichkeit

38:21.040 --> 38:25.260
davon, dass dieses HMM die Symbolfolge ABA ausgegeben hat.

38:25.880 --> 38:26.900
Welches Problem ist das?

38:32.660 --> 38:38.280
Es ist das Evaluierungsproblem und wir lösen es mit dem Forward

38:38.280 --> 38:38.840
Algorithmus.

38:39.320 --> 38:44.200
Also, bei uns sei die HMM-Konvention so, wir sind erst in einem

38:44.200 --> 38:47.900
Zustand und machen erst eine Ausgabe, wenn wir einen Übergang machen,

38:47.980 --> 38:49.300
in einen neuen Zustand.

38:51.910 --> 38:54.370
Das heißt, wir haben Anfangszustände

38:58.710 --> 39:03.270
mit Wahrscheinlichkeiten, dass wir uns ganz am Anfang in diesem

39:03.270 --> 39:06.010
Zustand befinden, aber wir haben noch keine Ausgabe gemacht.

39:06.650 --> 39:09.110
Die Ausgabe passiert erst, wenn wir einen Übergang machen.

39:10.330 --> 39:12.390
Und wir haben insgesamt drei Ausgaben.

39:14.290 --> 39:15.790
A, B und A.

39:18.310 --> 39:21.270
Gut, als erstes nehmen wir uns den Startzustand vor.

39:21.510 --> 39:24.790
Wenn wir im Startzustand sind, dann können wir entweder in den

39:24.790 --> 39:32.290
nächsten Zustand übergehen, mit Übergangswahrscheinlichkeit im eigenen

39:32.290 --> 39:34.350
Zustand bleiben, im Startzustand bleiben, mit

39:34.350 --> 39:37.910
Übergangswahrscheinlichkeit 0,7 und wenn man dann entsprechend die

39:37.910 --> 39:43.590
Ausgabe A im Zustand S macht, hat das eine Wahrscheinlichkeit von 0,5.

39:45.470 --> 39:53.310
Das ist die einzige Möglichkeit, wie wir im Zustand S am Anfang sein

39:53.310 --> 39:55.050
können und die Ausgabe A machen können.

39:55.670 --> 39:59.110
Das heißt, von M oder E dürfen wir nicht wieder nach S zurück.

39:59.310 --> 40:02.270
Das heißt, diese ganzen Pfade können wir uns schenken, die haben alle

40:02.270 --> 40:03.090
Wahrscheinlichkeit 0.

40:04.470 --> 40:08.250
Dementsprechend ist die Wahrscheinlichkeit, dass wir also im Zustand S

40:08.250 --> 40:12.730
am Anfang hier sind und die Ausgabe A machen.

40:13.470 --> 40:16.330
0,5 mal 0,7 mal 0,5.

40:16.790 --> 40:18.090
0,175.

40:20.450 --> 40:35.600
Diese 0,175 ist also unser Alpha 1 von S.

40:37.260 --> 40:39.540
Das ist der Wert dieser Zelle.

40:41.080 --> 40:44.420
Jetzt Mittelzustand.

40:45.140 --> 40:48.080
Es könnte auch sein, dass wir vom Startzustand in den Mittelzustand

40:48.080 --> 40:52.440
gegangen sind oder es kann sein, dass wir im Mittelzustand waren und

40:52.440 --> 40:54.320
wieder in den Mittelzustand übergegangen sind.

40:54.840 --> 40:56.860
Vom Endzustand können wir nicht in den Mittelzustand.

40:57.600 --> 41:03.720
Übergang von hier wäre entsprechend 0,3 und dann die

41:03.720 --> 41:07.900
Wahrscheinlichkeit, dass man da hier dann im Mittelzustand die Ausgabe

41:07.900 --> 41:11.040
A macht, wäre entsprechend auch 0,3.

41:13.440 --> 41:17.020
Oder wenn ich von dem Mittelzustand schon bin und in den Mittelzustand

41:17.020 --> 41:19.700
übergehe, hat das auch die Wahrscheinlichkeit 0,3.

41:20.060 --> 41:22.540
Die Wahrscheinlichkeit, dass ich die Ausgabe mache, ist 0,3.

41:23.400 --> 41:26.020
Jetzt muss man entsprechend rechnen.

41:26.100 --> 41:28.560
Einmal 0,3 mal 0,3 mal 0,3.

41:28.820 --> 41:29.940
Das ist die eine Möglichkeit.

41:30.640 --> 41:35.860
Das eine ist entsprechend 0,027.

41:39.550 --> 41:44.910
Oder den zweiten Pfad, die 0,5 mal 0,3 mal 0,3 sind entsprechend 0

41:44.910 --> 41:45.550
,045.

41:48.350 --> 41:52.970
Und die beiden in der Summe ergeben dann 0,072.

41:58.470 --> 42:04.230
Oder es kann sein, dass ich, als ich im Mittelzustand war, dass ich in

42:04.230 --> 42:05.510
den Endzustand übergehe.

42:06.070 --> 42:09.450
Oder ich kann vom Endzustand schon gewesen sein und wieder in den

42:09.450 --> 42:10.390
Endzustand übergehen.

42:12.190 --> 42:16.530
Hat entsprechend die Übergangswahrscheinlichkeit hier 0,7 mal

42:16.530 --> 42:18.250
Emissionswahrscheinlichkeit 0,3.

42:19.030 --> 42:24.470
Und hier haben wir die Übergangswahrscheinlichkeit 1,0 mal die

42:24.470 --> 42:26.650
Emissionswahrscheinlichkeit 0,3.

42:27.030 --> 42:31.230
Das heißt, hier die beiden möglichen Summen, die möglichen Werte

42:31.230 --> 42:37.210
setzen sich zusammen aus dem 0,06 und dem 0,063.

42:39.630 --> 42:43.190
Macht in der Summe 0,123.

42:51.020 --> 42:55.160
Jetzt habe ich alle Alpha möglichen Alpha 1, da stehen Alpha 1 von S,

42:55.240 --> 42:57.420
Alpha 1 von M, Alpha 1 von E.

42:58.000 --> 43:01.640
Jetzt geht es über zu dem B, der Ausgabe B.

43:02.240 --> 43:06.240
Wenn ich sie im Zustand S mache, kann ich nur vom Zustand S gekommen

43:06.240 --> 43:06.560
sein.

43:09.420 --> 43:11.900
Übergangswahrscheinlichkeit wieder 0,7, Emissionswahrscheinlichkeit

43:11.900 --> 43:12.900
diesmal 0,1.

43:14.280 --> 43:18.600
Hätte ich die Ausgabe B im Zustand M gemacht, hätte ich entweder vom

43:18.600 --> 43:25.140
Anfangszustand kommen können oder vom Mittelzustand.

43:25.480 --> 43:29.760
Vom Anfangszustand Übergangswahrscheinlichkeit 0,3,

43:31.460 --> 43:34.540
Emissionswahrscheinlichkeit wieder 0,1.

43:34.760 --> 43:38.340
Hier die Übergangswahrscheinlichkeit entsprechend 0,3,

43:38.860 --> 43:41.560
Emissionswahrscheinlichkeit 0,1.

43:41.960 --> 43:46.300
Das heißt, der eine mögliche Pfad 0,175 mal 0,3 mal 0,1, der andere

43:46.300 --> 43:49.880
Pfad 0,072 mal 0,3 mal 0,1.

44:08.800 --> 44:12.240
Und so füllen wir das alles hier schön aus.

44:17.220 --> 44:18.720
Das kürze ich jetzt mal ab.

44:27.760 --> 44:29.000
Und hier unten das entsprechend.

44:34.360 --> 44:40.440
Und hier entsprechend wieder das gleiche Spiel mit den möglichen

44:40.440 --> 44:52.520
Übergangswahrscheinlichkeiten und herauskommen.

45:16.580 --> 45:22.920
Jetzt habe ich meine Tabelle ausgefüllt und alle Alphas von 1 bis 3

45:22.920 --> 45:24.900
und von S bis E ausgerechnet.

45:26.960 --> 45:28.540
Wie komme ich jetzt auf den Wert?

45:29.340 --> 45:31.260
Das ist der letzte Schritt beim Vorwartalgorithmus.

45:31.260 --> 45:33.820
Damit ich jetzt den Wert da oben ausrechne.

45:37.060 --> 45:38.620
Bisher habe ich nur meine Alphas da stehen.

45:40.320 --> 45:40.600
Genau.

45:40.900 --> 45:49.140
Was jetzt noch fehlt ist, und das vergessen viele, die Spalte muss

45:49.140 --> 45:50.000
aufsummiert werden.

45:52.120 --> 45:54.060
Und wenn ich die Summe gebildet habe,

46:04.360 --> 46:08.340
kommt endlich erst der Wert raus für die Antwort zu meinem

46:08.340 --> 46:09.280
Evaluierungsproblem.

46:11.360 --> 46:14.160
Wie gesagt, habe ich in letzter Zeit in den Prüfungen sehr, sehr

46:14.160 --> 46:15.020
häufig falsch gesehen.

46:15.720 --> 46:20.700
Deswegen jetzt hier noch mal als Erinnerung aus kognitive Systeme, wie

46:20.700 --> 46:24.700
das dynamische Programmieren da an der Stelle funktioniert und wie ich

46:24.700 --> 46:28.400
dann auch wirklich das Ergebnis aus der Tabelle ablesen kann.

46:28.540 --> 46:30.600
Es gibt dann wieder auch welche, die können zwar die Tabelle

46:30.600 --> 46:34.140
ausfüllen, aber was dann eigentlich das Ergebnis ist, was sie ablesen

46:34.140 --> 46:36.260
müssen, das können sie nicht.

46:37.640 --> 46:39.260
Was ist der Unterschied zum Viterbi-Algorithmus?

46:39.260 --> 46:42.280
Wie unterscheidet sich jetzt der Viterbi-Algorithmus zu diesem Bild?

46:45.850 --> 46:49.170
Ja, genau.

46:49.770 --> 46:55.450
Dieses Plus kennt ihr nicht, sondern für jeden möglichen Wert, den es

46:55.450 --> 46:59.110
gibt, nimmt er einfach das Maximum, bleibt das Maximum drin stehen.

47:01.910 --> 47:03.510
Was mache ich mit der letzten Spalte?

47:03.590 --> 47:04.750
Was kann ich aus der ablesen?

47:09.830 --> 47:10.310
Genau.

47:11.230 --> 47:14.690
Was kann ich aus der letzten Spalte ablesen, wenn ich mir nur die

47:14.690 --> 47:15.410
Werte anschaue?

47:18.410 --> 47:18.530
Genau.

47:18.750 --> 47:20.350
Was sagt der maximale Wert?

47:20.990 --> 47:27.290
Also das wäre der maximale Wert, wenn das der Viterbi wäre, wofür

47:27.290 --> 47:28.490
steht der maximale Wert?

47:30.770 --> 47:34.190
Für die Wahrscheinlichkeit des wahrscheinlichsten Fades.

47:37.410 --> 47:41.650
Jeder einzelne Wert steht für die Wahrscheinlichkeit eines, für die

47:41.650 --> 47:45.250
höchste Wahrscheinlichkeit unter allen Faden, die in diesem Zustand

47:45.250 --> 47:45.630
enden.

47:46.310 --> 47:50.390
Dementsprechend steht der höchste Wert für die Wahrscheinlichkeit des

47:50.390 --> 47:52.410
wahrscheinlichsten Fades unter allen Faden.

47:53.010 --> 47:55.370
Und was muss ich jetzt noch machen, wenn ich eigentlich zurück wissen

47:55.370 --> 47:56.950
will, wie der Fad aussieht?

48:03.420 --> 48:03.940
Genau.

48:04.120 --> 48:07.020
Jedes Mal, wenn ich die Maximumsbildung mache, muss ich mir merken,

48:07.020 --> 48:12.700
von welcher Fahrt, von welchem vorhergehenden Zustand hat denn zu dem

48:12.700 --> 48:13.540
Maximum geführt?

48:13.900 --> 48:17.420
Und dann kann ich vom maximalen Fad aus wieder diese Rückzeiger

48:17.420 --> 48:22.020
zurückverfolgen und mir ganz bis zum Anfang der Tabelle zurück den

48:22.020 --> 48:23.860
wahrscheinlichsten Fad entsprechend aufbauen.

48:25.380 --> 48:25.400
Gut.

48:26.940 --> 48:28.220
Das dazu.

48:30.440 --> 48:34.900
Jetzt eigentlich wieder zum eigentlichen Interessanten, zum EM

48:34.900 --> 48:35.500
-Algorithmus.

48:36.480 --> 48:40.440
Wir hatten letztes Mal schon gesagt, der EM-Algorithmus besteht aus

48:40.440 --> 48:41.140
zwei Schritten.

48:41.960 --> 48:47.480
Erster Schritt, wir finden Werte für die nicht beobachtbaren

48:47.480 --> 48:49.760
Parameter, die wir hier Y genannt haben.

48:50.140 --> 48:55.400
Und wir finden diese Werte für das Y, indem wir einen Erwartungswert

48:55.400 --> 48:57.360
für diese Ys ausrechnen.

48:57.360 --> 49:01.660
Damit wir einen Erwartungswert ausrechnen können, brauchen wir schon

49:01.660 --> 49:03.100
irgendeinen Parametersatz.

49:03.460 --> 49:07.140
Das sei der initiale Parametersatz, der Parametersatz der letzten

49:07.140 --> 49:09.760
Iteration, dieses Theta hoch minus 1.

49:10.580 --> 49:14.040
Und mit Hilfe dieses Theta hoch minus 1 finden wir jetzt einen

49:14.040 --> 49:21.060
Erwartungswert für diese Werte Y, indem wir sagen, das sei

49:21.060 --> 49:26.360
entsprechend eine Wahrscheinlichkeitsverteilung F von Y, die unter den

49:26.360 --> 49:31.140
X und, also den beobachtbaren Werten und den Parametern aus der

49:31.140 --> 49:34.040
letzten Iteration beobachtbar sind.

49:35.380 --> 49:38.520
Das ist der Expectation-Schritt.

49:39.240 --> 49:43.740
Wir hatten gesehen, das macht man dann, indem man Integral bildet über

49:43.740 --> 49:49.780
alle möglichen Werte Y, die die Variable Groß-Y entsprechend annehmen

49:49.780 --> 49:50.100
kann.

49:50.280 --> 49:52.500
Dementsprechend nennt man sowas hier die Randverteilung.

49:52.640 --> 49:57.680
Und das Integral, das Integrieren über alle Werte für das Y, nennt man

49:57.680 --> 50:00.540
dann die Marginalisierung des Y.

50:03.060 --> 50:08.040
Wenn man das dann gemacht hat, wenn man also hoffentlich den

50:08.040 --> 50:11.600
Erwartungswert der Y gut ausrechnen kann, dann kommt der zweite

50:11.600 --> 50:15.700
Schritt, der Maximierungsschritt, der dann genauso wie bei der Maximum

50:15.700 --> 50:20.400
-Likelihood -Methode nun annimmt, dass ich alle Werte beobachtet habe,

50:20.600 --> 50:23.760
obwohl ich in Wirklichkeit die eine Hälfte nur geschätzt habe und dann

50:23.760 --> 50:27.460
entsprechend die Parameter meiner Wahrscheinlichkeitsdichte-Funktion

50:27.460 --> 50:36.080
zum Beispiel maximiert in diesen Werten X und Y.

50:36.820 --> 50:42.420
Und da das Y nun mal abhängt von dem Theta hoch minus 1, hängt also

50:42.420 --> 50:45.400
jetzt auch die Funktion, die wir dann maximieren, von diesem Theta

50:45.400 --> 50:50.200
hoch minus 1 entsprechend ab und wir maximieren aber jetzt über den

50:50.200 --> 50:53.120
nächsten Iteration der Werte Theta.

50:54.060 --> 50:58.320
Wir hatten gesagt, man kann halt zeigen, dass der EM-Algorithmus

50:58.320 --> 51:03.860
konvergiert gegen ein lokales Maximum der Likelihood-Funktion.

51:04.360 --> 51:06.280
Leider nicht gegen ein globales Maximum.

51:09.440 --> 51:13.360
Jetzt schauen wir uns Beispiele an.

51:14.140 --> 51:17.520
Und die Beispiele, die wir uns logischerweise anschauen, sind zum

51:17.520 --> 51:21.340
einen für Gauss-Mixtur-Verteilungen.

51:21.560 --> 51:24.120
Wie kann ich bei Gauss-Mixtur-Verteilungen die Werte schätzen?

51:24.600 --> 51:27.460
Da hatten wir schon gesagt, da laufen wir gegen eine Wand, wenn wir

51:27.460 --> 51:30.860
den Logarithmus der Likelihood-Funktion bilden, weil wir da plötzlich

51:30.860 --> 51:34.120
einen Logarithmus über die Summe von E-Funktionen haben.

51:34.240 --> 51:37.220
Und da können wir nichts Vernünftiges mit anstellen.

51:38.640 --> 51:42.580
Dementsprechend geht man dann dazu über, da mithilfe des EM

51:42.580 --> 51:43.640
-Algorithmus zu schätzen.

51:44.620 --> 51:47.580
Und so eine Gauss-Mixtur-Verteilung hat als Parameter halt

51:47.580 --> 51:51.940
Mixturgewichte, dann eine Menge von Mittelwerten für jede Gauss-Glocke

51:51.940 --> 51:56.340
ein und eine Menge von Kovarianz-Matrizen für jede Gauss-Glocke ein.

51:58.160 --> 52:01.980
Wenn man sich jetzt nur die Mixturgewichte anschaut, dann kann man das

52:01.980 --> 52:05.340
für beliebige Mixturen machen.

52:05.460 --> 52:07.480
Das müssen dann nicht unbedingt Normalverteilungen sein.

52:07.980 --> 52:11.600
Man muss hinterher nur die Werte irgendwie ausrechnen können.

52:12.260 --> 52:16.620
Wenn wir also eine beliebige Mixtur haben, das hier kann die Gauss

52:16.620 --> 52:20.240
-Glocke sein, kann was beliebiges sein und die werden mit diesen Alpha

52:20.240 --> 52:22.080
-Es zusammengewichtet.

52:22.580 --> 52:25.960
Wenn man da die Log-Likelihood dann nimmt, hat man eben die Log

52:25.960 --> 52:31.480
-Likelihood hier über diese Summe der Alpha-IJs mal P von J und kommt

52:31.480 --> 52:34.200
dann nicht mehr mit der Maximum-Likelihood-Methode weiter.

52:35.240 --> 52:39.040
Die Idee dahinter war jetzt, dass wir eine Modellbildung machen, dass

52:39.040 --> 52:44.160
wir sagen, wir gehen davon aus, dass das Ausrechnen dieser

52:44.160 --> 52:49.140
Mixturverteilung so funktioniert, dass für jedes Trainingsdatum erst

52:49.140 --> 52:54.700
eine Mixtur-Komponente gewählt wird, also zum Beispiel eine der N

52:54.700 --> 52:59.280
verschiedenen Gauss-Glocken und diese dann den beobachtbaren Wert

52:59.280 --> 53:00.180
hervorgebracht hat.

53:00.760 --> 53:06.220
Was wir also haben, ist, wir haben die beobachtbaren Werte, die X,

53:07.240 --> 53:10.700
aber was wir nicht beobachten können, ist, welche Gauss-Glocke denn

53:10.700 --> 53:12.300
ausgewählt wurde in diesem Prozess.

53:12.660 --> 53:16.940
Das seien unsere unbeobachtbaren Daten Y und I, können entsprechend,

53:17.100 --> 53:22.880
das Y und I kann Wert von 1 bis Anzahl Gauss-Glocken und Anzahl Mixtur

53:22.880 --> 53:26.140
-Komponenten annehmen, M, und da haben wir insgesamt ein Stück von.

53:27.180 --> 53:31.960
Und Y und I gleich K heißt wenn für das I Training-Sample die Kate

53:31.960 --> 53:35.120
Mixtur -Komponente genommen wurde, um das zu machen.

53:36.220 --> 53:42.140
Würden wir jetzt Y kennen, wäre das Ganze ganz einfach.

53:42.580 --> 53:47.000
Die Summe fällt weg und stattdessen für jeden Summenkomponenten

53:47.000 --> 53:50.800
müssten wir hier nur das entsprechende Y und I einsetzen und hätten

53:50.800 --> 53:56.200
dann da entsprechend verstehen, dass wir problemlos nach den Alpha-Is

53:56.200 --> 53:58.180
ableiten können.

53:59.540 --> 54:01.300
Jetzt ist das Y leider nicht bekannt.

54:01.720 --> 54:05.800
Wir tun halt so, als sei das Ganze ein Zufallsvektor und wir wählen

54:05.800 --> 54:07.720
jetzt initiale Parameter für die Mixtur.

54:09.020 --> 54:14.120
Wenn man das macht, dann kann man sich die Alpha-Is so Art vorstellen

54:14.120 --> 54:18.520
als die a priori Wahrscheinlichkeiten der Mixtur-Komponenten.

54:18.800 --> 54:21.100
Das ist also die a priori Wahrscheinlichkeit dafür, dass eine

54:21.100 --> 54:27.300
bestimmte Komponente ausgewählt wird, bevor die Beobachtung emittiert

54:27.300 --> 54:27.560
wird.

54:29.280 --> 54:35.440
Dann kann man sich diese f von Y und I gegeben Theta und beobachtbaren

54:35.440 --> 54:40.760
Parameter entsprechend so hinstreiben, dass man halt hier hat die a

54:40.760 --> 54:46.280
priori Wahrscheinlichkeit der I-Komponente durch die

54:46.280 --> 54:52.140
Wahrscheinlichkeit, dass die I-Komponente jetzt die Beobachtung XI

54:52.140 --> 54:53.140
hervorgebracht hat.

54:54.600 --> 55:00.620
Das wird jetzt halt mit den Y-Is und den Gs relativ fummelig.

55:01.120 --> 55:05.600
Was man jetzt macht ist, man spaltet sich die Parameter der Mixturen

55:05.600 --> 55:06.080
halt auf.

55:06.420 --> 55:16.940
Es gibt insgesamt M-Mixturen und könnte die jetzt entsprechend

55:16.940 --> 55:18.820
hinterher bei der Optimierung auseinanderziehen.

55:19.540 --> 55:22.860
Das Theta ist von der Generation G.

55:23.040 --> 55:25.480
Das ist also die G-Generation.

55:25.620 --> 55:28.860
Wir suchen jetzt die G plus erste Generation.

55:32.060 --> 55:37.840
Die Likelihood-Funktion kann man dann jetzt entsprechend wieder als

55:37.840 --> 55:46.760
Produkt der Funktion aufstellen und hat dann hier im logarithmischen

55:46.760 --> 55:53.440
Bereich entsprechend die Summe über alle diese Ys aus dem Y mal

55:53.440 --> 55:58.200
Likelihood -Funktion der Komponente mal der a priori

55:58.200 --> 56:01.060
Wahrscheinlichkeit der Komponente.

56:02.380 --> 56:06.680
Und das kann man jetzt entsprechend umformen und auflösen.

56:07.100 --> 56:10.100
Wen das interessiert, wenn man sich das anschauen will, ist das in dem

56:10.780 --> 56:15.300
verlinkten Paper in diesem Tutorial, Gentle Tutorial on the EM

56:15.300 --> 56:18.540
-Algorithm, verlinkt und schön aufnotiert.

56:18.800 --> 56:23.720
Jedenfalls kann man diese Q-Funktion dann entsprechend schön umformen,

56:24.180 --> 56:27.700
so dass am Ende zwei Summanden bei herauskommen.

56:29.000 --> 56:33.880
Das Schöne ist, wenn man sich die beiden Summanden anschaut, hier

56:33.880 --> 56:38.300
kommen die Alphas vor, aber da drüben nicht und hier drüben kommen die

56:38.300 --> 56:42.280
Thetas vor, der einzelnen Gauss-Komponenten, aber die Alphas nicht.

56:43.080 --> 56:46.320
Das heißt, man kann diese beiden Summanden unabhängig voneinander

56:46.320 --> 56:51.240
maximieren, wenn man gemeinschaftlich die Kombination aus

56:51.240 --> 56:56.000
Mixturgewichten und Parametern der einzelnen Mixturkomponenten

56:56.000 --> 56:57.480
optimieren will.

57:01.560 --> 57:09.240
Was man jetzt hat, ist hier diese Doppelsumme über die Mixturgewichte

57:09.240 --> 57:15.480
mal den Wahrscheinlichkeiten der einzelnen Komponenten und das Ganze

57:15.480 --> 57:19.960
will man jetzt optimieren, will man einen optimalen Satz an Alpha Is

57:19.960 --> 57:23.080
für finden, der diese Doppelsumme maximiert.

57:25.160 --> 57:29.320
Und das Ganze auch noch unter der Nebenbedingung, dass die Summe der

57:29.320 --> 57:33.740
einzelnen Gewichte natürlich auch noch 1 ergeben soll und die Gewichte

57:33.740 --> 57:36.140
auch zwischen 0 und 1 liegen müssen.

57:36.700 --> 57:41.260
Das heißt, das ist also eine klassische Optimierung unter

57:41.260 --> 57:48.040
Nebenbedingungen von so einer Gleichung und das Ganze kann man

57:48.040 --> 57:51.840
entsprechend mit der Lagrange-Methode machen, indem man hier hinten

57:51.840 --> 57:56.720
noch die Lagrange-Faktoren mit dran tut.

57:57.140 --> 58:03.280
Das Ganze entsprechend ableiten und dann Null setzen, führt hinterher

58:03.280 --> 58:06.800
dazu, dass wenn man das ausrechnet und durchrechnet, man diese

58:06.800 --> 58:10.240
Schätzung bekommt für ein einzelnes Mixturgewicht Alpha L.

58:13.900 --> 58:21.600
Wenn man sich das jetzt anschaut, dann sieht das relativ bekannt aus.

58:21.600 --> 58:25.120
Dann sieht das so aus, als hätte man das schon mal gesehen im Groben.

58:26.580 --> 58:28.640
Man hat hier einmal drinstehen, das durch N.

58:29.160 --> 58:31.480
N war die Anzahl der Trainingskomponenten.

58:31.620 --> 58:34.900
Das heißt, ich teile jetzt wieder durch die Anzahl der

58:34.900 --> 58:35.980
Trainingskomponenten.

58:37.300 --> 58:44.120
Und würde man jetzt, sagen wir mal, wissen, welche Mixturkomponente

58:44.120 --> 58:47.380
für welches Trainingsdatum gewählt wurde, dann hätte man wieder diese

58:47.380 --> 58:49.120
einfache Maximum-Likelihood-Schätzung.

58:49.200 --> 58:54.020
Man würde zählen für die älte Komponente, wie häufig habe ich denn die

58:54.020 --> 58:57.320
älte Komponente gesehen in meinen Trainingsdaten und teile das durch

58:57.320 --> 58:59.200
die Anzahl der Trainingsdaten.

58:59.900 --> 59:03.620
Jetzt habe ich halt die älte Komponente nicht gesehen, aber anstelle

59:03.620 --> 59:08.420
des Wissens, dass es jetzt die älte Komponente und wie häufig es das

59:08.420 --> 59:13.020
war, stritt stattdessen für jenes Trainingsdatum, das ich habe, die

59:13.020 --> 59:16.800
Wahrscheinlichkeit dafür, dass denn jetzt diese älte Komponente den

59:16.800 --> 59:17.820
Wert hervorgebracht hat.

59:18.540 --> 59:23.040
Das ist gerade dieses p von l gegeben, x i Theta g. Das ist die

59:23.040 --> 59:30.220
Wahrscheinlichkeit dafür, dass Mixturkomponente l den Wert x i unter

59:30.220 --> 59:32.820
den aktuellen Parametern ausgegeben hat.

59:34.260 --> 59:39.260
Das heißt, an die Stelle dieses harten Zählens, älte Komponente einmal

59:39.260 --> 59:43.000
gesehen, kommen irgendwelche anderen, dann älte Komponente zweimal

59:43.000 --> 59:43.300
gesehen.

59:43.660 --> 59:46.760
Anstelle dieses harten Zählens, wo ich weiß, okay, es war jetzt die

59:46.760 --> 59:52.700
älte Komponente, zähle ich soft, zähle ich unscharf, indem ich bei

59:52.700 --> 59:56.020
jedem Trainingsdatum die Wahrscheinlichkeit dafür nehme, dass es denn

59:56.020 --> 59:59.960
jetzt die älte Komponente war und nicht mehr um 1 hochzähle, sondern

59:59.960 --> 01:00:03.040
nur noch um diese Wahrscheinlichkeit, dass es die älte Komponente war.

01:00:03.540 --> 01:00:06.960
Wenn ich da sichere Wahrscheinlichkeiten habe, also Wahrscheinlichkeit

01:00:06.960 --> 01:00:10.220
der älte Komponente, das war in diesem Fall 1, dann wird das wieder

01:00:10.220 --> 01:00:11.460
das klassische Zählen.

01:00:12.000 --> 01:00:15.900
Nur jetzt wird dieses klassische Zählen umgewandelt zu einem

01:00:15.900 --> 01:00:20.400
Aufsummieren der Wahrscheinlichkeiten als Zeichen dafür, dass ich mir

01:00:20.400 --> 01:00:22.980
unsicher bin, ob es die älte Komponente war.

01:00:23.160 --> 01:00:26.180
Manchmal bin ich mir sicherer, manchmal bin ich mir unsicherer und

01:00:26.180 --> 01:00:30.000
summiere jetzt diese Unsicherheiten über alle Trainingsdaten auf und

01:00:30.000 --> 01:00:33.440
teile das dann durch die gesamte Anzahl der Trainingsdaten.

01:00:35.840 --> 01:00:38.440
Und das ist jetzt etwas, das werden wir immer wieder sehen.

01:00:39.000 --> 01:00:49.300
Das ist auch das, was wir schon gesehen haben bei den Regeln für das

01:00:49.300 --> 01:00:50.600
Optimierungsproblem.

01:00:51.360 --> 01:00:54.920
Da war es genauso, dass wir da nicht mehr scharf gezählt haben,

01:00:55.400 --> 01:00:59.020
welcher Zustand war es denn, zum Beispiel welches war denn der

01:00:59.020 --> 01:01:04.240
Anfangszustand, sondern dass wir da an die Stelle des Zählens das

01:01:04.240 --> 01:01:06.480
Arbeiten mit den Wahrscheinlichkeiten gesetzt haben.

01:01:06.480 --> 01:01:11.540
Und das sieht man jetzt halt bei dem gesamten EM-Algorithmus für die

01:01:11.540 --> 01:01:14.120
GMMs und für die HMMs.

01:01:14.880 --> 01:01:17.920
Überall das gleiche Muster, statt genau zu zählen, das war jetzt diese

01:01:17.920 --> 01:01:21.940
Komponente, das war jetzt dieser Zustand, wird nur noch gezählt, wird

01:01:21.940 --> 01:01:25.060
stattdessen die Wahrscheinlichkeit dafür genommen, dass es jetzt diese

01:01:25.060 --> 01:01:27.140
Komponente oder dieser Zustand war.

01:01:28.300 --> 01:01:32.280
Jetzt kann man das gleiche auch noch weitermachen für die Mittelwerte

01:01:32.280 --> 01:01:36.080
und die Kovarianzmatrizen der Gauss-Mixtur-Verteilung.

01:01:37.040 --> 01:01:41.380
Wenn wir uns jetzt so eine einfache Gauss-Verteilung noch mal

01:01:41.380 --> 01:01:47.820
anschauen, dieses PL von X µ L Sigma L, also die Wahrscheinlichkeit,

01:01:47.940 --> 01:01:51.740
dass die älte Komponente das Trainingsdatum X hervorgebracht hat, ist

01:01:51.740 --> 01:01:54.460
halt unsere multivariate Gauss-Verteilung.

01:01:55.520 --> 01:01:58.760
Und jetzt hat man das Problem, das Ding wird man jetzt ableiten müssen

01:01:58.760 --> 01:02:00.000
und damit arbeiten müssen.

01:02:00.640 --> 01:02:05.180
Und das ist ein bisschen unschön, weil man da oben halt entsprechend

01:02:05.180 --> 01:02:08.860
eine Kovarianzmatrix drin stehen hat, muss man mit Matrixregeln

01:02:08.860 --> 01:02:09.340
arbeiten.

01:02:10.240 --> 01:02:14.540
Was es einmal gibt, ist die Spur einer Matrix, den Trace.

01:02:14.680 --> 01:02:18.360
Und der Trace, die Spur einer Matrix, ist die Summe ihrer

01:02:18.360 --> 01:02:19.700
Diagonalelemente.

01:02:20.360 --> 01:02:23.680
Und man kann da ein bisschen mit rumrechnen, also die Spur der Summe

01:02:23.680 --> 01:02:27.080
von zwei Matrizen ist halt die Summe der Spuren der Matrizen.

01:02:27.900 --> 01:02:33.040
Und die Spur von Matrix A mal Matrix B ist das gleiche wie die Spur

01:02:33.040 --> 01:02:35.880
von Matrix B mal Matrix A.

01:02:45.270 --> 01:02:48.250
Daraus kann man dann noch so einen Hilfsatz ableiten, wenn ich mir

01:02:48.250 --> 01:02:52.010
meine Trainingsdaten, Trainingsdatum X hier hernehme und mir die

01:02:52.010 --> 01:02:59.030
Matrix B definiere, als eben diese Summe bei den Vektoren XI mal XI

01:02:59.030 --> 01:02:59.730
transponiert.

01:03:00.850 --> 01:03:05.210
Dann kann ich daraus auch schreiben, dass XI transponiert mal AXI

01:03:05.210 --> 01:03:09.770
gleich die Spur von A mal B ist, mit B halt entsprechend genommen.

01:03:10.710 --> 01:03:18.550
Dann die Determinante einer Matrix sei das hier mit den senkrechten

01:03:18.550 --> 01:03:18.990
Strichen.

01:03:19.550 --> 01:03:23.510
Die Determinante der Inversen der Matrix ist dann entsprechend eins

01:03:23.510 --> 01:03:26.390
durch die Determinante der eigentlichen Matrix.

01:03:28.910 --> 01:03:34.990
Wenn ich jetzt eine Matrix A ableite, dann brauche ich dafür die

01:03:34.990 --> 01:03:37.330
sogenannten Kofaktoren.

01:03:37.770 --> 01:03:44.250
Ich habe eine Matrix A, phi IJ sei der I-te, J-te Kofaktor von A.

01:03:44.630 --> 01:03:47.350
Weiß noch einer, was ein Kofaktor einer Matrix ist.

01:03:51.010 --> 01:03:56.210
Den Kofaktor einer Matrix bekomme ich, wenn ich die Matrix nehme, die

01:03:56.210 --> 01:04:08.570
I -te Spalte, J-te Zeile streiche und davon dann entsprechend die

01:04:08.570 --> 01:04:10.310
Determinante nehme.

01:04:18.710 --> 01:04:22.910
Und dann kann man halt ein bisschen rumrechnen.

01:04:23.350 --> 01:04:27.790
Also Ableitung einer Funktion über die Matrix nach der Matrix ist die

01:04:27.790 --> 01:04:30.910
Ableitung der Funktion nach A IJ.

01:04:33.610 --> 01:04:37.750
Das wiederum ergibt die Werte einer Matrix IJ.

01:04:38.530 --> 01:04:42.910
Das ist dann die hessische Matrix, die hesse Matrix.

01:04:44.790 --> 01:04:48.650
Und entsprechend die Ableitung des Logarithmuses, der Determinante

01:04:48.650 --> 01:04:53.390
einer Matrix nach dieser Matrix, kann man dann ausdrücken durch diese

01:04:53.390 --> 01:04:59.750
Kofaktoren oder halt entsprechend als diese Summe, dass man halt

01:04:59.750 --> 01:05:07.530
zweimal das Inverse der Matrix hat, minus die Diagonalelemente der

01:05:07.530 --> 01:05:08.630
Inversen der Matrix.

01:05:08.770 --> 01:05:11.710
Das ergibt dann wieder die Matrix, die hesse Matrix, diese Ableitung

01:05:11.710 --> 01:05:17.290
der Funktion Logarithmus von Determinante von Matrix A.

01:05:19.030 --> 01:05:22.830
Und entsprechend die Ableitung der Spur einer Matrix A mal B nach der

01:05:22.830 --> 01:05:27.930
Matrix A ist dann halt B mal B transponiert, minus die Matrix, die ich

01:05:27.930 --> 01:05:30.950
dadurch erhalte, dass ich die Diagonalelemente der Matrix B nehme.

01:05:33.960 --> 01:05:41.940
Gut, mit den ganzen Hilfsrächenregeln im Hinterkopf müssen wir uns

01:05:41.940 --> 01:05:46.520
jetzt um den zweiten Summanden in dieser Q-Funktion kümmern.

01:05:53.020 --> 01:05:55.840
Wir erinnern uns zurück an diese Stelle.

01:05:56.780 --> 01:06:00.100
Hier hatten wir gerechnet die Q-Funktion und die Q-Funktion war in

01:06:00.100 --> 01:06:01.560
zwei Summanden zerfallen.

01:06:02.000 --> 01:06:05.860
Im linken Summanden waren die Mixturgewichte, im rechten Summanden

01:06:05.860 --> 01:06:09.200
waren die Parameter der Mixturen selber.

01:06:10.600 --> 01:06:15.020
Hier in diese Doppelsumme müssen wir jetzt entsprechend die Formeln

01:06:15.020 --> 01:06:21.460
für die Gauss-Glocke einsetzen und wenn man das macht, kommt man

01:06:21.460 --> 01:06:21.820
dahin.

01:06:22.200 --> 01:06:23.760
Das gilt es jetzt zu maximieren.

01:06:26.080 --> 01:06:31.060
Das kann man jetzt entsprechend auseinsetzen, umformen.

01:06:32.660 --> 01:06:39.280
Das ist erstmal nur die Formel für die Gauss-Glocke, da entsprechend

01:06:39.280 --> 01:06:40.360
eingesetzt.

01:06:40.940 --> 01:06:47.580
Wenn man das Ganze nach µ ableitet, kommt man dahin, dass man diese

01:06:47.580 --> 01:06:52.300
Doppelsumme über die Trainingsdaten und über die einzelnen

01:06:52.300 --> 01:07:02.220
Mixturkomponenten auf null setzen muss und dementsprechend kommt man

01:07:02.220 --> 01:07:08.680
dann für eine einzelne Komponente µl daraus, dass das µl wieder dem

01:07:08.680 --> 01:07:09.400
hier entspricht.

01:07:11.680 --> 01:07:16.100
Und hier sieht man wieder das gleiche Prinzip, dass man anstatt, dass

01:07:16.100 --> 01:07:21.000
man hart zählt, jetzt also stattdessen, dass man Einsen aufsummiert,

01:07:21.600 --> 01:07:24.520
das letztendlich nichts anderes ist als zählen, dass man hier

01:07:24.520 --> 01:07:25.860
Wahrscheinlichkeiten aufsummiert.

01:07:26.160 --> 01:07:28.340
Und hier hat man jetzt zwei Unsicherheiten.

01:07:28.680 --> 01:07:31.900
Man hatte einmal die Unsicherheit darüber, dass es überhaupt die älte

01:07:31.900 --> 01:07:38.120
Komponente war, die das Trainingsdatum xi hervorgebracht hat, plus man

01:07:38.120 --> 01:07:44.900
weiß auch nicht, wie viele Trainingsdaten denn jetzt wirklich zu dem l

01:07:44.900 --> 01:07:45.580
gehört haben.

01:07:46.780 --> 01:07:51.880
Und dementsprechend hat man auch hier im Nenner dann nicht mehr eine

01:07:51.880 --> 01:07:55.840
feste Zahl stehen, die feste Anzahl der Trainingsdaten, sondern nur

01:07:55.840 --> 01:07:58.040
noch die Wahrscheinlichkeit darüber.

01:07:58.040 --> 01:08:03.360
Denn was man eigentlich wissen wollte, wäre von allen Trainingsdaten,

01:08:03.460 --> 01:08:05.080
welche Trainingsdaten gehören zum l.

01:08:05.420 --> 01:08:09.040
Diese Trainingsdaten nehme ich mir zur Seite und nur über diese

01:08:09.040 --> 01:08:11.420
Trainingsdaten bilde ich das arithmetische Mittel.

01:08:12.260 --> 01:08:15.900
Und da weiß ich schon nicht mehr, wie viele von den Trainingsdaten

01:08:15.900 --> 01:08:16.900
haben zu dem l gehört.

01:08:17.380 --> 01:08:21.300
Also summiere ich die Wahrscheinlichkeiten dafür auf, dass ein

01:08:21.300 --> 01:08:25.320
Trainingsdatum überhaupt zur älten Komponente gehört hat und dann oben

01:08:25.320 --> 01:08:33.060
entsprechend dann nur noch statt des Musters, des xis, summiere ich da

01:08:33.060 --> 01:08:38.460
auf, dass xi gewichtet mit der Wahrscheinlichkeit, dass es überhaupt

01:08:38.460 --> 01:08:41.040
von der älten Komponente her vorgebracht wurde.

01:08:44.500 --> 01:08:47.200
Diese zu maximierende Funktion, die wir jetzt gerade nach Mü

01:08:47.200 --> 01:08:51.140
abgeleitet haben, die kann man ein bisschen umschreiben, damit es

01:08:51.140 --> 01:08:54.360
hinterher mit der Ableiterei wieder einfacher wird, wenn man jetzt

01:08:54.360 --> 01:08:59.700
nach der Kovarianzmatrix Sigma hoch minus 1 entsprechend ableiten

01:08:59.700 --> 01:09:00.120
möchte.

01:09:01.020 --> 01:09:05.480
Kann man das ein bisschen umgruppieren, kann man dann entsprechend mit

01:09:05.480 --> 01:09:10.000
den Regeln, die man vorhin hatte, nach dem Sigma hoch minus 1 l, der

01:09:10.000 --> 01:09:13.620
Kovarianzmatrix, entsprechend dem Inversen der Kovarianzmatrix

01:09:13.620 --> 01:09:14.720
ableiten.

01:09:15.160 --> 01:09:16.600
Man kann das Ganze durchrechnen.

01:09:17.020 --> 01:09:20.180
Wenn man das durchgerechnet hat, kommt man wieder bei etwas raus.

01:09:20.300 --> 01:09:22.880
Das entspricht wieder genau dem gleichen Schema.

01:09:23.920 --> 01:09:27.800
Hier unten habe ich statt der Anzahl der Trainingsdaten, die jetzt zu

01:09:27.800 --> 01:09:32.200
der älten Komponente gehörten, einfach die Summe aller

01:09:32.200 --> 01:09:36.900
Wahrscheinlichkeiten, dass das jeweilige ITE-Trainingsdatum zur älten

01:09:36.900 --> 01:09:38.060
Komponente gehört hat.

01:09:38.600 --> 01:09:45.620
Und hier oben habe ich wieder nichts anderes als die Schätzung der

01:09:45.620 --> 01:09:52.280
quadrierten Abweichung der Trainingsdaten von dem vorher geschätzten

01:09:52.280 --> 01:09:56.240
Mittelwert, aber gewichtet mit der Wahrscheinlichkeit, dass das

01:09:56.240 --> 01:10:00.220
Trainingsdatum überhaupt zur älten Komponente gehört hat.

01:10:06.920 --> 01:10:09.740
Und jetzt kommt was ganz Fieses.

01:10:10.260 --> 01:10:14.980
Das hier ist nur der EM-Algorithmus für die Gauss-Mixtur-Verteilung.

01:10:15.380 --> 01:10:18.680
Die Gauss-Mixtur-Verteilung sind aber nur die

01:10:18.680 --> 01:10:22.920
Emissionswahrscheinlichkeiten unserer kontinuierlichen HMMs.

01:10:23.580 --> 01:10:27.680
Was wir jetzt noch dazu brauchen, ist ja den EM-Algorithmus für die

01:10:27.680 --> 01:10:30.500
Übergangswahrscheinlichkeiten und die Initialwahrscheinlichkeiten.

01:10:31.680 --> 01:10:36.920
Und da kommt jetzt ein doppelt geschachtelter EM-Algorithmus hinterher

01:10:36.920 --> 01:10:37.300
bei raus.

01:10:37.960 --> 01:10:42.460
Bei den diskreten HMMs hatten wir noch nicht das Problem, dass wir die

01:10:42.460 --> 01:10:46.100
Emissionswahrscheinlichkeiten mit EM schätzen mussten.

01:10:46.260 --> 01:10:49.220
Bei den diskreten HMMs war es bisher so, wenn wir mal den

01:10:49.220 --> 01:10:52.660
Erwartungswert der unbeobachtbaren Daten geschätzt haben, dann gibt es

01:10:52.660 --> 01:10:57.100
eine einfache Maximum-Likelihood-Methode, um die diskreten

01:10:57.100 --> 01:10:59.940
Wahrscheinlichkeitsverteilungen zu schätzen.

01:11:00.780 --> 01:11:02.000
Jetzt haben wir die Gauss-Mixturen.

01:11:02.160 --> 01:11:06.380
Das heißt, selbst wenn ich jetzt die nicht beobachtbaren Daten mittels

01:11:06.380 --> 01:11:14.680
Erwartungswert geschätzt habe, habe ich dann immer noch einen EM

01:11:14.680 --> 01:11:18.040
-Algorithmus, in dem ich jetzt reingehen muss mit den zuvor

01:11:18.040 --> 01:11:23.360
geschätzten Wahrscheinlichkeiten dafür, dass ich in einem bestimmten

01:11:23.360 --> 01:11:25.020
Zustand zu einer bestimmten Zeit war.

01:11:27.100 --> 01:11:32.080
Bei den diskreten HMMs hatten wir bisher einfach die intuitiv

01:11:32.080 --> 01:11:35.840
hergeleiteten Regeln und diese Regeln kann man jetzt sich genauso

01:11:35.840 --> 01:11:39.700
herleiten wieder mittels EM-Algorithmus.

01:11:41.100 --> 01:11:46.320
Die Q-Funktion wird relativ einfach ersetzt.

01:11:46.500 --> 01:11:48.820
Das ist die Q-Funktion, ist die Summe über alle möglichen

01:11:48.820 --> 01:11:57.200
Zustandsfolgen, Wahrscheinlichkeit, dass diese Zustandsfolge das

01:11:57.200 --> 01:12:00.240
hervorgebracht hat, mal Wahrscheinlichkeit, das ist die Zustandsfolge

01:12:00.240 --> 01:12:01.180
und so weiter.

01:12:01.340 --> 01:12:06.380
Wahrgemäß der bisherigen Parameter für so ein einzelnes Q ist also die

01:12:06.380 --> 01:12:11.000
Wahrscheinlichkeit einfach Anfangswahrscheinlichkeit mal Produkt über

01:12:11.000 --> 01:12:16.020
die einzelnen Zustände, die in diesem Pfad durchlaufen werden, mit den

01:12:16.020 --> 01:12:17.940
jeweiligen Emissionswahrscheinlichkeiten.

01:12:19.940 --> 01:12:27.160
Das Ganze kann man logarithmieren und entsprechend umformen.

01:12:29.800 --> 01:12:34.500
Wenn man das macht, kommt man zu dieser entsprechenden Q-Funktion, die

01:12:34.500 --> 01:12:39.460
wieder glücklicherweise in drei verschiedene Summanden zerfällt.

01:12:40.380 --> 01:12:45.480
Und wie es so will, der Zufall, in jeweils einem der drei Summanden

01:12:45.480 --> 01:12:49.840
sind die einer von den drei zu optimierenden Parametern.

01:12:50.300 --> 01:12:53.220
Im ersten Summanden stecken nur die initialen Wahrscheinlichkeiten

01:12:53.220 --> 01:12:55.500
drin, im zweiten Summanden stecken nur die

01:12:56.100 --> 01:12:58.520
Übergangswahrscheinlichkeiten drin und im dritten Summanden stecken

01:12:58.520 --> 01:13:01.180
nur die Emissionswahrscheinlichkeiten drin.

01:13:01.600 --> 01:13:04.260
Das heißt, wir sind wieder in der glücklichen Situation, dass wir für

01:13:04.260 --> 01:13:10.060
alle drei Parameter die Summanden unabhängig voneinander optimieren

01:13:10.060 --> 01:13:10.400
können.

01:13:12.540 --> 01:13:16.580
Am einfachsten geht das wieder für die initialen Wahrscheinlichkeiten.

01:13:18.780 --> 01:13:27.840
Das ist in dem Fall die marginalisierte Wahrscheinlichkeit für den

01:13:27.840 --> 01:13:29.880
Zeitpunkt t gleich 0.

01:13:30.980 --> 01:13:39.780
Das heißt also, ich muss im Prinzip über alle möglichen Zustände für

01:13:39.780 --> 01:13:46.290
den Zeitpunkt 0 hinweg optimieren, um dann zu der Formel zu kommen für

01:13:46.290 --> 01:13:49.150
die initialen Wahrscheinlichkeiten.

01:13:50.090 --> 01:13:53.870
Das Ganze kann man wieder mit Hilfe der Lagrange-Methode optimieren

01:13:53.870 --> 01:13:57.430
unter der Nebenbedingung, dass die Anfangswahrscheinlichkeiten sich zu

01:13:57.430 --> 01:14:01.090
1 summieren müssen, sich hier entsprechend solche Lagrange-Faktoren in

01:14:01.090 --> 01:14:01.790
Gamma einführen.

01:14:02.390 --> 01:14:05.950
Und wenn man das Ganze dann ausrechnet, 0 setzt, kommt man zu dieser

01:14:05.950 --> 01:14:10.970
bereits bekannten Formel für die Schätzung der initialen

01:14:10.970 --> 01:14:11.770
Wahrscheinlichkeiten.

01:14:12.050 --> 01:14:15.670
Das ist also die Wahrscheinlichkeit, dass ich zum Zeitpunkt 0 im

01:14:15.670 --> 01:14:19.690
Zustand i bin, geteilt durch die Wahrscheinlichkeit, dass das HMM

01:14:19.690 --> 01:14:24.290
überhaupt die Ausgabe o produziert hat.

01:14:27.270 --> 01:14:31.150
In den zweiten Termen kann man dann entsprechend

01:14:34.490 --> 01:14:41.630
auch ein bisschen umformen, das Ganze entsprechend wieder in die

01:14:41.630 --> 01:14:46.430
Formel einsetzen, dann die Wahrscheinlichkeiten jetzt zum Zeitpunkt T

01:14:46.430 --> 01:14:47.250
marginalisieren.

01:14:47.410 --> 01:14:52.350
Das heißt, ich muss die Summe in diesem Fall bilden über alle

01:14:52.350 --> 01:14:53.710
möglichen Zeitpunkte T.

01:14:55.530 --> 01:15:01.170
Also, den da kann dann wieder mit der Lagrange-Methode rangehen, mit

01:15:01.170 --> 01:15:05.010
den Nebenbedingungen, dass die jeweiligen

01:15:05.010 --> 01:15:09.530
Übergangswahrscheinlichkeiten für jeden Zustand sich zu 1 addieren

01:15:09.530 --> 01:15:09.810
müssen.

01:15:09.970 --> 01:15:13.410
Und wenn man das macht, kommt man wieder bei der bereits bekannten

01:15:13.410 --> 01:15:20.510
Formel raus, die halt wieder hier unten normalisiert darüber, über die

01:15:20.510 --> 01:15:27.230
Wahrscheinlichkeit, dass ich zu einem Zeitpunkt T minus 1 im Zustand i

01:15:27.230 --> 01:15:33.570
war und dann entsprechend, wenn ich das weiß, die Wahrscheinlichkeit

01:15:33.570 --> 01:15:37.910
zu einem beliebigen Zeitpunkt, dann noch hier oben im Zähler die

01:15:37.910 --> 01:15:41.070
Wahrscheinlichkeit dafür stehen hat, dass ich auch jetzt noch einen

01:15:41.070 --> 01:15:45.630
Übergang von i nach j gemacht habe und dabei natürlich jeweils die

01:15:45.630 --> 01:15:51.090
gesamte Ausgabe des Trainingsdatums der Trainingsdaten produziert

01:15:51.090 --> 01:15:51.470
haben.

01:15:57.090 --> 01:16:02.330
Bei den diskreten Emissionswahrscheinlichkeiten jetzt kann man den

01:16:02.330 --> 01:16:05.250
dritten Term wieder entsprechend ein bisschen umschreiben.

01:16:05.510 --> 01:16:08.150
Man kann wieder mit der Lagrange-Methode rangehen, wieder unter der

01:16:08.150 --> 01:16:10.810
Nebenbedingung, dass die Emissionswahrscheinlichkeiten sich für jeden

01:16:10.810 --> 01:16:15.230
Zustand auf 1 addieren müssen und kommt dann halt entsprechend auch

01:16:15.230 --> 01:16:20.090
wieder zu dieser Schätzung, wo man im Nenner drinstehen hat, wie groß

01:16:20.090 --> 01:16:22.770
ist denn die Wahrscheinlichkeit, dass ich mich überhaupt zu einem

01:16:22.770 --> 01:16:30.030
beliebigen Zeitpunkt in diesem Zustand i befinde und muss dann für

01:16:30.030 --> 01:16:35.430
jedes Vokabularwort k dann die Wahrscheinlichkeiten dann noch

01:16:35.430 --> 01:16:41.250
aufsummieren für die Zeitpunkte, in denen ich wirklich das

01:16:41.910 --> 01:16:45.430
Vokabularwort k überhaupt ausgegeben habe und zähle dann nicht wieder

01:16:45.430 --> 01:16:49.290
1 hoch, sondern die Wahrscheinlichkeit dafür, dass ich mich dann zum

01:16:49.290 --> 01:16:56.550
Zeitpunkt t auch wirklich in dem Zustand i überhaupt befunden habe und

01:16:56.550 --> 01:17:00.790
kontrastiere das zu all den Zeitpunkten, wo ich mich allgemein im

01:17:00.790 --> 01:17:04.350
Zustand i befunden habe und egal, was ich ausgegeben habe.

01:17:10.280 --> 01:17:13.080
So, jetzt ist das Problem, wenn man statt der

01:17:13.080 --> 01:17:14.820
Emissionswahrscheinlichkeit, diskreten

01:17:14.820 --> 01:17:22.940
Emissionswahrscheinlichkeitsverteilung ein GMM hat, dann wird es

01:17:22.940 --> 01:17:23.460
ekelhaft.

01:17:24.360 --> 01:17:28.520
Man hat jetzt zusätzlich zu den HMM-Zuständen, die nicht beobachtbar

01:17:28.520 --> 01:17:33.840
sind, hat man jetzt noch die unbekannten Indizes für die

01:17:33.840 --> 01:17:37.240
Mixturkomponenten, die das Ganze ausgegeben haben.

01:17:39.280 --> 01:17:41.980
Dementsprechend der dritte Summand ändert sich dann in dieser

01:17:41.980 --> 01:17:44.280
ursprünglichen Q-Funktion, der, der sich um die

01:17:44.280 --> 01:17:51.340
Emissionswahrscheinlichkeiten dreht und ich bekomme dann zusätzlich zu

01:17:51.340 --> 01:17:57.800
der Zeit, den Zustand, in dem ich mich befinde, auch noch diese

01:17:57.800 --> 01:18:02.360
Komponente L, die man angibt, die Wahrscheinlichkeit dafür, dass es

01:18:02.360 --> 01:18:06.800
jetzt die ältere Emissionskomponente war, die das hervorgegeben hat.

01:18:07.680 --> 01:18:10.780
Und dann passiert im Prinzip das Gleiche wie bei den Gauss

01:18:10.780 --> 01:18:17.560
-Mixturmodellen, dass ich aufsummieren muss, wie hoch ist die

01:18:17.560 --> 01:18:23.780
Wahrscheinlichkeit, dass es die ältere Komponente war, allerdings

01:18:23.780 --> 01:18:27.380
unter der Voraussetzung, dass ich mich jetzt tatsächlich im Zustand I

01:18:27.380 --> 01:18:34.260
zum Zeitpunkt T befand und das Ganze dann entsprechend aufaddiert für

01:18:34.260 --> 01:18:39.440
alle, aufnormiert über die Wahrscheinlichkeit dafür, dass es sich

01:18:39.440 --> 01:18:42.980
jeweils um die ältere Komponente zum Zeitpunkt T gehandelt hat und ich

01:18:42.980 --> 01:18:46.760
zum Zeitpunkt T dann noch im Zustand I war.

01:18:48.000 --> 01:18:53.100
Ich habe also diese Doppelindizierung über Komponenten einer Gauss

01:18:53.100 --> 01:18:56.180
-Mixturverteilung, die zu einem Zustand gehört und für jeden Zustand

01:18:56.180 --> 01:18:58.640
habe ich noch eine andere Gauss-Mixturverteilung.

01:18:59.460 --> 01:19:01.360
Die Ls sind also sozusagen doppelindiziert.

01:19:02.220 --> 01:19:05.780
Es kann einmal sein, dass es zu einem Zustand gehört und es kann dann

01:19:05.780 --> 01:19:10.200
noch zu einer anderen Komponente der Gauss-Mixturverteilung für einen

01:19:10.200 --> 01:19:10.940
Zustand gehören.

01:19:12.860 --> 01:19:16.560
Und wenn man das jetzt alles durchrechnet, kommt man entsprechend für

01:19:16.560 --> 01:19:24.440
diese Formeln einmal für die Mixturgewichte, für die Mittelwerte und

01:19:24.440 --> 01:19:30.140
für die Kovarianzmatrizen alle jeweils noch erweitert, um den Faktor,

01:19:30.660 --> 01:19:34.260
dass ich mich auch noch in dem entsprechenden Zustand zu diesem

01:19:34.260 --> 01:19:39.760
Zeitpunkt befunden haben muss, der zu dieser Gauss-Mixturkomponente

01:19:39.760 --> 01:19:40.140
gehört.

01:19:43.730 --> 01:19:50.410
Das, was wir bisher gemacht haben, hat bei HMMs einen

01:19:50.410 --> 01:19:51.230
Schönheitsfehler.

01:19:53.430 --> 01:20:05.370
Bei den Schätzungen zum Beispiel, da hatten wir immer N

01:20:05.370 --> 01:20:06.310
-Trainingsbeispiele.

01:20:06.590 --> 01:20:10.750
Zum Beispiel N-Trainingsbeispiele, die eine Gauss-Glocke

01:20:10.750 --> 01:20:11.670
hervorgebracht hat.

01:20:12.110 --> 01:20:17.990
Und über diese N-Trainingsbeispiele haben wir dann hergenommen, um die

01:20:17.990 --> 01:20:20.850
Parameter der Gauss-Glocke zu schätzen.

01:20:21.310 --> 01:20:26.030
Jetzt muss man sich klar machen, was heißt denn im Fall eines HMMs ein

01:20:26.030 --> 01:20:26.870
Trainingsbeispiel?

01:20:27.590 --> 01:20:30.190
Ein Trainingsbeispiel ist eine Ausgabe O.

01:20:31.770 --> 01:20:35.510
Und wenn man jetzt schon hinschaut, man hat hier nirgendwo einen Index

01:20:35.510 --> 01:20:36.130
über das O.

01:20:36.790 --> 01:20:41.950
Es gibt eine Ausgabe O, die besteht aus O1 bis OT, das heißt den

01:20:41.950 --> 01:20:45.890
jeweiligen Emissionen zum jeweiligen Zeitpunkt t.

01:20:46.570 --> 01:20:49.130
Aber es gibt nur eine einziges O.

01:20:49.850 --> 01:20:53.090
Sprich, wir haben letztendlich nur ein einziges Trainingsbeispiel.

01:20:53.670 --> 01:20:58.830
Das besteht aus einer Kette von Einzelbeobachtungen, die ausgegeben

01:20:58.830 --> 01:20:59.210
wurden.

01:21:01.210 --> 01:21:03.910
Das ist natürlich relativ wenig für so ein HMM.

01:21:04.130 --> 01:21:09.210
Wir hätten natürlich gerne mehrere solcher Ausgaben O, über die wir

01:21:09.210 --> 01:21:12.470
dann entsprechend die Parameter schätzen.

01:21:14.630 --> 01:21:19.350
Was da dann passiert ist, dass zu dem Ganzen halt noch eine Summe

01:21:19.350 --> 01:21:26.170
hinzukommt, nämlich die Summe über die Menge der Trainingsbeispiele,

01:21:26.190 --> 01:21:26.650
die wir haben.

01:21:27.230 --> 01:21:31.810
Hier hat man also Groß-E-Trainingsbeispiele, die man noch hinzunimmt.

01:21:33.130 --> 01:21:37.650
Und dann passiert letztendlich nichts anderes, als dass das nochmal

01:21:37.650 --> 01:21:42.950
als Summe vor die gesamten zu akkumulierenden Statistiken

01:21:42.950 --> 01:21:48.170
hinzugenommen wird und dann einmal geteilt wird durch die Anzahl der

01:21:48.170 --> 01:21:49.610
Trainingsbeispiele, die ich noch habe.

01:21:50.070 --> 01:21:53.130
Das heißt also, für die Anfangswahrscheinlichkeiten heißt das nichts

01:21:53.130 --> 01:21:59.330
anderes, als dass ich jetzt über diese jeweiligen Gammas für die

01:21:59.330 --> 01:22:05.510
einzelnen Trainingsbeispiele E drüber summiere und dann nochmal durch

01:22:05.510 --> 01:22:08.510
die Anzahl der Trainingsbeispiele, die ich hatte, teile.

01:22:09.270 --> 01:22:15.730
Und entsprechend hier, dann hat man diese Doppelsumme, dass man über

01:22:15.730 --> 01:22:22.450
diese einzelnen Gammas zum jeweiligen Trainingsbeispiel E drüber

01:22:22.450 --> 01:22:23.170
summieren muss.

01:22:25.730 --> 01:22:30.410
Und auf die Art und Weise erhält man rein natürlich relativ, so wie

01:22:30.410 --> 01:22:33.470
man es erwarten würde, straightforward die Schätzungen für die

01:22:33.470 --> 01:22:35.710
einzelnen Parameter, Übergangswahrscheinlichkeiten,

01:22:37.590 --> 01:22:42.190
Emissionswahrscheinlichkeiten, also Mixturgewichte, Mittelwerte und

01:22:42.190 --> 01:22:46.170
Kovarianzmatrizen, indem man einfach das, was man für einen Einzelnen

01:22:46.170 --> 01:22:50.410
machen würde, über alle macht und dann entsprechend noch über die

01:22:50.410 --> 01:22:54.390
Anzahl der Trainingsdaten, die man hat, das Ganze normiert.

01:22:55.890 --> 01:22:56.310
Gut.

01:22:58.010 --> 01:23:01.070
Das ist jetzt erstmal relativ viel Mathematik.

01:23:01.190 --> 01:23:06.770
Ich erwarte also von niemandem, dass er jetzt das herleiten kann, wie

01:23:06.770 --> 01:23:10.930
man jetzt die Mittelwerte oder Kovarianzmatrizen etc.

01:23:12.090 --> 01:23:12.910
genau schätzt.

01:23:13.330 --> 01:23:16.810
Wichtig ist, dass man ein bisschen im Hinterkopf behält, wenn ich

01:23:16.810 --> 01:23:21.210
jetzt zum Beispiel für eine Gaussmixtur die Parameter schätzen möchte,

01:23:21.830 --> 01:23:24.310
wo geht es denn, an welcher Stelle geht es denn schief, dass das nicht

01:23:24.310 --> 01:23:27.850
mehr nach Maximumlikelihood geht, was ist denn die grobe Idee

01:23:27.850 --> 01:23:31.050
dahinter, dass man jetzt plötzlich von beobachtbaren und

01:23:31.050 --> 01:23:36.470
unbeobachtbaren Daten sprechen kann und bei HMMs entsprechend genauso,

01:23:36.610 --> 01:23:38.910
was sind denn da die beobachtbaren, was sind da die nicht

01:23:38.910 --> 01:23:43.590
beobachtbaren Daten und dass man zumindest im Hinterkopf hat, was sind

01:23:43.590 --> 01:23:47.270
denn so die zwei Schritte des EM-Algorithmus, dass man immer weiß, am

01:23:47.270 --> 01:23:53.210
Anfang Schätzung der unbeobachtbaren Daten gemäß Erwartungswertbildung

01:23:53.210 --> 01:23:59.050
und dann im zweiten Schritt Optimierung der Parameter, also neuere,

01:23:59.230 --> 01:24:03.590
bessere Parameter finden, gegeben den alten Parametern, die zu der

01:24:03.590 --> 01:24:07.490
Erwartungswertbildung der unbeobachtbaren Daten führen und der

01:24:07.490 --> 01:24:08.470
beobachtbaren Daten.

01:24:09.190 --> 01:24:11.470
Das sollte man zumindest so grob im Hinterkopf haben.

01:24:12.010 --> 01:24:15.950
Das hier ist, dass man es wenigstens mal gesehen hat und dass, wenn

01:24:15.950 --> 01:24:20.170
man es irgendwann mal sehen wird, weiß, wo man nachlesen muss, damit

01:24:20.170 --> 01:24:23.430
man es sich nochmal genau herleiten kann, wenn man an irgendwelchen

01:24:23.430 --> 01:24:24.850
Stellen was modifizieren muss.

01:24:25.990 --> 01:24:32.510
Gut, damit schließen wir den theoretischen Teil der HMMs ab und werden

01:24:32.510 --> 01:24:36.490
uns dann entsprechend ab Mittwoch anschauen, wie kann ich denn jetzt

01:24:36.490 --> 01:24:40.910
das, was ich über HMMs gelernt habe, tatsächlich für Spracherkennung

01:24:40.910 --> 01:24:47.310
verwenden, was sind denn jetzt meine Zustände, in welcher Weise muss

01:24:47.310 --> 01:24:52.410
ich die Topologien zusammensetzen, was sind meine Ausgaben etc.

01:24:52.570 --> 01:24:52.850
etc.

01:24:53.330 --> 01:24:57.390
Und wenn wir das machen, werden wir noch auf ein anderes kleines

01:24:57.390 --> 01:25:03.930
Problem stoßen, das man bisher einem noch nicht so klar geworden ist,

01:25:03.930 --> 01:25:06.350
das einem dann aber hinterher bei der Spracherkennung sehr wichtig

01:25:06.350 --> 01:25:11.410
sein wird, wenn es nämlich darum geht, dass man atomare Einheiten

01:25:11.410 --> 01:25:17.090
wiederverwenden möchte, um am Ende beliebige Wortsequenzen aus diesem

01:25:17.090 --> 01:25:21.610
kleinen Baukasten, aus dieser kleinen Menge dieser wiederverwendbaren

01:25:21.610 --> 01:25:23.590
Einheiten zusammenbauen möchte.

01:25:23.930 --> 01:25:26.910
Das macht man zwar intuitiv richtig, aber man muss sich das trotzdem

01:25:26.910 --> 01:25:29.970
noch mal klar machen, dass man da in Wirklichkeit eine spezielle Sache

01:25:29.970 --> 01:25:31.390
auf den HMMs durchführt.

01:25:32.350 --> 01:25:33.790
Dazu aber dann ab Mittwoch mehr.

01:25:34.210 --> 01:25:36.590
Bis dahin, dann noch eine schöne Woche.

