i

Perzeptron als künstliches Neuron

Es soll nun mit einem künstlichen Neuron (Perzeptron) die Gefährlichkeit von Tieren beurteilt werden. Als Eingabegrößen hat das Perzeptrons die Zahngröße $x_1$ und die Augengröße $x_2$ des Tieres. Als Ausgabegröße kann das Perzeptron die binären Werte $y \in \{0,1\}$ annehmen:

\begin{eqnarray}
y = \left{\begin{array}{ll} 1 & \textrm{gefährlich} \
0 & \textrm{ungefährlich} \end{array}\right. \nonumber
\end{eqnarray}

Überschreiten die Eingabegrößen $x_1,x_2$ bestimmte Werte, so soll das Tier als gefährlich eingestuft werden, andernfalls als ungefährlich.

Diagramm zur Veranschaulichung der Klassikikation von Tiere

Die Abbildung veranschaulicht die Klassifiktation von Tieren nach gefährlich und ungefährlich. Tiere mit großen Zähnen oder mit großen Augen werden als gefährlich eingestuft.

Um die Ausgabefunktion $y\in \{0,1\}$ genauer zu definieren, wird sie durch ein sogenanntes Perzeptron mit den beiden Eingängen $x_1,x_2 \in \mathbb{R}$ für die Zahn- und die Augengröße modelliert. Als konkrete Werte für die Klassifizierung von Tieren werden hier beispielhaft die Gewichte $w_1=1, w_2=0,5$ und der Schwellenwert $\Theta = 2$ gewählt:

Bild Perzeptron zur Klassikikation von Tieren

Durch die unterschiedliche Wahl der Gewichte wird bei der Beurteilung eines Tieres nach dessen Gefährlichkeit die Zahngröße hier also doppelt so stark gewichtet wie dessen Augengröße. Erst wenn die gewichete Summe aus Zahn- und Augengröße den Schwellenwert von 2 überschreitet, feuert das Neuron und das Tier wird als gefährlich eingestuft.

Genauer wird die Ausgabefunktion $y \in \{0,1\}$ mit Hilfe der folgenden Zwischenschritte berechnet. Zunächst wird der Wert der so genannte Propagierungsfunktion $u(x_1,x_2)$ als gewichtete Summe der beiden Eingangsgrößen bestimmt als:

\begin{eqnarray}
u(x_1,x_2) &:=& w_1 \cdot x_1 + w_2 \cdot x_2 \nonumber \
&=& 1 \cdot x_1 + 0,5 \cdot x_2 \nonumber
\end{eqnarray}

Nun wird als Aktivierungsfunktion des Perzeptrons die Treppenfunktion $f_2$ mit dem Schwellenwert (treshhold, bias) $\Theta=2$ gewählt, also:

\begin{eqnarray}
f_{2}(u) := \left{\begin{array}{ll} 1 & u \ge 2 \
0 & u < 2\end{array}\right. \nonumber
\end{eqnarray}

Schließlich wird Ausgangsfunktion y definiert als Verkettung von Propagierungs- und Aktivierungsfunktion:

\begin{eqnarray}
y(x_1,x2) = f{2} ( u(x_1,x_2 )) \nonumber
\end{eqnarray}
Das künstliche Neuron feuert (Ausgang $y=1$) also genau dann, wenn die gewichtete Summe der Eingangssignale mindestens den Schwellenwert von $\Theta =2$ annimmt.

Anmerkung

Die Programme bzw. Bibliotheken Jupyter, NumPy und Matplotlib sind Standardprogramme, die zur Python-Programmierung im Bereich der künstlichen Intelligenz, Big Data und Rapid Prototyping in der Forschung und Lehre eingesetzt werden. Es handelt sich um sehr mächtige Programme bzw. Bibliotheken, die aber gleichzeitig auch die Möglichkeit zu einem einfachen und niedrigschwelligen Einstieg bieten. Deshalb wird deren Einsatz bei den folgenden Übungsaufgaben empfohlen.
  • Jupyter
    Eine interaktive Python-Umgebung. Mit Jupyter lassen sich Python Codefragmente ausführen, ohne dass man dazu ein komplettes Python Programm schreiben muss. Weiterhin lassen sich in Jupyter-Notebooks ansprechende und übersichtliche Kommentare und Latex-Formeln einfügen.
  • NumPy
    Eine mächtige Python-Bibliothek unter anderem mit vielen Funktionen aus dem Bereich der linearen Algebra.
  • Matplotlib
    Eine mächtige Python-Bibliothek zur graphischen Darstellung von Daten in Diagrammen.

Wird ein Jupyter-Notebook zusammen mit den beiden Bibliotheken NumPy und Matplotlib verwendet, dann läßt es sich ähnlich bedienen wie ein typisches Computer-Algebra-System (CAS).

Aufgaben als Jupyter-Notebook

Die folgenden Aufgaben können als Jupyter-Notebookheruntergeladen werden. Außerdem gibt es auch noch eine Vorschauauf das Jupyter-Notebook.

Aufgabe 1

Klassifiziere die folgenden Tiere mit dem oben definierten Perzeptron ($w_1= 1, w_2=0,5, \Theta=2$) nach ihrer Gefährlichkeit. Die Eingabewerte der Tiere werden jeweils in Vektorform $\vec{x} = \left(\begin{array}{ll} x_1 \\ x_2 \end{array}\right)$ geschrieben:

\begin{eqnarray}
\vec{a} = \left(\begin{array}{ll} 3 \ 0 \end{array}\right)\qquad
\vec{b} = \left(\begin{array}{ll} 0 \ 3 \end{array}\right)\qquad
\vec{c} = \left(\begin{array}{ll} 0,5 \ 2 \end{array}\right)\qquad
\vec{d} = \left(\begin{array}{ll} 2 \ 0,5 \end{array}\right)\qquad \nonumber
\end{eqnarray}

Aufgabe 2

Die Punkte A, B, C, D, E, F sollen Tiere symbolisieren, die nach ihrer Gefährlichkeit klassifiziert werden sollen. Diagramm mit Tiere als Punkte Klassifiziere die Tiere mit dem oben definierten Perzeptron ($w_1= 1, w_2=0,5, \Theta=2$) nach ihrer Gefährlichkeit. Gib jeweils drei weitere Beispiele für gefährliche Tiere und für ungefährliche Tiere an.

Aufgabe 3

Implementiere das oben definierte Perzepron zur Klassifikation von Tieren in Python. (Tipp: Verwende die Python-Biblithek NumPy)

Aufgabe 4

Klassiziere die Tiere aus Aufgabe 2 mit dem Python-Programm aus Aufgabe 3 und stelle die Ergebnisse graphisch in der Zahlenebene dar, indem du die Punkte entsprechend einfärbst. Wähle die Farbe rot für gefährliche und grün für ungefährliche Tiere. (Tipp: Verwende die Python-Bibliotheken NumPy und Matplotlib)

Suche

v
12.7.2
www.inf-schule.de/gesellschaft/kuenstliche-intelligenz/perzeptron_als_kuenstliches_neuron

Rückmeldung geben