ï»ż

Navigation: đŸ€– Teil 1 - đŸ€– Teil 2 - đŸ€– Teil 3 - đŸ€– Teil 4Loading ⌛Loading ⌛

đŸ€– Wie funktioniert maschinelles Lernen 2

1. Das Problem nÀherungsweise beschreiben


Abb.1: Fehlerfunktion1).

Im Teil 1 hast du gelernt, dass mit Machine Learning Probleme gelöst werden können, bei welchen eine Eingabe in eine Ausgabe ĂŒberfĂŒhrt werden soll. Dabei mĂŒssen Ein- und Ausgabe mit Zahlen dargestellt werden können. Mathematisch formuliert geht es darum, fĂŒr ein gegebenes Problem die Funktion $f(x)$ zu finden, welche die Ausgabe $y$ fĂŒr die Eingabe $x$ produziert, d.h. fĂŒr welche gilt: $y = f(x)$.

Beim Machine Learning wird die „wahre“ Funktion $f(x)$ durch eine „Stellvertreter-Funktion“ $f_{ML}(x)$ ersetzt („$_{ML}$“ steht hier fĂŒr Machine Learning). Die Stellvertreter-Funktion $f_{ML}(x)$ beinhaltet mehrere Parameter, welche als Gewichte $w$ bezeichnet werden2). Das Ziel besteht darin, die Gewichte $w$ so einzustellen, dass $y=f_{ML}(x)$ möglichst gut fĂŒr alle „echten“ Eingaben $x$ und Ausgaben $y$ gilt, d.h. dass $f_{ML}(x)$ der wahren Funktion $f(x)$ möglichst nahekommt.

Dem Computer muss mit einer Zahl gesagt werden, ob die Gewichte $w$ gut eingestellt sind oder nicht. HĂ€ufig wird dafĂŒr ein Fehler $e$ berechnet3). Je nach Einstellung der Gewichte $w$ wird dieser Fehler kleiner oder grösser. Abb.1 zeigt den Zusammenhang zwischen dem Fehler $e$ und den Einstellungen der Gewichte $w$. Die rote Kurve wird als Fehlerfunktion bezeichnet und trĂ€gt ĂŒblicherweise den Buchstaben $J$. Somit ist $e = J(w)$. Beim Machine Learning wird diejenige Gewicht-Einstellung $w^{*}$ gesucht, fĂŒr welche der Fehler $e$ minimal wird, d.h. fĂŒr welche gilt: $e_{min} = J(w^{*})$.

⚠ Beim Machine Learning wird nicht das Problem selbst gelöst. Das Problem wird nĂ€herungsweise mit einer Stellvertreter-Funktion beschrieben. Die Lösung des Problems wird nĂ€herungsweise durch das Minimieren einer Fehlerfunktion ersetzt. Nur wenn Stellvertreter-Funktion und Fehlerfunktion gut zum Problem passen, kann das Problem in guter NĂ€herung gelöst werden. Passen diese schlecht, dann wird zwar auch ein Problem gelöst, aber vermutlich nicht das gesuchte.


Beim Machine Learning wird nicht das Problem selbst gelöst. Es wird stellvertretend durch das Anpassen von Gewichten eine Fehlerfunktion minimiert. Daher muss immer geprĂŒft werden, inwieweit eine durch Machine Learning gefundene Lösung in der Praxis tatsĂ€chlich brauchbar ist.


2. Die NÀherung mithilfe von Daten annÀhern

Im vorangehenden Kapitel haben wir als NĂ€herung das Problem durch $f_{ML}(x)$ und die Problemlösung durch $e_{min}=J(w^*)$ ersetzt. Um die Gewicht-Einstellung $w^*$ finden zu können, mĂŒssen wir zumindest in der Lage sein, fĂŒr eine beliebige, gegebene Gewicht-Einstellung $w^♡$ den Fehlerwert $e^♡ = J(w^♡)$ zu berechnen. Der Fehlerwert $e^♡$ soll dabei nicht nur fĂŒr ein einzelnes Datenbeispiel ausgerechnet werden, sondern am besten fĂŒr alle möglichen Datenbeispiele hinweg. Z.B. sollte bei einer Gesichtserkennung der Fehlerwert nicht nur mit dem Gesicht von Peter bestimmt werden, sondern basierend auf allen möglichen Gesichtern.

