Maschinelles Lernen/Koaktivitätsmatrix
Einleitung
BearbeitenDiese Seite zum Thema Maschinelles Lernen/Koaktivitätsmatrix kann als Wiki2Reveal Folien angezeigt werden. Einzelne Abschnitte werden als Folien betrachtet und Änderungen an den Folien wirken sich sofort auf den Inhalt der Folien aus. Dabei werden die folgenden Teilaspekte im Detail behandelt:
- (1) Neuronschichten für die Ein- und Ausgabe
- (2) Koaktivität von zwei Neuronen in der Eingabe- und Ausgabeschicht durch eine Matrix beschreiben.
Zielsetzung
BearbeitenDiese Lernressource zum Thema Koaktivitätsmatrix hat das Ziel, die algebraische Beschreibung der Koaktivität von zwei Neuronen in einem Neuronalen Netz über Matrizen darzustellen (siehe Hebbsche Lernregel[1]). Die Spaltenanzahl der Matrix gibt die Anzahl der Neuronen in der Eingabeschicht an und die Zeilenanzahl die Anzahl der Neuronen in der Ausgabeschicht.
Zusammenhang - Hebbsche Lernregel
BearbeitenDie Koaktivitätsmatrix spielt eine Rolle für die mathematische Beschreibung der Hebbschen Lernregel, bei der die Verbindung von gleichzeitig aktiven (koaktiven) Neuronverbindungen (Synapsen) verstärkt wird.
Zielgruppe
BearbeitenDie Zielgruppen der Lernressource zum Thema Maschinelles Lernen/Koaktivitätsmatrix sind
- Studierende im Fach Mathematik und Informatik
- Schüler:innen, die das Thema des Maschinellen Lernens interdisziplinär in der Oberstufe behandeln.
Aufgaben für Lernende / Studierende
BearbeitenMit den folgenden Aufgaben zum Thema Maschinelles Lernen/Koaktivitätsmatrix werden.
- Gegeben ist eine -Matrix , die als Werte in den Matrixkomponenten nur die Werte 0 und 1 enthalten kann.
- Setzen Sie die Matrixkomponenten der Matrix auf 1, wenn das te Eingabeneuron und das te Ausgabeneuron zeitgleich aktiv sind. Betrachten Sie die folgenden Berechnungen und erläutern Sie, wie die Matrix durch Matrixmultiplikation von zwei Einheitsvektoren erzeugt werden kann.
Matrixmultiplikation
BearbeitenMan verwendet eine Standardmatrixmultiplikation um die Koaktivitätsmatrix aus Spaltenvektoren zu erzeugen. Im folgenden Beispiel ist die Matrix gegeben ist. Dabei berechnet das Matrixprodukt mit der Matrix . Die resultierende Matrix ist in diesem Beispiel also eine (siehe auch Definition der Matrixmultiplikation).
Matrixmultiplikation in R
BearbeitenDie Matrixmultiplikation in R erfolgt mit:
A <- matrix(c(1,2,3,4,5,6), ncol=3)
B <- matrix(c(4,2,1), nrow=3)
C = A %*% B
Siehe auch Formelsammlung für das Computeralgebrasystem Maxima
Dimensionen der resultierenden Matrix
BearbeitenIm Allgemeinen ergibt sich aus der Multiplikation eine -Matrix und einer -Matrix als Produkt eine resultierende -Matrix . In dem obigen Beispiel der Multiplikation in R müssen die Spaltenzahl von ncol=3 mit der Zeilenzahl von nrow=3 übereinstimmen.
Darstellung in mathematischer Notation
BearbeitenIn diesem Beispiel wird im ersten Befehl ein Spaltenvektor c(1,2,3,4,5,6) in eine Matrix mit 3 Spalten konvertiert (ncol=3 number of columns 3), die dann als Matrix zwei Zeilen besitzt.
Erzeugen der Koaktivitätsmatrix
BearbeitenDie Koaktivitätsmatrix kann man durch Matrixmultiplikation aus zwei assoziierten Vektoren erzeugen. Dabei wird mit einem Trainingsvektor der Spaltenvektor von links mit dem Zeilenvektor multipliziert und es entsteht die Koaktivitätsmatrix als -Matrix.
Koaktivität in R als 2x3-Matrix
BearbeitenDer folgende Code zeigt eine Berechnung einer -Koaktivitätsmatrix in GNU R.
koaktivitaetsmatrix2x3 <- function (px1,px2,px3,py1,py2) {
vecx <- c(px1,px2,px3)
vecy <- c(py1,py2);
mat <- matrix(vecy , ncol=1) %*% matrix(vecx,ncol=3)
# return Kooktivitaetsmatrix mat als Rueckgabewert
mat
}
Aufruf der 2x3-Matrixerzeugung
BearbeitenMit der obigen Definition der Funktion der Erzeugung eine Koaktivitätsmatrix kann man aus einem Vektor und einem die zugehörige Koaktivitätsmatrix wie folgt in R berechnen:
### Vektoren x=(0,0,1) y=(1,0)
### Direkte Eingabe der Werte
koaktivitaetsmatrix2x3(0,0,1,1,0)
### Definition von Vektoren
x <- c(0,0,1)
y <- c(1,0)
### Zuweisung der Koaktivitätsmatrix der Variable M
M <- koaktivitaetsmatrix2x3(x[1],x[2],x[3],y[1],y[2])
Dimensionsunabhängige Koaktivitätsmatrix
BearbeitenMit der folgenden Definition der Funktion für die Generierung von Koaktivitätsmatrizen hat man nur zwei Parameter, die jeweils zwei Vektoren sind, die
koaktivitaetsmatrix <- function (pVecX,pVecY) {
colx <- length(pVecX)
mat <- matrix(pVecY , ncol=1) %*% matrix(pVecX,ncol=colx)
# return Kooktivitaetsmatrix mat als Rueckgabewert
mat
}
Aufruf der Matrixerzeugung
BearbeitenMit der obigen Definition der Funktion der Erzeugung eine Koaktivitätsmatrix kann man aus einem Vektor und einem die zugehörige Koaktivitätsmatrix wie folgt in R berechnen:
### Vektoren x=(1,0,1) y=(1,0)
### Definition von Vektoren
x <- c(1,0,1)
y <- c(1,0)
### Zuweisung der Koaktivitätsmatrix der Variable M
M <- koaktivitaetsmatrix(x,y)
### M ist nun eine 2x3-Matrix
Koaktivitätsmatrix mit mehreren aktiven Neuronen
BearbeitenBei dem obigen Aufruf für die Generierung der Aktivitätsmatrix sind zwei Neuronen in der Eingabeschicht aktiv (d.h. und aktives Ausgabeneuron ). Damit liefert die Funktion oben die folgenden Koaktivitätsmatrix.
Lernrate Koaktivitätsmatrix
BearbeitenEin Gewichtsmatrix beschreibt den Assoziativen Zusammenhang zwischen der Definitions- und Wertebereich. Die Koaktivtätsmatrix für ein Trainingswertepaar kann durch eine Lernrate gewichtet werden, um damit die Veränderung der Koaktivtätsmatrix zu beschreiben. Die neue Gewichtsmatrix für die Assoziation ergibt sich dadurch wie folgt:_
Literatur/Quellennachweise
Bearbeiten- ↑ Sejnowski, T. J., & Tesauro, G. (1989). The Hebb rule for synaptic plasticity: algorithms and implementations. In Neural models of plasticity (pp. 94-103). Academic Press.