Wie kann man Black-Box-Modelle mit Shapley-Werten erklären?

Erklärbare Künstliche Intelligenz (engl. Explainable Artificial Intelligence, kurz XAI) ist ein wichtiges Teilgebiet der Künstlichen Intelligenz, das sich darauf konzentriert, Entscheidungsprozesse von maschinellen Lernverfahren für den Menschen nachvollziehbar zu machen. Dies ist besonders wichtig für Black-Box-Modelle, wie Ensemble- oder Deep-Learning-Algorithmen, die aufgrund ihrer Komplexität selbst von Experten nicht verstanden werden können (siehe auch meinen Artikel über Erklärbare Künstliche Intelligenz) . Ein besseres Verständnis solcher Black-Box-Modelle führt unter anderem zu mehr Vertrauen bei den Anwendern und gibt Hinweise, wie ein Modell verbessert werden kann.

Eine beliebte Methode der Erklärbaren Künstlichen Intelligenz ist SHAP (SHapley Additive ExPlanations) . SHAP kann auf beliebige Modelle des maschinellen Lernens angewendet werden und erklärt, wie einzelne Merkmale (engl. Features) die Vorhersagen eines Modells beeinflussen. Diese Beitragsreihe gibt Dir eine leicht verständliche Einführung in die Erklärungsmethode SHAP und das spieltheoretische Konzept der Shapley-Werte, das dabei eine zentrale Rolle spielt. Außerdem lernst Du anhand eines praktischen Programmierbeispiels, wie Du die Vorhersagen von Black-Box-Modellen mit Hilfe der Python-Bibliothek SHAP erklären kannst. Die Beitragsreihe besteht aus den folgenden 3 Artikeln:

Dies ist der erste Artikel dieser Beitragsreihe. In diesem Artikel erfährst Du, wie das Konzept der Shapley-Werte aus der Spieltheorie verwendet werden kann, um maschinelle Lernverfahren zu erklären. Anhand eines einfachen Beispiels wirst Du lernen, wie man Shapley-Werte für maschinelle Lernverfahren berechnet und interpretiert. Am Ende dieses Artikels wirst Du ein solides Verständnis von Shapley-Werten haben. Du wirst wissen, wie Shapley-Werte Dir dabei helfen können, Black-Box-Modelle besser zu verstehen.

Überblick

Dieser Blog-Artikel ist in die folgenden Abschnitte unterteilt:

  • Was sind Shapley-Werte?
  • Wie werden Shapley-Werte berechnet?
  • Wie lautet die mathematische Definition von Shapley-Werten?

Was sind Shapley-Werte?

Shapley-Werte sind eine Methode aus der Spieltheorie, um den Gewinn eines kooperativen Spiels gerecht unter einer Gruppe von Spielern aufzuteilen. In der Regel sind die Beiträge der einzelnen Spieler zum Spielgewinn nicht gleich groß. Daher wäre es ungerecht, den Gewinn gleichmäßig auf alle Spieler zu verteilen. Lloyd S. Shapley schlug daher 1953 die sogenannten Shapley-Werte als Lösung für dieses Problem vor.  Mit Hilfe der Shapley-Werte kann jedem Spieler ein Wert zugeordnet werden, der seinem Beitrag zum Gesamtgewinn der Gruppe entspricht. Doch was hat das alles mit Erklärbarer Künstlicher Intelligenz zu tun?

Shapley-Werte als Erklärungsmethode für maschinelle Lernverfahren

Shapley-Werte können auch verwendet werden, um das Verhalten von maschinellen Lernverfahren zu erklären.  So kann mit Hilfe von Shapley-Werten identifiziert werden, wie verschiedene Merkmale die einzelnen Vorhersagen eines Modells beeinflussen. Shapley-Werte spiegeln dabei die kollektiven Beiträge der Merkmale zur Vorhersage eines Modells wider. In Analogie zur Definition von Shapley-Werten in der Spieltheorie ist das „Spiel“ hier die Aufgabe des maschinellen Lernverfahrens, eine Vorhersage für eine einzelne Instanz des zugrundeliegenden Datensatzes zu treffen. Der „Gewinn“ entspricht der Differenz zwischen der tatsächlichen Vorhersage des Modells für diese Instanz und dem Erwartungswert der Vorhersagen des Modells. Dieser Gewinn soll gerecht auf die Beiträge der einzelnen Merkmale verteilt werden. Die „Spieler“ sind also die Merkmale des maschinellen Lernverfahrens, die zusammenarbeiten, um einen bestimmten Wert vorherzusagen.