đŸ«Ł In der Vergangenheit wurden Gesichtserkennungsverfahren relativ unkritisch mit Bildern aus dem Internet trainiert. Da es im Internet viel mehr Bilder von hellhĂ€utigen MĂ€nnern als von dunkelhĂ€utigen Frauen gibt, wurden in der Folge Gesichter von dunkelhĂ€utigen Frauen deutlich schlechter erkannt – eine unbeabsichtigte, algorithmische Diskriminierung. Seit dem wird versucht, mit Gesichtern zu trainieren, welche möglichst alle Alter, Ethnien etc. abdecken. FĂŒr die perfekte Gesichtserkennung mĂŒsste man eigentlich mit unendlich vielen Gesichtern trainieren, welche alle denkbaren Gesichtsvarianten abdecken.

😭 Jetzt die schlechte Nachricht, wir können nur schon aus praktischen GrĂŒnden nie unendlich viele Daten berĂŒcksichtigen und wir werden kaum je alle denkbaren Datenvarianten fĂŒr ein Problem zusammentragen können. Somit können wir die wahren Fehlerwerte nur mit den Daten annĂ€hern, die wir haben. Je mehr Daten verfĂŒgbar sind (und je besser diese alle denkbaren Varianten abdecken), desto besser kann der wahre Fehlerwert $e^♡ = J(w^♡)$ angenĂ€hert werden. Da $f_{ML}(x)$ und $J(w)$ selbst nur NĂ€herungen der Wirklichkeit darstellen, wird damit „nur“ eine NĂ€herung der NĂ€herung berechnet.


✍ Auftrag Mehr ist mehr

👉 Hier lernst du, dass viele Daten meist bessere NĂ€herungen ergeben als wenige.

  • Wenn du auf den Button WĂŒrfle! klickst, wird 100 Mal gewĂŒrfelt und die Anzahl Sechser wird gezĂ€hlt. Theoretisch mĂŒssten 1/6 aller WĂŒrfe Sechsen sein, d.h. 16.66
 also rund 17 Sechsen. Diese Zahl wird bei Erwarteten Anzahl Sechsen (auch „Erwartungswert“ genannt) angegeben. Klicke mehrfach auf den Button WĂŒrfle! und beobachte wie stark die tatsĂ€chlich GewĂŒrfelte Anzahl Sechsen von der Erwartete Anzahl Sechsen prozentual abweicht.
  • Mit dem Slider kannst du die „Anzahl WĂŒrfe“ verstellen (von 100 bis 1'000'000). Damit Ă€nderst du auch die Erwartete Anzahl Sechsen. WĂŒrfle mehrmals mit verschiedenen Slider-Einstellungen. Wie gut wird die Erwartete Anzahl Sechsen bei wenigen WĂŒrfen getroffen? Wie gut wird die Erwartete Anzahl Sechsen bei vielen WĂŒrfen getroffen?
  • Was bedeutet das dafĂŒr, wie gut der Fehler $e=J(w)$ anhand von Daten abgeschĂ€tzt werden kann? Halte deine Überlegungen im Textfeld fest. Loading ⌛
  • Vergleiche danach deine Antwort mit der unseren am Ende dieses Auftrags.

Unsere Antwort


3. Die NÀherung der NÀherung algorithmisch annÀhern

In den beiden vergangenen Kapitel wurde als NĂ€herung das Problem durch $f_{ML}(x)$ und die Problemlösung durch $e_{min}=J(w^*)$ ersetzt und gezeigt, dass der wahre Fehlerwert $e^♡$ fĂŒr eine gegebene Gewicht-Einstellung $w^♡$ mit einer beschrĂ€nkten Anzahl Datenpunkte nur nĂ€herungsweise berechnet werden kann. Jetzt geht es darum, fĂŒr eine gegebene Fehlerfunktion $J(w)$ diejenige Gewicht-Einstellung $w^*$ zu finden, fĂŒr welche $e_{min} = J(w^*)$ gilt.

đŸ«Ł Leider lĂ€sst sich die Gewicht-Einstellung $w^*$ in den wenigsten FĂ€llen exakt berechnen, d.h. das wahre $w^*$ kann nur angenĂ€hert werden. Somit kann Machine Learning im Endeffekt nur NĂ€herungen der NĂ€herungen eines Problems annĂ€hern. Erstaunlicherweise fĂŒhrt das Ganze trotzdem meist zu bemerkenswerten Resultaten.

