Maschinelles Lernen/Koaktivitätsmatrix

Einleitung

Bearbeiten

Diese 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

Bearbeiten

Diese 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

Bearbeiten

Die 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

Bearbeiten

Die 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

Bearbeiten

Mit 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

Bearbeiten

Man 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

Bearbeiten

Die 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

Bearbeiten

Im 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

Bearbeiten

In 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

Bearbeiten

Die 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

Bearbeiten

Der 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

Bearbeiten

Mit 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

Bearbeiten

Mit 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

Bearbeiten

Mit 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

Bearbeiten

Bei 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

Bearbeiten

Ein 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
  1. 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.


Siehe auch

Bearbeiten