Der große Vorteil der Shapley-Werte ist, dass sie auf jedes maschinelle Lernverfahren angewendet werden können. Darüber hinaus können sie sowohl zur Erklärung einzelner Vorhersagen als auch zur Erklärung des gesamten Modellverhaltens verwendet werden (wie in meinem Artikel hier ausführlich beschrieben). Es ist jedoch zu beachten, dass Shapley-Werte nur das Verhalten des Modells beschreiben und nicht notwendigerweise kausale Zusammenhänge in der realen Welt. Maschinelle Lernverfahren lernen in der Regel Korrelationen in den Trainingsdaten und nutzen diese für ihre Vorhersagen. Shapley-Werte können diese gelernten Korrelationen transparent machen. Korrelationen lassen jedoch nicht notwendigerweise Rückschlüsse auf kausale Zusammenhänge zu, wie z.B. in diesem Artikel beschrieben.

Im nächsten Abschnitt lernst Du anhand eines einfachen Beispiels, wie man Shapley-Werte für maschinelle Lernverfahren genau berechnet.

Wie werden Shapley-Werte berechnet?

Zum besseren Verständnis der Shapley-Werte wollen wir zunächst ihre Berechnung anhand eines einfachen Beispiels erläutern. Angenommen, wir haben ein Regressionsmodell trainiert, das den Immobilienwert eines Schlosses anhand von drei verschiedenen Merkmalen vorhersagt. Die drei Merkmale, die das maschinelle Lernverfahren zur Vorhersage verwendet, sind die Grundfläche des Schlosses (Merkmal A), die Anzahl der Zimmer (Merkmal B) und das Alter des Schlosses (Merkmal C). Für Schloss Neuschwanstein, ein 154 Jahre altes Schloss mit einer Grundfläche von 6000 Quadratmetern und 15 Zimmern, schätzt das Modell den Wert auf 100 Millionen Euro. Pseudo-mathematisch ausgedrückt bedeutet dies, dass


\[
\text{Modell}(„Schloss Neuschwanstein“) = \text{Modell}(A=6000, B=15, C=154) = 100,
\]

wobei die Einheit hier „Millionen Euro“ ist.

Schätzung des Basiswertes

Wir wollen nun die Shapley-Werte für diese Modellvorhersage berechnen, um zu ermitteln, wie die verschiedenen Merkmale sie beeinflusst haben. Um die Shapley-Werte berechnen zu können, müssen wir zunächst einen Basiswert schätzen. Der Basiswert ist der Erwartungswert aller Modellvorhersagen. In der Praxis können wir diesen Erwartungswert schätzen, indem wir den Durchschnitt aller Vorhersagen unseres Modells für alle Schlösser im Datensatz berechnen. Der Basiswert ist eine Konstante und unabhängig davon, für welche Modellvorhersage wir die Shapley-Werte berechnen. Der Basiswert hängt nur von unserem Modell und dem Datensatz ab, den wir zur Berechnung der durchschnittlichen Modellvorhersage verwenden.

Um den Basiswert zu schätzen, müssen wir zunächst mit Hilfe unseres Modells Vorhersagen für die Immobilienwerte aller Schlösser in unserem Datensatz berechnen. Dann berechnen wir den Mittelwert all dieser Vorhersagen. In unserem Beispiel sagt das Modell im Durchschnitt einen Immobilienwert von 70 Millionen Euro voraus. Die Vorhersage für Schloss Neuschwanstein von 100 Millionen Euro ist also um 30 Millionen Euro höher als die durchschnittliche Vorhersage des Modells, siehe Tabelle 1.

Vorhersage des Modells für Schloss Neuschwanstein (in Millionen Euro)100
Basiswert: Durchschnittliche Vorhersage des Modells (in Millionen Euro)70
Differenz (in Millionen Euro)30
Tabelle 1: Modellvorhersage für Schloss Neuschwanstein, Basiswert und Differenz zwischen der Vorhersage für Schloss Neuschwanstein und dem Basiswert.

Zusammenhang zwischen Shapley-Werten, Basiswert und Modellvorhersage