Machine-Learning-Verfahren sind keine exakten Verfahren, sie können Sachverhalte nur nÀherungsweise beschreiben und nur nÀherungsweise berechnen. Somit werden Machine-Learning-Lösungen kaum je zu 100% fehlerfrei funktionieren.

Im Folgenden werden drei gÀngige Strategien vorgestellt, mit welchen die gesuchte Gewicht-Einstellung $w^*$ angenÀhert werden kann. Jedes dieser Verfahren basiert dabei auf einer durch mehrere Gewichte $w$ anpassbaren Funktion $f_{ML}(x)$ und einer Fehlerfunktion $J(w)$.

💡 Manche Fehlerfunktionen $J(w)$ brauchen fĂŒr die Berechnung des Fehlers Datenpaare $(x, d)$, wobei $x$ die Eingabe darstellt und $d$ den zugehörigen „desired Output“ (die zugehörige „erwĂŒnschte Ausgabe“). Bei solchen Fehlerfunktionen wird von „supervised Learning“ (ĂŒberwachten Lernen) gesprochen. Andere Fehlerfunktionen kommen nur mit den Eingangswerten $x$ aus. Hierbei wird von „unsupervised Learning“ (unĂŒberwachten Lernen) gesprochen. Alle der nachfolgenden Beispiele beziehen sich auf supervised Learning.


3.1 Iterative Verfahren

Bei den iterativen Verfahren wird ausgehend von einer zufĂ€llig erzeugten Gewicht-Einstellung $w_0$ versucht, die Gewichte in mehreren Schritten in Richtung $w^*$ zu verĂ€ndern. Iterativ bedeutet in mehreren Wiederholungen. FĂŒr die iterativen Verfahren eignen sich viele Stellvertreter-Funktionen $f_{ML}(x)$ und Fehlerfunktionen $J(w)$, jedoch nicht alle. Damit eine gezielte, schrittweise Verbesserung berechnet werden kann, mĂŒssen $f_{ML}(x)$ und $J(w)$ gewissen mathematischen Bedingungen genĂŒgen 4).

Neuronale Netze werden meist mit iterativen Verfahren trainiert. Dabei wird als anpassbare Funktion $f_{ML}(x)$ eine neuronale Netz-Funktion verwendet. Als Fehlerfunktion $J(w)$ wird mehrheitlich eine Funktion verwendet, welche fĂŒr jeden Dateneingang $x$ den Ausgangswert des neuronalen Netzes $y$ mit dem desired Output $d$ vergleicht. Um von einer Einstellung der Gewichte zu einer besseren zu kommen, wird hĂ€ufig ein „Gradientenverfahren“ genutzt. Was das genau ist und wie das genau funktioniert, wird in den Teilen 3 und 4 dieser Reihe erklĂ€rt.


✍ Auftrag neuronales Netz iterativ trainieren

👉 Hier erfĂ€hrst du, wie ein iteratives Verfahren arbeitet.

