i

Übungen zu Lernende Neuronen

Übungen

Aufgabe 1: Ein weiterer Lernschritt im Beispiel

Betrachte erneut das Beispiel auf der Seite zuvor. Die ersten beiden Traniningsdaten hat das Neuron schon verarbeitet. Nun gibt es einen dritten Datensatz. Damit sieht die Übersicht über die Trainingsdaten wie folgt aus:

x1 x2 Label
3 2 0
6 4 1
5 3 0
  1. Überprüfe auch für den dritten Datensatz dein bisheriges Neuron.
  2. Bestimme die Gewichten und den Schwellenwert nach diesem Lernschritt und der Formel.
  3. Bewerte dein Ergebnis.

Aufgabe 2: Tabellenkalkulation

Erstelle mit Hilfe einer Tabellenkalkulation ein Tabellenblatt, das aufgrund der Werte aus den Trainingsdaten und einer frei wählbaren Lernrate die entsprechenden Daten bestimmt.

lb lnb

Aufgabe 3: Programmieren

Erstelle ein Programm in einer Programmiersprache deiner Wahl (z.B. in Python objektorientiert), das zu vorgegebenen Trainingsdaten und einer Lernrate als Konstante ein entsprechendes Perzeptron lernen lässt und die gelernten Gewichte und den Schwellenwert ausgibt.
Beachte, dass nicht alle Datensätze sich linear trennen lassen.
(Durch matplotlib aus dem Paket pyplot könntest du dir anschließend auch die Datenpunkte und deine Trennlinie relativ einfach darstellen lassen...)

Hier ein mögliches Programmgerüst
### Simulation eines einfachen Perzeptrons (lernendes künstliches Neuron) ####

######### Initialisierung ###########
# Liste der Trainings-Datensätze in der Form (x1,x2,y)
daten=[(3,2,0),
       (6,4,0),
       (5,3,1),
       (8,5,1)
       ]
# Lernrate / Dämpfung / Moderation (alpha, eta)
ALPHA = 0.1

######### Klassenbeschreibung ##################

class Perzeptron():
    def __init__(self,w1,w2,s):
        self.w1 = w1
        self.w2 = w2
        self.s = s
        
    def getWerte(self):
        return (self.w1, self.w2, self.s)

    def lernschritt(self,datensatz):
        # Auslesen der einzelnen Daten
        ...
        # Bestimmung der tatsächlichen aktuellen Ausgabe
        ...
        # Berechnung der neuen Gewichte und des neuen Schwellenwertes
        ...
        # Rückgabe, ob die aktuelle Ausgabe mit dem Label übereingestimmt hatte
        return ...


## Hauptprogramm
# Initialisierung unseres Perzeptrons mit Startwerten für
# die beiden Gewichte und den Schwellenwert
n = Perzeptron(0.5,-0.5,2.1)

...

while ...: 
    ...
    for datensatz in daten:
        ...
    
...


			

llmP

Aufgabe 4: Daten separieren

Hier siehst du in den verschiedenen Bildern Darstellungen gelabelter Daten. Untersuche, welche dieser Daten sich mit Hilfe eines einzelnen Neurons – zumindest näherungsweise separieren lassen.

Datenpunkte[1]

Quellen

Suche

v
5.1.2.5.3.7
inf-schule.de/ki/menueansicht/ki_erkunden/steinlaus_erkennung/einzelneNeuronen/uebungenPerzeptron
inf-schule.de/5.1.2.5.3.7
inf-schule.de/@/page/QDPeQgehAFqGvatW

Rückmeldung geben