# Fuzzylogik/Dichten und Zugehörigkeitsfunktionen
## Einleitung

In dieser Lerneiheit werden Dichtefunktionen verwendet, um Zugehörigkeitsfunktionen für Klassen zu generieren. Die Lernressource kann als Wiki2Reveal Folien angezeigt werden.

## Gliederung

Diese Lernressource zu Fuzzylogik, Dichten und Zugehörigkeitsfunktionen gliedert sich in folgende Teilaspekte:
* (1) aus diskreten Daten stetige Dichtefunktionen zu generieren
* (2) aus Dichtenfunktionen eine Fuzzy-Klassifikation mit Zugehörigkeitsfunktion für Klassen zu erzeugen.

## Lernvoraussetzungen

Die Lernressource zum Thema Fuzzylogik/Dichten und Zugehörigkeitsfunktionen hat die folgenden Lernvoraussetzungen, die zum Verständnis der nachfolgenden Ausführungen hilfreich bzw. notwendig sind.
* (von Daten zur Dichtefunktion) die Erzeugung von Dichtefunktion stellt in dieser Lerneinheit ein Zwischenschritt für die Erzeugung von Fuzzymengen dar.
* (Fuzzy-Klassifikation) notwendig, da aus Dichtefunktionen eine Zerlegung des Grundraumes in Fuzzymenge für Klassen vorgenommen wird.

## Aufgaben für Lernende / Studierende

Mit den folgenden Aufgaben zum Thema Dichten und Zugehörigkeitsfunktionen werden
* aus Daten, differenzierbare Dichtefunktionen erzeugt und
* aus Dichtefunktionen Fuzzy-Zugehörigkeitsfunktionen.

### Erzeugung von Dichtefunktionen aus Daten

Aus der Stochastik ist die Cauchy-Verteilung bekannt. Verwenden Sie in einem normierten Raum $(V,\|\cdot \|)$ die folgende Glockenkurve:
    $g_{V}(x,x_{o},h,s)={\frac {h}{1+\left({\frac {\|x-x_{o}\|}{s}}\right)^{2}}}\quad {\text{für}}-\infty <x<\infty$

### Bemerkung zu den Parametern

* $x\in V$ ist das Argument, an dem die Glockenkurve $g_{V}:V\to \mathbb {R} _{o}^{+}$ ausgewertet wird.
* $x_{o}\in V$ ist das Zentrum der Glockenkurve $g_{V}:V\to \mathbb {R} _{o}^{+}$
* $h$ legt den Funktionswert im Zentrum $x_{o}$ der Glockenkurve. Je weiter man sich mit $x\in V$ von dem Zentrum $x_{o}$ entfernt, desto betragsmäßig kleiner wird der Funktionswert $|g_{V}(x,x_{o},h,s)|$.

### Eindimensionaler Fall

Dichtefunktion der Cauchy-Verteilung für verschiedene Werte der beiden Parameter. Dabei gilt: $\gamma$ im Bild entspricht s in der obigen Gleichung.

### Wahrscheinlichkeitsdichte

Die Cauchy-Verteilung ist eine stetige Wahrscheinlichkeitsverteilung, die die folgende Wahrscheinlichkeitsdichte besitzt:
    $f(x)={\frac {1}{\pi \cdot s}}\cdot {\frac {1}{1+\left({\frac {x-t}{s}}\right)^{2}}}\quad {\text{für}}-\infty <x<\infty$
Der Quotient ${\frac {1}{\pi \cdot s}}$ sorgt für die Normierung des Integrals.

### Daten Dichtefunktion

Die Daten $\mathbb {D}$ für die mehrdimensionale Dichtefunktion bestehen aus Datenpunkten der Form $(x^{(i)},y^{(i)})\in \mathbb {R} ^{n}\times \mathbb {R} ^{+}$:
    $\mathbb {D} :=\left\{(x^{(i)},y^{(i)})\in \mathbb {R} ^{n}\times \mathbb {R} ^{+}\ \colon \ i\in \{1,\ldots ,d\}\right\}$
Die Werte $y^{(i)}\in \mathbb {R} ^{+}$ geben die positive Masse an, die einer Umgebung der Datenpunkte als Eingabenvektoren $x^{(i)}\in \mathbb {R} ^{n}$ zugeordnet wird.

### Definition der Dichtefunktion mit Glockenkurven

Nun definiert man Dichtefunktionen in Anlehnung an die Cauchy-Verteilung mit
    $d_{\mathbb {D} ,s}(x):=\sum _{i=1}^{d}g_{V}(x,x^{(i)},y^{(i)},s)=\sum _{i=1}^{d}{\frac {y^{(i)}}{1+\left({\frac {\left\|x-x^{(i)}\right\|}{s}}\right)^{2}}}\quad {\text{für}}-\infty <x<\infty$