💡 Das folgende neuronale Netz besitzt zwei EingĂ€nge, die x- und die y-Koordinaten der abgebildeten Kreise und Kreuze. Weiter besitzt es einen einzigen Ausgang $y$ der Werte von 0 bis 1 annehmen kann. Alle Ausgangswerte $y>0.5$ werden als Kreuze erkannt, alle Ausgangswerte $y\le0.5$ als Kreise. Als Fehlerfunktion wird der mean squared error (MSE) genutzt, welcher den Mittelwert aller Differenzquadrate $(y - d)^2$ bezeichnet. Der desired Output $d$ wird dabei fĂŒr einen Kreis auf $d=1$ gesetzt und fĂŒr ein Kreuz auf $d=0$. Die rote Linie stellt die Ausgangswerte $y = 0.5$ dar und wird als „decision Boundary“ bezeichnet.

  • Starte das neuronale Netz ein paar mal. Das neuronale Netz wird mit den Daten links trainiert. Wie gut das trainierte neuronale Netz ist, wird mit den nicht fĂŒr das Training verwendeten „Validationsdaten“ rechts geprĂŒft. Eine Epoche bezeichnet einen Trainingsdurchgang. Beachte wie schrittweise der MSE (in der Console) und somit auch die Klassifikationsrate (Prozentsatz korrekt) verbessert werden. Beachte auch, dass jedes Training von anderen zufĂ€llig gewĂ€hlten Gewicht-Einstellungen aus gestartet wird und somit zu einem anderen Trainingsverlauf fĂŒhrt.
  • VerĂ€ndere die Trainings- und Updateparameter oben im Programmcode. Versuche ein paar Minuten lang zu erreichen, dass die Trainings- und Validationsergebnisse möglichst gleich und möglichst gut sind. Wenn du genug hast, halte deine besten Resultate im Textfeld fest.
    • Die LERNRATE bestimmt die Lerngeschwindigkeit, wobei bei einer zu hohen Lernrate das neuronale Netz „wild hin und her springt“.
    • Die ANZAHL_HIDDEN_NEURONEN ist mit der Anzahl Gewichte verknĂŒpft. Je höher dieser Wert, desto mehr Gewichte. Bei zu wenigen Gewichten kann nicht genĂŒgend gelernt werden, bei zu vielen Gewichten tritt „Overfitting“ auf, d.h. die Trainingsdaten werden auswendig gelernt (= gute Trainingsresultate, aber schlechte Validationsresultate).
    • Mit ANZAHL_EPOCHEN und EPOCHEN_FUER_GRAFIK_UPDATE kann eingestellt werden, wie lange trainiert und wie oft die Resultate und die Grafik aktualisiert werden soll.

Loading ⌛


3.2 Statistische Verfahren


Abb.2: Illustration Naive Bayes5).

Bei den statistischen Verfahren wird ermittelt, wie die Daten wertmĂ€ssig verteilt sind. Dabei wird eine bestimmte, vorgegebene „Form“ der Verteilung als Funktion $f_{ML}(x)$ genutzt und diese mithilfe der Einstellung mehrerer Gewichte $w$ möglichst gut an die Daten angepasst. FĂŒr die Anpassung der Gewichte $w$ werden in der Regel die Eingangsgrössen $x$ jedes Datenpunktes und die zugehörigen desired Outputs $d$ berĂŒcksichtigt. Die statistischen Verfahren sind so konstruiert, dass durch die Hinzunahme aller Daten direkt die Gewicht-Einstellung $w^*$ geschĂ€tzt wird, fĂŒr welche $e_{min}=J(w^*)$ gilt, wobei $J(w)$ eine verfahrensspezifische, statistische Fehlerfunktion ist 6).

Da die wahre Verteilung der Daten normalerweise nicht bekannt ist, stellt die Wahl einer vorgegebenen „Form“ fĂŒr die Verteilung eine NĂ€herung dar. Weiter treffen die gĂ€ngigen statistischen Verfahren fĂŒr ihre Berechnungen zusĂ€tzliche vereinfachende Annahmen, welche ebenfalls als NĂ€herungen angesehen werden können.

Ein einfaches statistisches Verfahren ist der Naive Bayes Klassifikator, welcher verschiedene Klassen unterscheiden kann. Dabei wird fĂŒr jede Klasse deren HĂ€ufigkeit ermittelt und fĂŒr jede Klasse und jede Eingangsgrösse ein eigenes Histogramm aus den Daten erstellt. Ein Beispiel ist in Abb.2 illustriert. Es geht darum, mit zwei Eingangsgrössen $x_1$ und $x_2$ die beiden Klassen $A$ und $B$ zu unterscheiden. Das Histogramm in der Abbildung oben zeigt die Eingangsgrösse $x_1$ fĂŒr die Datenpunkte, welche zur Klasse $A$ gehören. Ebenso (aber hier nicht abgebildet) werden drei weitere Histogramme fĂŒr die Eingangsgrössen der Datenpunkte der Klasse $A$ sowie fĂŒr die Eingangsgrössen $x_1$ und $x_2$ der Datenpunkte der Klasse $B$ erstellt. Die Abbildung unten zeigt, wie der Datenraum durch die Histogramme in „Zellen“ unterteilt wird. FĂŒr jede Zelle wird basierend auf den Histogrammen Auftretenswahrscheinlichkeiten der Klassen $A$ und $B$ berechnet. Daraufhin wird jede Zelle derjenigen Klasse zugeordnet, welche den höheren Wahrscheinlichkeitswert aufweist.

