Benutzer-Werkzeuge

Webseiten-Werkzeuge


perzeptron_aufgaben

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
perzeptron_aufgaben [2025/02/08 10:26] torsten.roehlperzeptron_aufgaben [2025/02/09 12:12] (aktuell) torsten.roehl
Zeile 1: Zeile 1:
 ====== Perzeptron Aufgaben ====== ====== Perzeptron Aufgaben ======
 +===== Aufgabe: Klassifikation  AND/OR und das XOR-Problem =====
 +Einfache (klassische) Perzeptron-Probleme wie das UND/ODER und das XOR-Problem werden im Abschnitt Lernalgorithmus behandelt ([[lernalgorithmus|siehe dort]]).
 +===== Aufgabe: Klassifikation von Iris setosa =====
  
 +//
 +Der **Iris-Datensatz** ist einer der bekanntesten Datensätze im Bereich maschinelles Lernen. Er enthält Messungen von drei verschiedenen Schwertlilienarten (**Iris setosa**, **Iris versicolor**, **Iris virginica**).  
 +\\
 +Der Datensatz wurde ursprünglich **1936 von Ronald A. Fisher** veröffentlicht und ist frei verfügbar ([[https://de.wikipedia.org/wiki/Schwertlilien-Datensatz|Schwertlilien-Datensatz (Wikipedia)]]). 
 +\\
 +Die Daten enthalten vier messbare Merkmale der Blüte, die als Eingabe für das neuronale Netz dienen, sowie den Namen der Art als Ausgabe.
 +//
  
  
-===== Aufgabe: Klassifikation von Iris setosa =====+<WRAP center round tip 90%> 
 +Das Ziel dieser Aufgabe ist es, ein **einfaches Perzeptron** zu trainieren, das automatisch erkennt, ob eine gegebene Blume zur Art **Iris setosa** gehört oder nicht.  
 +</WRAP>
  
-  
-Der **Iris-Datensatz** ist einer der bekanntesten Datensätze im Bereich maschinelles Lernen. Er enthält Messungen von drei verschiedenen Schwertlilienarten (**Iris setosa**, **Iris versicolor**, **Iris virginica**) und wird häufig zur Demonstration von Klassifikationsverfahren verwendet.   
  
-Das Ziel dieser Aufgabe ist es, ein **einfaches Perzeptron** zu trainieren, das automatisch erkennt, ob eine gegebene Blume zur Art **Iris setosa** gehört oder nicht. Die Daten enthalten vier messbare Merkmale der Blüte, die als Eingabe für das neuronale Netz dienen. 
  
-==== Die drei Iris-Arten ====   
-Hier sind Beispielbilder der drei Blumenarten: 
  
 ^ **Iris setosa**  ^ **Iris versicolor**  ^ **Iris virginica**  ^ ^ **Iris setosa**  ^ **Iris versicolor**  ^ **Iris virginica**  ^
-| {{https://upload.wikimedia.org/wikipedia/commons/4/41/Iris_setosa_2.jpg?200}} | {{https://upload.wikimedia.org/wikipedia/commons/9/9f/Iris_versicolor_3.jpg?200}} | {{https://upload.wikimedia.org/wikipedia/commons/5/56/Iris_virginica.jpg?200}} |+| {{ :inf:ki:resized_setosa.jpg?200 |}} |{{ :inf:ki:resized_versicolor.jpg?200 |}}  | {{ :inf:ki:resized_virginica.jpg?200 |}} |
  
-==== Gegeben ====   +==== Datenformat (CSV) ====   
-Der Datensatz enthält vier Merkmale, die für jede Blume gemessen wurden:  + 
 +Der Datensatz liegt als **CSV-Datei** vorin der die Werte **mit Semikolon (`;`) getrennt** sind. Jede Zeile enthält die Messwerte einer Blume mit den folgenden Spalten  
 + 
 +  * **Art** (Setosa, Versicolor oder Virginica)  
   * **Kelchblattlänge (cm)**     * **Kelchblattlänge (cm)**  
   * **Kelchblattbreite (cm)**     * **Kelchblattbreite (cm)**  
Zeile 23: Zeile 33:
   * **Kronblattbreite (cm)**     * **Kronblattbreite (cm)**  
  
-Zusätzlich soll ein **weiteres Eingangsneuron** mit festem Wert hinzugefügt werden, um eine implizite **Schwellenwertanpassung** zu ermöglichen.+<WRAP center round download 95%> 
 +**Download Iris-Datensatz als //gezippte// CSV-Datei.** 
  
-==== Vorgehen ====  + 
 +{{ :inf:ki:iris_datensatz.csv.zip |}} 
 + 
 +</WRAP> 
 + 
 +==== Aufgabe ====   
 + 
 +^ **Topologie des Netzwerks** 
 +|{{ :inf:ki:iris-nn.png?200 |}}| 
 +|Ein Perzeptron mit vier Eingangsneuronen (insgesamt fünf Gewichten) und einem Ausgangsneuron für die Klassifizierung der Art. |
   - **Laden Sie den Datensatz** und bereiten Sie die Daten für das Training vor.     - **Laden Sie den Datensatz** und bereiten Sie die Daten für das Training vor.  
-  - **Erweitern Sie den Datensatz um ein zusätzliches Eingangsneuron**, das stets den Wert **1** hat (Bias-Neuron).   
   - **Teilen Sie den Datensatz** in **80% Trainingsdaten** und **20% Testdaten**.     - **Teilen Sie den Datensatz** in **80% Trainingsdaten** und **20% Testdaten**.  
   - **Kodieren Sie das Problem als binäre Klassifikation**:     - **Kodieren Sie das Problem als binäre Klassifikation**:  
     * **Setosa = 1**       * **Setosa = 1**  
     * **Nicht-Setosa (Versicolor/Virginica) = 0**       * **Nicht-Setosa (Versicolor/Virginica) = 0**  
-  - **Implementieren Sie ein einfaches Perzeptron**, das fünf Eingaben erhält und eine binäre Entscheidung trifft.   
-  - **Verwenden Sie die Schwellenwert-Aktivierungsfunktion**:   
-    * \[ y = 1, \quad \text{falls } \sum w_i x_i \geq 0 \]   
-    * \[ y = 0, \quad \text{sonst} \]   
   - **Trainieren Sie das Modell** mit dem Trainingsdatensatz.     - **Trainieren Sie das Modell** mit dem Trainingsdatensatz.  
   - **Bewerten Sie die Klassifikationsgenauigkeit** auf dem Testdatensatz.     - **Bewerten Sie die Klassifikationsgenauigkeit** auf dem Testdatensatz.  
  
 +<WRAP center round info 85%>
 +Verwenden Sie die Schwellenwertfunktion als Aktivierungsfunktion.  
 +Die Schwelle kann als 5. Eingabeneuron mit dem konstanten Input **1** moduliert werden.  
 +</WRAP>
  
-===== Aufgabe: Training eines einfachen Perzeptrons zur Klassifikation von Iris setosa ===== 
  
-==== Motivation ====   
-Der **Iris-Datensatz** ist einer der bekanntesten Datensätze im Bereich maschinelles Lernen. Er enthält Messungen von drei verschiedenen Schwertlilienarten (**Iris setosa**, **Iris versicolor**, **Iris virginica**) und eignet sich besonders gut zur Erprobung von Klassifikationsmethoden.   
  
-Das Ziel dieser Aufgabe ist es, ein **einfaches Perzeptron** zu trainieren, das automatisch erkennt, ob eine gegebene Blume zur Art **Iris setosa** gehört oder nicht. Die Daten enthalten vier messbare Merkmale der Blütedie als Eingabe für das neuronale Netz dienen.+==== Analyse ====  
 +++++ Perzeptron lernen | 
 +  
 +Wir untersuchen jetzt genauerwarum das Perzeptron in der Lage istdiese Aufgabe zu lernen.
  
-==== Die drei Iris-Arten ====   +=== Streudiagramm ===   
-Hier sind Beispielbilder der drei Blumenarten:+Erstellen Sie eine grafische Darstellung, um die Funktionsweise des Perzeptrons zu veranschaulichen.  
  
-**Iris setosa**  **Iris versicolor**  **Iris virginica**  ^ +  Wählen Sie **zwei Merkmale** des Datensatzes aus (**Kronblattlänge und Kronblattbreite**).   
-| {{https://upload.wikimedia.org/wikipedia/commons/4/41+  Erstellen Sie ein **Streudiagramm**, in dem:   
 +      Die **Datenpunkte für Setosa** in einer Farbe dargestellt werden.   
 +      * Die **Datenpunkte für Nicht-Setosa** in einer anderen Farbe dargestellt werden 
  
 +Betrachten Sie den Graphen: **Was fällt auf?**  
  
-===== Aufgabe: Training eines einfachen Perzeptrons zur Klassifikation von Iris setosa =====+=== Entscheidungsgrenze ===   
 +Jetzt untersuchen wir, wie das Perzeptron gelernt hat, das Problem zu klassifizieren.  
  
-==== Motivation ====   +Das Perzeptron berechnet eine gewichtete Summe der Eingaben und entscheidet nach einer Schwellenwertfunktion:
-Der **Iris-Datensatz** ist einer der bekanntesten Datensätze im Bereich maschinelles Lernen. Er enthält Messungen von drei verschiedenen Schwertlilienarten (**Iris setosa**, **Iris versicolor**, **Iris virginica**).  +
  
-Der Datensatz wurde ursprünglich **1936 von Ronald A. Fisher** veröffentlicht und ist **gemeinfrei**. Er ist unter folgendem Wikipedia-Link dokumentiert:   +$$ y =   
-→ [[https://de.wikipedia.org/wiki/Schwertlilien-Datensatz|Schwertlilien-Datensatz (Wikipedia)]].  +\begin{cases}   
 +1, & \text{falls } w_1 x_1 + w_2 x_2 + b \geq 0 \\   
 +0, & \text{sonst}   
 +\end{cases}   
 +$$
  
-Der Datensatz ist frei verfügbar und soll hier als **Trainingsdatensatz für ein einfaches Perzeptron** verwendet werden.+Hier sind:
  
-==== Die drei Iris-Arten ====   +  * \( x_1 \) Kronblattlänge   
-Hier sind Beispielbilder der drei Blumenarten:+  * \( x_2 \) Kronblattbreite   
 +  * \( w_1, w_2 \) Gewichte, die das Perzeptron gelernt hat   
 +  * \( b \) = Bias (wird durch das fünfte Eingangsneuron mit Wert 1 gesteuert)  
  
-**Iris setosa**  **Iris versicolor**  ^ **Iris virginica** +Die **Entscheidungsgrenze** tritt genau dann auf, wenn die gewichtete Summe **gleich Null** ist:
-| {{https://upload.wikimedia.org/wikipedia/commons/4/41/Iris_setosa_2.jpg?200}} | {{https://upload.wikimedia.org/wikipedia/commons/9/9f/Iris_versicolor_3.jpg?200}} | {{https://upload.wikimedia.org/wikipedia/commons/5/56/Iris_virginica.jpg?200}} |+
  
-==== Gegeben ====   +$$ w_1 x_1 + w_2 x_2 + b 0 $$
-Der Datensatz enthält vier Merkmale, die für jede Blume gemessen wurden:   +
-  * **Kelchblattlänge (cm)**   +
-  * **Kelchblattbreite (cm)**   +
-  * **Kronblattlänge (cm)**   +
-  * **Kronblattbreite (cm)**  +
  
-Zusätzlich soll ein **weiteres Eingangsneuron** mit festem Wert hinzugefügt werdenum eine implizite **Schwellenwertanpassung** zu ermöglichen.+  Zeigen Sie, dass dies **äquivalent zu einer Geradengleichung** der Form \( y = mx + b \) istund zeichnen Sie die Gerade in das Diagramm ein.   
 +      Wiederholen Sie das Lernen und vergleichen Sie die Diagramme.
  
-==== Vorgehen ====   +Diskutieren Sie das Ergebnis.   
-  - **Laden Sie den Datensatz** und bereiten Sie die Daten für das Training vor.   +++++ 
-  **Erweitern Sie den Datensatz um ein zusätzliches Eingangsneuron**, das stets den Wert **1** hat (Bias-Neuron)  +++++ Zusatzaufgabe: 3D-Visualisierung | 
-  **Teilen Sie den Datensatz** in **80% Trainingsdaten** und **20% Testdaten**.   +Erstellen Sie eine **3D-Darstellung**, um zu untersuchen, wie das Perzeptron die Klassifikation vornimmt.   
-  **Kodieren Sie das Problem als binäre Klassifikation**:   + 
-    * **Setosa = 1**   +  * Verwenden Sie die folgenden drei Merkmale als Achsen:   
-    * **Nicht-Setosa (Versicolor/Virginica) = 0**   +    * **Kronblattlänge (x-Achse)**   
-  - **Implementieren Sie ein einfaches Perzeptron**, das fünf Eingaben erhält und eine binäre Entscheidung trifft.   +    * **Kronblattbreite (y-Achse)**   
-  - **Verwenden Sie die Schwellenwert-Aktivierungsfunktion**  +    * **Kelchblattlänge (z-Achse)**   
-    * \[ y = 1, \quad \text{falls } \sum w_i x_i \geq 0 \]   +  * Erstellen Sie ein **3D-Streudiagramm**, in dem:   
-    * \[ y = 0, \quad \text{sonst} \]   +    * Die **Datenpunkte für Setosa** in einer Farbe dargestellt werden.   
-  - **Trainieren Sie das Modell** mit dem Trainingsdatensatz.   +    * Die **Datenpunkte für Nicht-Setosa** in einer anderen Farbe dargestellt werden.   
-  **Bewerten Sie die Klassifikationsgenauigkeit** auf dem Testdatensatz.  +  * Ermitteln Sie die **Entscheidungsgrenze des Perzeptrons** und stellen Sie diese als **Ebene im 3D-Raum** dar.   
 + 
 +Diskutieren Sie das Ergebnis:   
 +  * Trennen sich die Klassen im 3D-Raum eindeutig?   
 +  * Wie unterscheidet sich die Trennung von der 2D-Darstellung?   
 +++++
  
perzeptron_aufgaben.1739010391.txt.gz · Zuletzt geändert: 2025/02/08 10:26 von torsten.roehl