Nachdem wir nun den Basiswert berechnet haben, können wir die Shapley-Werte der Modellvorhersage für Schloss Neuschwanstein berechnen. Dazu wird für jedes der drei Merkmale ein Shapley-Wert berechnet. Der Shapley-Wert eines Merkmals beschreibt den Beitrag des Merkmals zur Differenz zwischen der tatsächlichen Vorhersage (100) und dem Basiswert (70). Die Summe der Shapley-Werte aller Merkmale entspricht somit immer genau der Differenz zwischen der tatsächlichen Vorhersage des Modells und dem Basiswert. Der Zusammenhang zwischen der Modellvorhersage und den Shapley-Werten der drei Merkmale kann somit wie folgt ausgedrückt werden:

\[
\begin{align}
\text{Modell}(„Schloss Neuschwanstein“) – Basiswert = &\text{Shapley}_A(„Schloss Neuschwanstein”) \\ &+ \text{Shapley}_B(„Schloss Neuschwanstein”) \\ &+ \text{Shapley}_C(„Schloss Neuschwanstein”) \end{align}
\]

Durch Umstellung der Gleichung ergibt sich folgende Beziehung:

\[ \begin{align}
\text{Modell}(„Schloss Neuschwanstein“) = &Basiswert \\ &+ \text{Shapley}_A(„Schloss Neuschwanstein”) \\ &+ \text{Shapley}_B(„Schloss Neuschwanstein”) \\ &+ \text{Shapley}_C(„Schloss Neuschwanstein”) \end{align} \]

Die Vorhersage des Modells für Schloss Neuschwanstein ist also die Summe aus der durchschnittlichen Vorhersage des Modells und den Shapley-Werten für die einzelnen Merkmalsausprägungen, die zur Vorhersage des Immobilienwertes für Schloss Neuschwanstein verwendet wurden. Mit anderen Worten: Die Shapley-Werte beschreiben, wie die Vorhersage für Schloss Neuschwanstein, ausgehend vom Basiswert, durch die Beiträge der drei Merkmale zustande kommt.

Berechnung der marginalen Beiträge einzelner Merkmale

Im nächsten Schritt wird für jedes der drei Merkmale A, B und C der entsprechende Shapley-Wert berechnet. Der Shapley-Wert eines Merkmals ist der gewichtete Mittelwert aller marginalen Beiträge des Merkmals. Um diesen gewichteten Mittelwert berechnen zu können, müssen wir in einem ersten Schritt die Potenzmenge unserer Merkmale betrachten und für jede Teilmenge den marginalen Beitrag des betreffenden Merkmals berechnen.

In unserem Beispiel mit drei Merkmalen ist die Potenzmenge die Menge aller möglichen Kombinationen dieser drei Merkmale mit 0, 1, 2 und 3 Elementen. Insgesamt haben wir hier 8 mögliche Kombinationen, nämlich die Mengen { }, {A}, {B}, {C}, {A, B}, {A, C}, {B, C} und {A, B, C}. Um die Shapley-Werte der drei Merkmale berechnen zu können, müssen wir unser Modell für jede dieser Merkmalskombinationen neu trainieren. Dabei werden für das Training jedes Modells nur die in der Kombination enthaltenen Merkmale verwendet und die übrigen Merkmale aus dem Trainingsdatensatz entfernt. Anschließend wird mit jedem dieser Modelle eine Vorhersage für den Immobilienwert von Schloss Neuschwanstein getroffen und die marginalen Beiträge berechnet.

Modell für die Kombination ohne Merkmale

Für die Kombination ohne Merkmale, d.h. { }, ist es jedoch nicht möglich, ein Modell zu trainieren. Schließlich benötigt ein maschinelles Lernverfahren immer einen Trainingsdatensatz mit mindestens einem Merkmal, von dem es während des Trainings lernen kann. Um dieses Problem zu umgehen, wird für die Kombination { } das Modell verwendet, dessen Vorhersage immer konstant dem Basiswert entspricht. Dieses Modell sagt also für jedes Schloss einen Wert von 70 Millionen Euro voraus. Die Vorhersage des Modells für die Kombination { } für Schloss Neuschwanstein entspricht also ebenfalls dem Basiswert von 70 Millionen Euro.

