Mehrdimensionale lineare Regression/Fehlerminimierung und Lernrate
Einleitung
[Bearbeiten]Diese Seite zum Thema Fehlerminimierung und Lernrate 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) Wie kann man den Fehler in Gradientenrichtung auswerten?
- (2) Wie verwendet man eine Lernrate, wenn sich der Fehler in einem Iterationsschritt vergrößert.
Zielsetzung
[Bearbeiten]Diese Lernressource behandelt im Kontext der Mehrdimensionale lineare Regression die Fehlerminimierung und die Anpassung der Lernrate. Dabei soll die Fehlerminimierung und Anpassung der Lernrate in R und KnitR implementiert werden.
Zielgruppe
[Bearbeiten]Die Zielgruppe der Lernressource zum Thema Fehlerminimierung und Lernrate für eine mehrdimensionale lineare Regression sind Lehramtstudierende, die die mehrdimensionale lineare Regression für die Klassifizierung in digitalen Lernumgebungen einsetzen möchten.
Aufgaben für Lernende / Studierende
[Bearbeiten]Mit den folgenden Aufgaben zum Thema Mehrdimensionale lineare Regression Fehlerminimierung und Lernrate werden:
- Erläutern Sie, wie man einen Gradienten einer Fehlerfunktion einsetzen kann, um die Fehlerfunktion zu minimieren!
- Wie berechnet man eine Fehlerfunktion und den Gradienten einer Fehlerfunktion bei einer mehrdimensionalen linearen Regression?
Fehlerminimierung in Gradientenrichtung
[Bearbeiten]Die folgende Funktion wertet die Funktion in Gradientenrichtung an evalcount=100 Stellen aus liefert den Vektor zurück an dem die Fehlerfunktion den kleinsten Fehler hat. Die Funktion find_min4error(...) wird dabei für einen Iterationsschritt in Gradientenrichtung verwendet.
Parameter der Fehlerminimierungsfunktion
[Bearbeiten]Die folgende Fehlerminimierungsfunktion besitzt die folgenden Parameter:
- pError ist die Fehlerfunktion, mit der der Fehler berechnet werden soll
- pGrad ist der Gradient der Fehlerfunktion,
- pa ist der aktuelle Vektor , für den ein Minimium der Fehlerfunktion gesucht wird.
- alpha ist die Lernrate
Funktionsdefinition
[Bearbeiten]find_min4error <- function (pError, pGrad, pa, px_D, py_D, alpha=1, evalcount=100) {
## Parameter pError: Fehlerfunktion pGrad: Gradient der Fehlerfunktion
## px_D,py_D: x- bzw. y-Vektoren der Daten
return <- rep(0,2) ### return <- c(0,0);
## erste Komponente von return Skalar lambda für den Gradienten
## zweite Komponente von return ist der minimale Fehler in Gradientenrichtung
s4a <- (-evalcount:evalcount)/evalcount
#s4a <- 2*runif(2*evalcount+1,-1,1)
E4a <- rep(0,2*evalcount+1) ## +1 wegen x4a=0
## smin - Skalar für Gradient für das Minimum der berechneten Fehler
scalar4min <- s4a[1] ### ersten smin-Wert setzen - hier -1
### Fehler in pa berechnen als Startwert
error4min <- pError( pa, px_D, py_D )
grad4a <- alpha * pGrad( pa, px_D, py_D )
## in Gradientenrichtung auswerten zwischen -1*pGrad und +1*Grad
## die Fehlerfunktion auswerten und über die x4a-Liste iterieren
for (k in 1:length(s4a)) {
## Fehler für den um x4a[k] skalierten Gradienten pGrad
## und die Daten px_D, py_D berechnen
E4a[k] <- pError(pa + s4a[k]*grad4a, px_D, py_D)
## Überprüfen, ob der Fehler kleiner ist als der
## bisher berechnete minimale Fehler errormin
if (E4a[k] < error4min) {
error4min <-E4a[k]
scalar4min <-s4a[k]
}
}
# plot(s4a,E4a)
return <- c(scalar4min,error4min)
## Rückgabewert des Skalars für den Gradienten und dem minimalen Fehler
return
}
Normierte Gradient
[Bearbeiten]normGradE_LR <- function (pa,px_D,py_D) {
g_LR <- GradE_LR(pa,px_D,py_D)
norm4g <- norm(g_LR,"2")
return <- g_LR
if (norm4g > 0) {
return <- g_LR / norm4g
} else {
print("Gradient ist Nullvektor")
}
## Rückgabewert: normierter Gradient, wenn kein Nullvektor
## Sonst Nullvektor als Rückgabewert
return
}
Literatur/Quellennachweise
[Bearbeiten]
Siehe auch
[Bearbeiten]Seiteninformation
[Bearbeiten]Diese Lernresource können Sie als Wiki2Reveal-Foliensatz darstellen.
Wiki2Reveal
[Bearbeiten]Dieser Wiki2Reveal Foliensatz wurde für den Lerneinheit Mehrdimensionale lineare Regression' erstellt der Link für die Wiki2Reveal-Folien wurde mit dem Wiki2Reveal-Linkgenerator erstellt.
- Die Seite wurde als Dokumententyp PanDocElectron-SLIDE erstellt.
- Link zur Quelle in Wikiversity: https://de.wikiversity.org/wiki/Mehrdimensionale%20lineare%20Regression/Fehlerminimierung%20und%20Lernrate
- siehe auch weitere Informationen zu Wiki2Reveal und unter Wiki2Reveal-Linkgenerator.