Die HĂ€ufigkeit der Klassen und die Höhen der einzelnen Histogramm-Balken stellen im Naive Bayes Klassifikator die Gewichte $w$ dar. Durch „ZĂ€hlen“ der Daten wird so direkt die Gewicht-Einstellung $w^*$ geschĂ€tzt, fĂŒr welche $e_{min}=J(w^*)$ gilt, wobei $J(w)$ den sogenannten „Bayes Fehler (EPE)“ bezeichnet7). FĂŒr das ZĂ€hlen genĂŒgt es, alle Trainingsdaten einmal anzusehen, d.h. es genĂŒgt eine Epoche fĂŒr das Training.

Falls du wissen möchtest, wie der Naive Bayes Klassifikator genau aufgebaut ist, klicke hier!


✍ Auftrag Naive Bayes Klassifikator

👉 Hier erfĂ€hrst du, wie ein statistisches Verfahren arbeitet.

💡 Um den statistischen Naive Bayes Klassifikator mit dem neuronalen Netz aus Kapitel 3.1 vergleichen zu können, werden hierfĂŒr dieselben Daten wie in 3.1. versendet. D.h. zwei Eingangsgrössen (die x- und die y-Koordinaten der Kreise und Kreuze) und als Ausgang $y$ die Wahrscheinlichkeit, dass ein Datenpunkt $x$ zur Klasse der Kreuze gehört. Somit werden auch hier alle Ausgangswerte $y>0.5$ werden als Kreuze erkannt (und blau eingefĂ€rbt) und alle Ausgangswerte $y<0.5$ als Kreise erkannt (und grĂŒn eingefĂ€rbt).

💡 Speziell ist, dass alle Ausgangswerte mit $y = 0.5$ weiss eingefĂ€rbt werden. Hier kann sich der Klassifikator fĂŒr keine der beiden Klassen entscheiden. Die Anzahl der betroffenen Kreise oder Kreuze wird im Programm mit zwei ?? gekennzeichnet und nicht fĂŒr die Berechnung der Klassifikationsrate oder der Anzahl falsch klassifizierter Datenpunkte berĂŒcksichtigt.

💡 Aus GrĂŒnden der Vergleichbarkeit wird als Fehlerfunktion nicht der Bayes-Fehler, sondern der MSE berechnet und angegeben.

  • Starte den Naive Bayes Klassifikator ein paar mal. Es wird immer dasselbe Resultat ausgegeben und das Training dauert immer nur 1 Epoche.
  • VerĂ€ndere den einzigen Trainingsparameter im Programmcode und suche das Resultat, bei dem die Trainings- und Validationsergebnisse möglichst gleich und möglichst gut sind. Wie vergleicht sich der Naive Bayes Klassifikator fĂŒr dieses Problem mit dem neuronalen Netz aus 3.1? Halte deine besten Resultate im Textfeld fest.
    • Die ANZAHL_INTERVALLE bestimmt die Feinheit der Histogramme, mit welchen die Daten statistisch ausgewertet werden. Je höher dieser Wert, desto mehr Gewichte. Bei zu wenigen Gewichten kann nicht genĂŒgend gelernt werden, bei zu vielen Gewichten tritt „Overfitting“ auf, d.h. die Trainingsdaten werden auswendig gelernt (= gute Trainingsresultate, aber schlechte Validationsresultate).

Loading ⌛


3.3 Stochastische Verfahren

Bei den stochastischen Verfahren werden die Werte aller Gewichte $w$ zufĂ€llig gewĂŒrfelt (Zufallszahlen) und anschliessend der Fehler mit den verfĂŒgbaren Daten berechnet. Dies wird viele Male wiederholt und am Ende die Gewichte-Einstellung mit dem kleinsten erzielten Fehler verwendet. Somit wird die Gewichte-Einstellung $w^*$ fĂŒr welche $e_{min}=J(w^*)$ gilt, durch Zufall angenĂ€hert.

Mit dieser Vorgehensweise können, im Gegensatz zu den in den Kapiteln 3.1 und 3.2 vorgestellten Verfahren, alle Varianten von Stellvertreter-Funktionen $f_{ML}(x)$ und Fehlerfunktionen $J(w)$ ohne EinschrÀnkung verwendet werden.