Für die neu trainierten Modelle der acht verschiedenen Merkmalskombinationen ergeben sich in unserem Beispiel folgende Vorhersagen für den Immobilienwert von Schloss Neuschwanstein:

KombinationVorhersage für Schloss Neuschwanstein (in Mio. Euro)
{ }70
{A}80
{B}30
{C}90
{A, B}85
{A, C}80
{B, C}65
{A, B, C}100
Tabelle 2: Vorhersagen der mit verschiedenen Merkmalskombinationen trainierten Modelle für den Immobilienwert von Schloss Neuschwanstein.

Berechnung der marginalen Beiträge des Merkmals A

Nachstehend wird gezeigt, wie der Shapley-Wert für das Merkmal A berechnet wird. Um den Shapley-Wert für das Merkmal A zu berechnen, muss für alle Merkmalskombinationen, die das Merkmal A enthalten, ermittelt werden, wie sich die Vorhersage für Schloss Neuschwanstein ändert, wenn das Merkmal A aus diesen Kombinationen entfernt wird. Um den marginalen Beitrag des Merkmals A zu einer Merkmalskombination zu erhalten, berechnen wir also den vorhergesagten Immobilienwert des Schlosses anhand der beiden jeweiligen Modelle für die Merkmalskombination mit und ohne Merkmal A. Der marginale Beitrag des Merkmals A zu der entsprechenden Merkmalskombination ist dann die Differenz zwischen diesen beiden Vorhersagen. Die Berechnung der marginalen Beiträge für die Merkmale B und C erfolgt analog, siehe Abbildung 1.

Berechnung der Shapley-Werte für maschinelle Lernverfahren durch Bestimmung der marginalen Beiträge jedes Merkmals
Abbildung 1: Marginale Beiträge von Merkmal A (rot), Merkmal B (orange) und Merkmal C (grün).

Berechnung des marginalen Beitrags des Merkmals A zur Kombination {A, B}

Zur Veranschaulichung berechnen wir dies nun für eine Kombination von Merkmalen. Um beispielsweise den marginalen Beitrag des Merkmals A zur Kombination {A, B} zu berechnen, muss die Vorhersage des Modells, das nur auf dem Merkmal B trainiert wurde, von der Vorhersage des Modells, das auf den Merkmalen A und B trainiert wurde, subtrahiert werden. Der marginale Beitrag des Merkmals A zur Kombination {A, B} beträgt somit:

\[ \begin{align}
Modell_{\{A, B\}}(„Schloss Neuschwanstein“) – Modell_{\{B\}}(„Schloss Neuschwanstein“) = 85 – 30 = 55. \end{align} \]

Für die übrigen Merkmalskombinationen erfolgt die Berechnung der marginalen Beiträge des Merkmals A analog. Tabelle 3 zeigt die Berechnung aller marginalen Beiträge des Merkmals A.

Kombination mit AVorhersage mit AKombination ohne AVorhersage ohne AMarginaler Beitrag von AGewicht
{A}Modell{A}(x{A}) = 80{}Modell{}(x{}) = 70Modell{A}(x{A}) – Modell{}(x{}) = 80 – 70 = 101/3
{A, B}Modell{A, B}(x{A, B}) = 85{B}Modell{B}(x{B}) = 30Modell{A, B}(x{A, B}) – Modell{B}(x{B}) = 85 – 30 = 551/6
{A, C}Modell{A, C}(x{A, C}) = 80{C}Modell{C}(x{C}) = 90Modell{A, C}(x{A, C}) – Modell{C}(x{C}) = 80 – 90 = -101/6
{A, B, C}Modell{A, B, C}(x{A, B, C}) = 100{B, C}Modell{B, C}(x{B, C}) = 65Modell{A, B, C}(x{A, B, C}) – Modell{B, C}(x{B, C}) = 100 – 65 = 351/3
Tabelle 3: Marginale Beiträge des Merkmals A zu den verschiedenen Merkmalskombinationen, die das Merkmal A enthalten.

Berechnung des Shapley-Wertes für Merkmal A

