Ich habe den Pseudo-Code, aber ich habe immer noch Schwierigkeiten, Ridge-Regression im Online-Modus zu implementieren. Ich benutze Dualform, also weiß ich nicht, wie man ein, neben anderen Schwierigkeiten aktualisiert. Der Pseudocode ist here.Regularisierungsparameter in On-line-Ridge-Regression
Bisher habe ich folgendes geschrieben:
Eingang ist: x (1), ..., x (m) m-Vektoren und y (1), ..., y (m) Ziele .
Ausgang ist: f (x 1), ..., f (x [m]) Modellvorhersagen
Ridge.Regression<-function(m,x){
b<- rep(0,m)
A<- a * diag(nrow(x))
for (t in 1:m){
pred[,t]<- b * (solve(A) %*% x[t,])
A<- A + x[t,] %*% x[t,]
b<- y[t] * x[t,]
b<- b + (y[t] * x[t,])
return(pred)}}
Was ich oben nicht funktioniert getan. Etwas falsch mit der Initialisierung des Eingangsvektors b und der Matrix A?
Es ist nicht sinnvoll, einen konstanten Wert des Parameters a zu haben. Wir verwenden die Kreuzvalidierung beim Batch-Lernen. Was zum Online-Lernen zu verwenden?
Was genau meinen Sie mit "funktioniert nicht"? Wie testen Sie diese Funktion? Wenn Sie Fragen zu statistischen Methoden haben, sollten Sie sich besser bei [stats.se] erkundigen. – MrFlick
Ridge.Regression (m = 200, x = Daten) und a = 2, bekomme ich non-conformable Argumente in Lösung (A)% *% x [t,].x Ich habe 1 Spalte und 200 Zeilen und das gleiche für y verwendet. – Waqas