2016-06-03 2 views
0

Ich versuche, eine Gradientenabfallsaktualisierung Implementierung in Scala und Brise aus auf Octave basierend anzuwenden: Gradient Descent implementation in octaveImplementierung Gradientenabfallsaktualisierung mit Scala und Breeze - Fehler: nicht impliziten Wert für den Parameter op finden konnte:

Die Oktave Code I ist versucht, neu zu schreiben ist:

theta = theta -((1/m) * ((X * theta) - y)' * X)' * alpha; 

ich habe kommen mit:

val xv =  DenseVector[Double](1.0, 1.0) 
    val yv =  DenseVector[Double](1.0, 1.0) 
    val mymatrix : DenseMatrix[Double] = DenseMatrix((1.0,2.0) , (3.0,4.0)) 

    val myvalue = (mymatrix - ((1/m) * (((xv * mymatrix - yv).t * xv).t * .0001) 

aber im einen Kompilierung Fehler zu erhalten:

Multiple markers at this line: 
◾could not find implicit value for parameter op: breeze.linalg.operators.OpSub.Impl2[breeze.linalg.DenseMatrix[Double],breeze.linalg.DenseVector[Double],That] 
◾not enough arguments for method -: (implicit op: breeze.linalg.operators.OpSub.Impl2[breeze.linalg.DenseMatrix[Double],breeze.linalg.DenseVector[Double],That])That. Unspecified value parameter op. 

Habe ich Gradientenabstieg korrekt mit Scala und Breeze implementiert?

Es scheint, dass ich einen impliziten für - Operator bereitstellen muss?

Antwort

-1
val myvalue = (mymatrix - ((1/m) * (((xv * mymatrix - yv).t * xv).t * .0001) 

xv ist Vector und die mymatrix ist die Matrix die nicht unterstützte ist. Das ist der Fehler, den Sie haben

Verwandte Themen