## Beispiel

Als einführendes Beispiel zum Thema Fuzzylogik, Dichten und Zugehörigkeitsfunktionen dient dabei der Veranschaulichung der Erzeugung von Dichtefunktionen, über die dann Zugehörigkeitsfunktionen generiert werden.

### Von Datenpunkten zu Dichten

Die folgende Abbildung zeigt 4 Datenpunkte. Für jeden Datenpunkt $(x_{i},y_{i})\in \mathbb {R} ^{2}$ wird dann eine Cauchy-Dichte $c_{i}:\mathbb {R} \to \mathbb {R}$ verwendet, die durch den Punkt $(x_{i},y_{i})$ läuft (also $c_{i}(x_{i})=y_{i}$). Der Graph der einzelnen Cauchy-Dichten $c_{i}:\mathbb {R} \to \mathbb {R}$ sind grau darstellt. Die gesuchte Dichte (rot) ist die Summe der Cauchydichten,
    ${\begin{array}{rrcl}{\widetilde {d_{n}}}:&\mathbb {R} &\rightarrow &\mathbb {R} \\&x&\mapsto &{\widetilde {d_{n}}}(x)=\displaystyle \sum _{i=1}^{4}c_{i}(x)\end{array}}$

### Bemerkung - Interpolation

Auch wenn die einzelnen Cauchy-Dichten $c_{i}:\mathbb {R} \to \mathbb {R}$ Dichtefunktion für $n\in \mathbb {N}$ jeweils durch den zugehörigen Datenpunkte laufen, so interpoliert ${\widetilde {d_{n}}}:\mathbb {R} \to \mathbb {R}$ in der Regel keinen Punkt mehr. Durch das $y_{i}$ aus den Datenpunkten $(x_{i},y_{i})$ wird weiteren Verlauf der Konstruktion die Masse kodiert, die in der Dichte ${\widetilde {d_{n}}}$ durch das Datum $(x_{i},y_{i})$ repräsentiert werden soll.

### Streuparameter und Glättung der Dichte

Die folgende Animation zeigt, wie der Streuparemeter $s>0$ auf die Dichte wirkt. Ein großes $s$ glättet die Dichte.

### Normalisierung der Masse unter der Dichtefunktion

Die Masse der Dichtefunktion ${\widetilde {d_{n}}}:\mathbb {R} \to \mathbb {R}$ entspricht in der Regel nicht der Summe der Masseparameter $y_{i}$ für die Datenpunkte $(x_{i},y_{i})$.

#### Berechnung des Integrals über die Dichte

Daher berechnet man zunächst das Integral von ${\widetilde {d_{n}}}$ normalisiert dann die Dichtefunktion zu $d_{n}$:
    ${\begin{array}{rcl}\displaystyle \int _{-\infty }^{+\infty }{\widetilde {d_{n}}}(x)\,dx&=&\displaystyle \int _{-\infty }^{+\infty }\sum _{i=1}^{n}c_{i}(x)\,dx=\displaystyle \sum _{i=1}^{n}\int _{-\infty }^{+\infty }c_{i}(x)\,dx\\&=&\displaystyle \sum _{i=1}^{n}y_{i}\underbrace {\int _{-\infty }^{+\infty }{\frac {1}{1+\left({\frac {x-t}{s}}\right)^{2}}}\,dx} _{=\pi \cdot s}=\displaystyle \sum _{i=1}^{n}y_{i}\cdot \pi \cdot s\\\end{array}}$

#### Stammfunktion

Das uneigentliche Integral kann durch folgende Stammfunktion von $c_{i}$ berechnet werden:
    $C_{i}(x):=y_{i}\cdot s\cdot \arctan \left({\frac {x-x_{i}}{s}}\right)$

#### Normalisierte Dichte

Mit dem berechneten Integral kann die Masse unter der Kurve auch mit der Verteilungsfunktion der Cauchy-Verteilung berechnet werden. Die Dichtefunktion $d_{n}:\mathbb {R} \to \mathbb {R}$ lautet dann:
    $d_{n}(x):={\frac {1}{\pi \cdot s}}\cdot {\widetilde {d_{n}}}(x)$
Damit erhält für das Intergral über die $d_{n}$ die aggregierte Masse der $y_{i}$:
    $\int _{-\infty }^{+\infty }d_{n}(x)\,dx=\sum _{i=1}^{n}y_{i}$

#### Bemerkung - Wahrscheinlichkeitsdichte