Aus diesen marginalen Beiträgen kann nun der Shapley-Wert für das Merkmal A berechnet werden. Der Shapley-Wert für das Merkmal A entspricht dem gewichteten Mittel der marginalen Beiträge des Merkmals A zu den verschiedenen Merkmalskombinationen. Das Gewicht eines marginalen Beitrags zu einer bestimmten Merkmalskombination hängt von der Anzahl der Elemente in der Kombination ab. So ist das Gewicht des marginalen Beitrags des Merkmals A zu einer Merkmalskombination mit n Elementen immer gleich dem Kehrwert des Produkts aus der Anzahl aller Kombinationen mit n Elementen, die A enthalten, und der Gesamtzahl der Merkmale.

Betrachten wir als Beispiel den marginalen Beitrag des Merkmals A zur Kombination {A, B}. Die Kombination {A, B} besteht aus zwei Elementen, den beiden Merkmalen A und B. Insgesamt gibt es zwei Merkmalskombinationen, die aus zwei Elementen bestehen und das Merkmal A enthalten. Dies sind die Kombinationen {A, B} und {A, C}. Da wir insgesamt drei Merkmale (A, B und C) haben, beträgt das Gewicht für die marginalen Beiträge des Merkmals A zu diesen beiden Kombinationen jeweils 1/(2*3) = 1/6. Analog lassen sich auch die Gewichte für die marginalen Beiträge von A zu den übrigen Merkmalskombinationen berechnen. Diese Gewichte sind ebenfalls in Tabelle 3 angegeben.

Um den Shapley-Wert des Merkmals A für Schloss Neuschwanstein zu berechnen, müssen nun nur noch die marginalen Beiträge aus Tabelle 3 mit ihren jeweiligen Gewichten multipliziert und anschließend addiert werden:

\[
\text{Shapley}_A = \frac{1}{3} \cdot 10 + \frac{1}{6} \cdot 55 + \frac{1}{6} \cdot (-10) + \frac{1}{3} \cdot 35 = 22,5.
\]

Shapley-Werte aller Merkmale

Analog können die Shapley-Werte für die Merkmale B und C berechnet werden. Wir erhalten dann die in Tabelle 4 dargestellten Shapley-Werte für die Merkmale A, B und C.

Merkmal AMerkmal BMerkmal CSumme
22,5-1017,530
Tabelle 4: Shapley-Werte für die Merkmale A, B und C.

In der Modellvorhersage für Schloss Neuschwanstein lieferte Merkmal A einen positiven Beitrag von 22,5 Millionen Euro, Merkmal B einen negativen Beitrag von 10 Millionen Euro und Merkmal C einen positiven Beitrag von 17,5 Millionen Euro. Anhand dieser Shapley-Werte lässt sich also erkennen, dass sowohl die Grundfläche (Merkmal A) als auch das Alter (Merkmal C) von Schloss Neuschwanstein zu einem überdurchschnittlich hohen vorhergesagten Immobilienwert beigetragen haben. Der Shapley-Wert für die Anzahl der Zimmer (Merkmal B) ist jedoch negativ und reduziert somit den vorhergesagten Immobilienwert des Schlosses.

Die Summe der Beiträge der drei Merkmale beträgt 30 Millionen Euro und entspricht damit genau der Differenz zwischen der Modellvorhersage für Schloss Neuschwanstein (100 Millionen Euro) und dem Basiswert (70 Millionen Euro). Dies ist eine wichtige Eigenschaft der Shapley-Werte und gilt nicht nur für dieses einfache Beispiel. Im Allgemeinen entspricht die Summe der Shapley-Werte aller Merkmale immer genau der Differenz zwischen Modellvorhersage und Basiswert. Auf die mathematische Definition der Shapley-Werte wird im nächsten Abschnitt näher eingegangen.

Wie lautet die mathematische Definition von Shapley-Werten?

Theoretisch können Shapley-Werte nicht nur für drei, sondern für beliebig viele Merkmale berechnet werden. Die Shapley-Werte helfen uns zu verstehen, wie die verschiedenen Merkmale eine Modellvorhersage beeinflussen. Wie wir im vorherigen Beispiel gesehen haben, entspricht der Shapley-Wert eines Merkmals dem gewichteten Mittel aller marginalen Beiträge des Merkmals zu den verschiedenen Merkmalskombinationen. Shapley-Werte berücksichtigen somit, dass der Einfluss eines Merkmals auf die Modellvorhersage auch von den anderen Merkmalen abhängt. Mathematisch kann die Berechnung des Shapley-Wertes eines Merkmals i für eine Modellvorhersage einer Instanz x durch folgende Formel ausgedrückt werden:

