Zum Inhalt springen

Maschinelles Lernen/Koaktivitätsmatrix

Aus Wikiversity

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]