Möchte man aus der Dichte eine Wahrscheinlichkeitsdichte $p_{n}:\mathbb {R} \to \mathbb {R}$ erzeugen, definiert man $p_{n}$ wie folgt: lautet dann:
    $p_{n}(x):={\frac {1}{\pi \cdot s\cdot \sum _{i=1}^{n}y_{i}}}\cdot {\widetilde {d_{n}}}(x)$
Um die Masse durch die $y_{i}$ weiterhin in der Dichte zu kodieren, wird im folgenden weiterhin $d_{n}$ verwendet.

#### Definitionsbereich nicht IR

In bestimmten Fällen macht es Sinn, dass man die Masse der Dichtefunktion bezogen auf eine messbare Teilmenge $\mathbb {M} \subset \mathbb {R}$ einschränkt, wobei für die $y_{i}$ alle in $\mathbb {M}$ liegen. Die Masseerhaltung in der Dichte wird in diesem Beispiel an einem Intervall veranschaulicht.

#### Masseerhaltung in der Dichte bei Intervallen

Wählt man als messbare Teilmenge $\mathbb {M} :=[a,b]\subset \mathbb {R}$, wobei $x_{i}\in [a,b]$ für alle $i\in \{1,\ldots ,n\}$ gilt, so erhält man als Integral:
    $\int _{a}^{b}{\widetilde {d_{n}}}(x)\,dx=\sum _{i=1}^{n}y_{i}\cdot s\cdot \left(\arctan \left({\frac {b-x_{i}}{s}}\right)-\arctan \left({\frac {a-x_{i}}{s}}\right)\right)$

#### Normalisierung der Masse

Ein Normalisierung der Masse für $\mathbb {M} :=[a,b]$ erfolgt daher mit folgenden Quotienten:
    $d_{n}(x):={\frac {\displaystyle \left(\sum _{i=1}^{n}y_{i}\right)\cdot {\widetilde {d_{n}}}(x)}{\displaystyle \sum _{i=1}^{n}y_{i}\cdot s\cdot \left(\arctan \left({\frac {b-x_{i}}{s}}\right)-\arctan \left({\frac {a-x_{i}}{s}}\right)\right)}}$
Damit erhält man $\int _{a}^{b}d_{n}(x)\,dx=\sum _{i=1}^{n}y_{i}$.

#### Wahrscheinlichkeitsdichte auf einem Intervall

Soll aus der Dichtefunktion ${\widetilde {d_{n}}}:[a,b]\to \mathbb {R}$ durch Normalisierung eine Wahrscheinlichkeitsdichte $p_{n}:[a,b]\to \mathbb {R}$ auf $[a,b]$ entstehen, erfolgt die Normalisierung analog mit folgenden Koeffizienten:
    $p_{n}(x):={\frac {{\widetilde {d_{n}}}(x)}{\displaystyle \sum _{i=1}^{n}y_{i}\cdot s\cdot \left(\arctan \left({\frac {b-x_{i}}{s}}\right)-\arctan \left({\frac {a-x_{i}}{s}}\right)\right)}}$

### Von Dichten zu Fuzzy-Zugehörigkeitsfunktionen

Mit dem obigen Beispiel wurde bereits eine Dichtefunktion erzeugt, die die Masse der $y_{i}$ entweder auf ganz $\mathbb {R}$ bzw. auf einem Teilintervall $[a,b]$ erhält. Wir nehmen nun an, dass auf diesem Wege zwei masseerhaltende Dichtefunktionen $d^{^{(1)}}$ und $d^{^{(2)}}$ erzeugt wurden.

#### Positivität und Konvexkombinationen

Da die Cauchy-Dichten für $y_{i}>0$ die Eigenschaft haben, für alle $x\in \mathbb {R}$ positiv zu sein, gilt dies auch für $d^{^{(1)}}$ und $d^{^{(2)}}$.

#### Definition der Fuzzy-Zugehörigkeitsfunktionen - Beispiel

Die Definition der Fuzzy-Zugehörigkeitsfunktionen erfolgt dann dann durch:
    $f^{^{(1)}}(x):={\frac {d^{^{(1)}}(x)}{d^{^{(1)}}(x)+d^{^{(2)}}(x)}}{\mbox{ bzw. }}f^{^{(2)}}(x):={\frac {d^{^{(2)}}(x)}{d^{^{(1)}}(x)+d^{^{(2)}}(x)}}$
Mit der obigen Definition gilt $f^{^{(1)}}(x),f^{^{2)}}(x)\in [0,1]$ für alle $x\in \mathbb {R}$.

### Fazit - Beispiel

Insgesamt wurde an dem Beispiel gezeigt, wie man mit Cauchy-Dichten für Daten $(x_{i},y_{i})\in \mathbb {R} ^{2}$ masseerhaltende Dichten $d_{n}$ erzeugt werden, der Beitrag zur Gesamtmasse der Dichte durch die Datenpunkte $y_{i}$ bestimmt wurde und mit den Dichten $d_{n}$ eine Zerlegung in Fuzzy-Klassen umgesetzt werden kann.