\[
\text{Shapley}_i (x)=\sum_{S\subseteq N_{i}}\frac{1}{n} \binom{n-1}{\vert S\vert-1}^{-1}\left(\text{Modell}_{S} \left( x_S \right)- \text{Modell}_{S\setminus\{i\}} \left( x_{S\setminus\{i\}} \right) \right).
\]

Dabei ist n die Anzahl der Merkmale, Ni die Menge aller möglichen Merkmalskombinationen, die das Merkmal i enthalten, S eine Merkmalskombination und S\{i} die Merkmalskombination S ohne das Merkmal i. ModellS(xS) ist die Vorhersage für die Instanz x auf der Grundlage des mit den in S enthaltenen Merkmalen trainierten Modells.  Dabei bezeichnet xS die Instanz, die nur die Merkmalsausprägungen der Instanz x enthält, die auch in der Merkmalskombination S enthalten sind.

Der marginale Beitrag eines Merkmals i zu einer Merkmalskombination S ist durch

\[
\left(\text{Modell}_{S} \left( x_S \right)- \text{Modell}_{S\setminus\{i\}} \left( x_{S\setminus\{i\}} \right) \right)
\]

gegeben. Die anderen Terme in der Formel sind lediglich die Gewichte der verschiedenen marginalen Beiträge des Merkmals. Lass Dich von dieser Formel nicht verwirren. Sie ist lediglich eine mathematische Verallgemeinerung des obigen Beispiels. Mit ihrer Hilfe können Shapley-Werte für Modelle mit einer beliebigen Anzahl von Merkmalen berechnet werden. Einfach ausgedrückt bedeutet diese Formel nichts anderes als:

\[
\text{Shapley}_i (x) =
\sum_{\text{Kombinationen mit Merkmal i}}
\small
\frac{\text{Marginaler Beitrag von Merkmal i zur Kombination}}{(\text{Anzahl der Merkmale}) \cdot (\text{Anzahl der Kombinationen mit Merkmal i in dieser Größe})}.
\]

Nachteile der Shapley-Werte

Ein wesentlicher Nachteil der Shapley-Werte ist, dass ihre Berechnung in der Regel NP-schwer und damit sehr aufwändig ist. Der Rechenaufwand für die exakte Berechnung der Shapley-Werte steigt exponentiell mit der Anzahl der Merkmale, da jeweils 2n Modelle trainiert werden müssen. Während bei 5 Merkmalen nur 32 Modelle trainiert werden müssen, sind es bei 10 Merkmalen bereits 1024 Modelle. Stell Dir nun vor, wie viele Modelle benötigt werden, wenn die Merkmale ein Bild mit 28×28 Pixeln darstellen. Dies ist extrem ressourcen- und zeitintensiv und in der Praxis oft nicht durchführbar.

Glücklicherweise gibt es verschiedene Näherungsverfahren, um Shapley-Werte auch für eine große Anzahl von Merkmalen und Instanzen schnell berechnen zu können. Das wohl bekannteste Näherungsverfahren ist SHAP und wird im nächsten Blogbeitrag ausführlich beschrieben.

Weiterführende Literatur

In diesem Abschnitt findest Du weiterführende Literatur, die Dir helfen wird, tiefer in das Thema der Shapley-Werte einzusteigen.

Bücher

Wissenschaftliche Publikationen

Zusammenfassung

In diesem Blogbeitrag hast Du gelernt, wie man Shapley-Werte verwenden kann, um die Funktionsweise von maschinellen Lernverfahren zu erklären.

Konkret hast Du gelernt:

  • Shapley-Werte beschreiben die Beiträge verschiedener Merkmale zur Vorhersage eines maschinellen Lernmodells relativ zu einem Basiswert.
  • Der Basiswert entspricht dem Erwartungswert aller Modellvorhersagen.
  • Der Shapley-Wert eines Merkmals wird als gewichtetes Mittel der marginalen Beiträge des Merkmals berechnet.

Hast Du noch Fragen?

Schreibe Deine Fragen gerne unten in die Kommentare und ich werde mein Bestes tun, sie zu beantworten.

P.S.: Natürlich freue ich mich auch über konstruktives Feedback zu diesem Blogpost 😊

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert