lernalgorithmus
                Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| lernalgorithmus [2025/01/22 18:46] – torsten.roehl | lernalgorithmus [2025/01/29 10:58] (aktuell) – [Netzeingabe $net$] torsten.roehl | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Perzeptron Lernalgorithmus ====== | ====== Perzeptron Lernalgorithmus ====== | ||
| - | //Im Folgenden wird der Lernalgorithmus für das einfache Perzeptron beschrieben. Um das Prinzip zu verstehen, werden lediglich zwei Eingangsneuronen und ein Ausgangsneuron verwendet. Mithilfe des Lernalgorithmus | + | //Im Folgenden wird der Lernalgorithmus für das **einfache Perzeptron** beschrieben. Um das Prinzip zu verstehen, werden lediglich zwei Eingangsneuronen und ein Ausgangsneuron verwendet. Mithilfe des Lernalgorithmus | 
| - | ==== Topologie ==== | + | ===== Topologie | 
| * **Eingangsneurone** $x_1$, | * **Eingangsneurone** $x_1$, | ||
| Zeile 7: | Zeile 7: | ||
| * **Ausgabeneuron** $y_1$ oder $o$ für **O**utput. | * **Ausgabeneuron** $y_1$ oder $o$ für **O**utput. | ||
| * **Gewichte** $w_{11}$ , $w_{21}$ und $w_{31}$ | * **Gewichte** $w_{11}$ , $w_{21}$ und $w_{31}$ | ||
| - | * Das Gewicht $w_{31}$ hat immer den Wert< | + | * Das Gewicht $w_{31}$ hat (in unserem Beispiel) | 
| {{ : | {{ : | ||
| <WRAP center round tip 90%> | <WRAP center round tip 90%> | ||
| - | Die Schwelle θ wird durch ein konstantes Gewicht $w_{31}=−0.1$ festgelegt. | + | Die Schwelle θ wird durch ein konstantes Gewicht | 
| Im **Perzeptron** kann anstelle der Schwelle ein Bias verwendet werden, da dieser als zusätzliches Gewicht modelliert wird, das mit einem konstanten Eingabewert von 1 multipliziert wird und dadurch die Schwelle direkt in die Gewichtsanpassung integriert. | Im **Perzeptron** kann anstelle der Schwelle ein Bias verwendet werden, da dieser als zusätzliches Gewicht modelliert wird, das mit einem konstanten Eingabewert von 1 multipliziert wird und dadurch die Schwelle direkt in die Gewichtsanpassung integriert. | ||
| + | |||
| + | //Der Zusammenhang zwischen Schwelle und Bias kann mathematisch gezeigt werden, was an anderer Stelle erfolgt.// | ||
| + | |||
| Zeile 23: | Zeile 27: | ||
| \begin{equation} net_j = \sum w_{ij} \cdot x_i \end{equation} | \begin{equation} net_j = \sum w_{ij} \cdot x_i \end{equation} | ||
| Da wir nur ein Ausgabeneuron haben ist $net_j=net_1=net$ also folgt für drei Eingabeneuronen: | Da wir nur ein Ausgabeneuron haben ist $net_j=net_1=net$ also folgt für drei Eingabeneuronen: | ||
| - | \begin{equation} net = \sum_1^3 w_{1j} \cdot x_i = w_{11} | + | \begin{equation} net = \sum_{i=1}^3 w_{i1} \cdot x_i = w_{11} | 
| + | Dabei wird verwendet, dass $x_3=1$ gesetzt worden ist. | ||
| ==== Aktivierungsfunktion ==== | ==== Aktivierungsfunktion ==== | ||
| - | Die Aktivierungsfunktion für // | + | Die Aktivierungsfunktion für das // | 
| Zeile 56: | Zeile 60: | ||
| ==== Algorithmus ==== | ==== Algorithmus ==== | ||
| + | <WRAP center round box 100%> | ||
| + | // | ||
| - |  | + | |
| - | - Berechne den Fehler | + |  | 
| - | - Berechne die Gewichtsänderung $\Delta w_{ij} = \eta\cdot (t-o)\cdot x_i$ | + | - **error: | 
| - | - Ändere das Gewicht $w_{ij}$ mit: $w_{ij} = w_{ij} | + | - **hebb rule: | 
| + | - **update: | ||
| - Wiederhole ab Schritt 1. für eine Anzahl an Iterationen, | - Wiederhole ab Schritt 1. für eine Anzahl an Iterationen, | ||
| + | </ | ||
| + | ===== Test & Aufgaben ===== | ||
| + | - Implementieren Sie den Perzeptron-Lernalgorithmus für das UND-Problem. | ||
| + | - Überprüfen Sie, ob das UND-Problem korrekt gelernt wurde, indem Sie für alle Inputvektoren $(x_1,x_2)$ die Ausgaben berechnen. | ||
| + | - Ändern Sie die Implementierung um auch das ODER-Problem zu lernen. | ||
| + | - Wiederholen Sie das Lernen mehrmals und untersuchen Sie die gelernten Gewichte $w_{11}$ und $w_{21}$. | ||
| + | - Untersuchen Sie die Abhängigkeit der Lernrate von der Anzahl der Iterationen, | ||
| + | - Erstellen Sie hierfür einen aussagekräftigen Graphen. | ||
| + | - | ||
| + | - Ändern Sie den Code um auch dieses Problem zu studieren.**🕱 🕱 🕱** | ||
| - | ===== Aufgabe & Test ===== | + | <WRAP center round tip 90%> | 
| - | Implementieren sie den Perzeptron-Lernalgorithmus für das UND-Problem. | + | Passen Sie gegebenenfalls die Lernrate oder die Anzahl der Iterationen an, damit das Problem erfolgreich gelernt werden kann. | 
| - | Überprüfen Sie, ob das UND-Problem korrekt gelernt wurde, indem Sie für alle Inputvektoren $(x_1,x_2)$ die Ausgaben berechnen. | + | </ | 
lernalgorithmus.1737571595.txt.gz · Zuletzt geändert:  von torsten.roehl
                
                