## Mehrdimensionale Cauchy-Dichten

Für die Verallgemeinerung werden nun Dichtefunktionen generiert, die auf Basis der Cauchy-Dichte auf $\mathbb {M} \subset \mathbb {R} ^{2}$ definiert werden.

### Zweidimensionaler Grundraum für Daten

Die Daten $\mathbb {D}$ für die zweidimensionalen Grundraum für die bestehen aus Datenpunkten der Form $(x^{(i)},y^{(i)})\in \mathbb {R} ^{2}\times \mathbb {R} ^{+}$:
    $\mathbb {D} :=\left\{(x^{(i)},y^{(i)})\in \mathbb {R} ^{2}\times \mathbb {R} ^{+}\ \colon \ i\in \{1,\ldots ,d\}\right\}$
Die Werte $y^{(i)}\in \mathbb {R} ^{+}$ sind positive Wichtungen der Datenpunkte der Eingabenvektoren $x^{(i)}=(x_{1}^{(i)},x_{2}^{(i)})\in \mathbb {R} ^{2}$.

### Definition der Dichtefunktion mit Cauchy-Dichten

Im $\mathbb {R} ^{2}$ ergibt sich für die grundlegenden Cauchy-Dichtefunktionen in Anlehnung an die Cauchy-Verteilung folgende Darstellung:
    $d_{\mathbb {D} ,s}(x_{1},x_{2})=\sum _{i=1}^{d}{\frac {y^{(i)}}{1+{\frac {\left(x_{1}-x_{1}^{(i)}\right)^{2}+\left(x_{2}-x_{2}^{(i)}\right)^{2}}{s^{2}}}}}$

### Aggregierte Dichtefunktion 1

Die folgende Dichtefunktion wurde mit 3 Datenpunkte der Form $(x^{(i)},y^{(i)})\in \mathbb {R} ^{2}\times \mathbb {R}$ mit $x^{(i)}:=(x_{1}^{(i)},x_{2}^{(i)})\in \mathbb {R} ^{2}$, Die unterschiedlichen Massen $y^{(i)})\in \mathbb {R}$ an den Stellen $x^{(i)}=(x_{1}^{(i)},x_{2}^{(i)})$ ist an der unterschiedlichen Höhe der Dichtefunktionen ersichtlich

### Aggregierte Dichtefunktion 2

Die zweite Dichtefunktion wurde mit 4 Datenpunkte der Form $(x^{(i)},y^{(i)})\in \mathbb {R} ^{2}\times \mathbb {R}$, wobei wieder der Umgebung von $x^{(i)}:=(x_{1}^{(i)},x_{2}^{(i)})\in \mathbb {R} ^{2}$ die Masse $y^{(i)})\in \mathbb {R}$ zugeordnet wird. Einige Datenpunkte liegen am Rand des geplotteten Bereiches.

### Aufgabe - zweidimensionale Dichten

Erzeugen Sie selbst zwei Dichtefunktionen in Maxima CAS oder mit CAS4Wiki und generieren Sie daraus eine Zerlegung des Grundraumes $\Omega :=\mathbb {R} ^{2}$ in zwei Fuzzy-Klassen.

### Verallgemeinerung von positiven Dichtefunktionen

Für die Allgemeinerung betrachtet man nun mehrdimensionale Dichten und schränkt die gegebenen Dichtefunktionen nicht mehr auf die Erzeugung durch Cauchy-Dichten ein. Ausgangspunkt für die Erzeugung von Fuzzy-Zugehörigkeitsfunktionen könnten daher auf Funktionen der Form:
    ${\widehat {d}}(x,y):=cos(x)+sin(y)+2,01$
Die Funktion ${\widehat {d}}(x,y)$ ist positiv auf ganz $\mathbb {R} ^{2}$

### Aufgabe - zweidimensionale Fuzzy-Zugehörigkeitsfunktionen

Erzeugen Sie analog zum eindimensionalen Beispiel mit 3 zweidimensionalen Fuzzy-Zugehörigkeitsfunktionen, wobei 1 bzw. 2 Dichtefunktionen über Cauchy-Dichten erzeugt wurden und eine Dichte mit der obigen trigonometrischen Dichtefunktion erzeugt wurde. Plotten Sie dann die Fuzzy-Zugehörigkeitsfunktionen.

## Literatur/Quellennachweise

* ↑ Roth, Z. E., & Baram, Y. (1996). Multidimensional density shaping by sigmoids. IEEE Transactions on Neural Networks, 7(5), 1291-1298.