Perzeptron Lernalgorithmus: Informatik bleeptrack https://www.youtube.com/watch?v=SPwZ6CnoBQM Transkript (automatisch erstellt) 0:00 hallo und herzlich willkommen in meiner informatikecke heute geht's mit den perzeptronen weiter und wir schauen uns an wie denn der lernalgorithmus bei 0:10 perzeptronen funktioniert wir brauchen erstmal ein perar zeptronen das überhaupt lernen 0:19 kann und wir machen uns sozusagen ein blank perzeptronia also das überall mit null initialisiert ist das sieht etwa so aus wir haben z.B vier 0:32 Eingänge und den Schwellenwert den setzen wir auch auf Null jetzt ist die Frage was soll dieses perzeptronen lernen also soll ja 0:43 irgendwie eine bullsche Funktion sein und ich habe mir hier eine Aufgabe rausgesucht die habe ich mal auf einem Übungsblatt in der Uni gehabt und da 0:52 ging es darum diese Funktion hier zu lernen nicht X1 und x3 und X4 oder 1:05 X2 nicht X3 nicht X4 und ganz klar wir haben die Eingänge natürlich hier von oben nach 1:20 unten UPS durchnumermeriert was uns dann noch fehlt ist eine trainingsmenge wenn wir hier die 1:36 Funktion kennen könnten wir uns die komplett selber erstellen bei unserem bei unserer Aufgabe hier sind ein paar 1:45 trainingsvektoren gegeben die trainingsmenge Blende ich jetzt mal ein die habe ich schon aufgeschrieben das sind jetzt also sechs 1:54 Vektoren mit denen trainiert werden soll jetzt wundert ihr euch wahrscheinlich wir haben doch nur vier Eingänge warum steht hier jetzt noch eine fünfte ja ein 2:03 fünfter Wert in dem Vektor dabei das liegt schlichtweg daran dass wir mit den erweiterten Vektoren arbeiten das heißt 2:12 der Schwellwert hier der liegt immer negativ auf der ersten Stelle und danach kommen die ganz normalen Eingänge das liegt daran dass wir den Schwellwert 2:22 natürlich mitrainieren müssen und deswegen möchte man möglichst alles in einen Vektor schreiben dann ist das alles viel einfacher also hier ganz oben 2:29 erste Schwellwert deswegen ist ja auch hier immer ein den der wird bei den Eingängen immer mit ein 2:36 beschaltet damit der da ist überhaupt sozusagen deswegen ist auch überall hier oben ein und unten die unteren vier Werte sind die Werte für die 2:44 Eingänge so jetzt haben wir die Vektoren und jetzt müssen wir uns noch überlegen was denn das Ergebnis sein soll wenn diese 2:54 Eingänge geschalten sind und wir haben ja hier oben die Funktion das heißt das können wir wir uns einfach schnell ausrechnen ich schreib die die 3:05 gewünschten Ergebnisse mal dann immer in rot drunter also Schwellwert kann uns in diesem Fall erst egal sein wir schauen 3:15 uns nur die unteren vier an und setzen die hier oben ein und schauen dann was rauskommt und das heißt wir haben hier das Ergebnis 0 3:27 1 0 100 1 also wenn wir diese Beschaltungen unserem parzeptron vornehmen möchten 3:37 wirmer das Ergebnis erhalten was drunter steht so jetzt haben wir alle Voraussetzungen um mit dem Lernen loslegen zu 3:45 können jetzt machen wir uns vielleicht noch ein paar grundlegende Gedanken vorher es kann natürlich jetzt sein dass mein perzeptronen mit diesen Eingängen 3:54 von vorne herein das gewünschte Ergebnis liefert dann müssen wir nichts mehr tun ich denke ist klar es kann aber sein dass eigentlich wir gerne eine 1 hätten 4:06 aber im Moment eine Null als Ergebnis steht was ist dann die logische Schlussfolgerung wir erhöhen unsere Gewichte und zwar erhöht man dann die 4:17 Gewichte mit dem eingabenvektor mit dem man gerade arbeitet mal einer konstanten also man kann noch einen Faktor davor schreiben diesen Faktor meistens ist es 4:30 ein Alpha den setzen wir hier auf ein also wenn wir eine Null haben aber eigentlich auf ein 1 kommen 4:40 wollen dann ist unser W neu also unser neuer gewichtsvektor der alte gewichtsvektor plus Alpha wie nennen wir unsere 4:56 eingabenvektoren nennen wir sie 5:03 V das hier sind unsere eingabenvektoren also hier machen wir sind natürlich auch Vektoren Alpha ist eine konstante + 5:14 V das V mit dem wir gerade arbeiten den Fall geht's natürlich auch noch umgekehrt wenn wir ein 1 haben aber eigentlich eine ull haben 5:24 wollen dann ist das Ganze gleich nur dass wir abziehen denn es soll ja wir möchten ja auf einen niedrigeren Wert hin arbeiten deswegen ist es natürlich 5:34 sinnvoll abzuziehen ich glaube wir probieren es jetzt einfach aus ich mache hier mal die ersten vier 5:43 Vektoren die letzten beiden dürft ihr dann zum Schluss als Aufgabe bearbeiten und wir starten mal also ganz am Anfang haben wir unseren Vektor mit lauter 5:53 Nullen initialisiert das sind unsere Eingabewerte die werden drauf geschalten und ihr wisst noch wir 6:05 rechnen dann ein Skalarprodukt aus hier mit unseren eingangswerten also wir haben hier gewichtsvektor 6:18 Eingangswerte wenn wir hier das glarprodukt Ausrechnen sieht man gleich kommt Null raus wir arbeiten jetzt ja mit diesen 6:29 erweiterten gewichtsvektoren hier und deswegen vergleichen wir nicht mehr direkt mit dem Schwellenwert sondern wir vergleichen jetzt immer mit ull also 6:37 wenn wir ein Ergebnis haben das größer als 0 ist erhalten wir 1 und wenn es kleiner gleich 0 ist erhalten wir 0 und die 0 ist kleiner gleich 0 also ist das 6:48 Ergebnis 0 und wir gucken mal wir haben null rausbekommen haben eine Null gewollt ist 6:57 also so gelaufen wie wir das gepl haben wir müssen nichts verändern gehen wir weiter zum nächsten Vektor unser gewichtsvektor sieht immer 7:05 noch so aus wir haben ja nichts gemacht hier haben wir jetzt 10 [Musik] 7:20 10 wenn wir das Ausrechnen kommen wir auch auf Null wie vorhin das heißt unser perzeptron würde auch null 7:32 ausspucken aber wir wollten eigentlich eine 1 haben also Problem das heißt jetzt schauen wir mal 7:41 wir haben eine ull wollten eine 1 0 wollten eine 1 das heißt addieren unser Alpha haben wir gesagt für diese Übung setzen wir auf ein das macht am 7:50 einfachsten das heißt wir addieren unseren gewichtsvektor mit dem eingabevektor also gewichtsvektor hier plus eingabewektor hier 7:59 dann 0 und 1 1 0 und 0 S 0 0 0 voil unser neuer gewichtsvektor und mit dem arbeiten wir jetzt einfach weiter nächste eingabevektor aus der 8:14 trainingsmenge ist hier oben 10 10 8:26 1 da bekommen wir 2 2 ist größer als 0 das heißt unser perzeptron sagt hier es kommt eine 1 raus okay was wollten wir haben wir 8:38 wollten aber eigentlich eine Null haben ist jetzt wieder doof gelaufen also hier Problem diesmal sind wir zum unteren Fall das heißt wir machen das gleiche 8:47 ziehen aber ab das bedeutet wir ziehen hier diesen trainingsvektor oder eingabevektor von unserem gewichtsvektor 8:57 ab also hier min drüben daraus bekommen wir 1 - 1 0 0- 1 0 1- 1 0 0- 1 okay vierter Vektor aus der trainingsmenge ist 1 9:24 10 da sehen wir schon wieder kommt 0 raus und die KLE die ull also sagt das perzeptron auch null wir wollten aber eine ein haben wieder blöd gelaufen 9:38 müssen also schon wieder was ändern also ull wten aber eine 1 das heißt wir addieren wieder und kommen dann auf 1 1 9:52 10-1 so jetzt sind noch zwei Vektoren übrig ich würde sagen die macht ihr jetzt mal noch fertig Lösung gibt's unter dem Video und stellt euch auch 10:01 noch die Frage ob danach unser perzeptron schon vollständig trainiert ist so viel zu mir ich hoffe es hat euch wieder Spaß gemacht und bis zum nächsten 10:11 Mal tschüss