Bekannte stochastische Verfahren sind

  • Monte-Carlo: Hier werden alle Gewichte rein zufĂ€llig gewĂŒrfelt.
  • Simulated Annealing: Hier wird eine vereinfachte Variante beschrieben: In einer ersten Runde werden alle Gewichte mehrfach, ohne EinschrĂ€nkung zufĂ€llig gewĂŒrfelt. In mehreren weiteren Runden wird jeweils die beste Gewicht-Einstellung aus der vorangehenden Runde als Grundeinstellung genommen. Im Vergleich zur vorangehenden Runde wird jedoch nur noch ein kleinerer Teil der Gewichte neu gewĂŒrfelt, die anderen werden unverĂ€ndert belassen.
  • Genetische Algorithmen: Das funktioniert Ă€hnlich wie simulated Annealung mit dem Unterschied, dass nach jeder Runde nicht nur mit der besten Gewicht-Einstellung weitergefahren wird, sondern mit mehreren. ZusĂ€tzlich werden immer wieder zwei solcher guten Einstellungen zufĂ€llig miteinander kombiniert.


✍ Auftrag Monte-Carlo

👉 Hier erfĂ€hrst du, wie ein stochastisches Verfahren arbeitet.

💡 Um alle Resultate mit dem Neuronalen Netz aus 3.1 und dem Naive Bayes Klassifikator aus 3.2 vergleichen zu können, werden hier wiederum dieselben Daten verwendet. Im ersten Programm wird das Monte-Carlo Verfahren dazu verwendet, die Gewichte im neuronalen Netz aus 3.1 zu wĂŒrfeln. Im zweiten Programm werden damit die Gewichte des Naive Bayes Klassifikators aus 3.2 gewĂŒrfelt. In beiden Experimenten kann gewĂ€hlt werden, ob die Gewicht-Einstellung mit dem kleinsten MSE oder die Gewicht-Einstellung mit der höchsten Klassifikationsrate gesucht werden soll.

  • Teste das „Monte-Carlo neuronale Netz“ und den „Monte-Carlo Naive Bayes Klassifikator“ und beachte dabei Folgendes.
    • Neuronales Netz und Naive Bayes: Bei der OBJEKTIVE mse wird jeweils die Gewicht-Einstellung mit dem tiefsten MSE genommen, bei korrekt dasjenige mit der höchsten Klassifikationsrate.
    • Neuronales Netz: Mit MIN_WEIGHT und MAX_WEIGHT kann eingestellt werden, im welchem Zahlenbereich die Gewichte $w$ gewĂŒrfelt werden sollen (die Default-Einstellung sollte einigermassen ok sein).
  • Probiere verschiedene Parametereinstellungen aus (beim neuronalen Netz kannst du vermutlich auch 10-Mal so viele Epochen verwenden, beim Naive Bayes gut 100-Mal so viele).
  • Wie vergleichen sich die vier Varianten: neuronales Netz aus 3.1, Naive Bayes aus 3.2, neuronales Netz und Naive Bayes aus 3.3? Halte deine Beobachtungen im Textfeld fest.
  • Lies danach am Ende dieses Auftrags unsere Meinung dazu, wie sich die vier Varianten miteinander vergleichen lassen.

Loading ⌛


Monte-Carlo neuronales Netz


Monte-Carlo Naive Bayes

Unsere Meinung


4. Fortsetzung folgt...

Jetzt hast du schon einiges ĂŒber die Funktionsweise, Umsetzungsvarianten, Möglichkeiten und Grenzen maschinellen Lernens gelernt. Im đŸ€– Teil 3 erfĂ€hrst du detaillierter, wie mit einem iterativen Verfahren schrittweise Gewichte so angepasst werden können, dass der Fehler im Mittel ĂŒber mehrere Schritte hinweg abnimmt.


Eigene Notizen

Loading ⌛

1) , 5)
eigene Darstellung, CC0 1.0
2)
Gewicht heisst im Englischen „weight“, daher das $w$.
3)
Alternativ kann auch eine Punktzahl verwendet werden, welche am Ende möglichst gross sein soll.
4)
Konkret mĂŒssen $f_{ML}(x)$ und $J(w)$ nach den Gewichten $w$ ableitbar sein.
6)
Diese Fehlerfunktionen werden ĂŒblicherweise als Verlust- oder Risikofunktionen bezeichnet.