/ / Implementacja gradientu z Scala i Breeze - błąd: nie można znaleźć niejawnej wartości parametru op: - scala, breeze, gradient-descent

Implementacja gradientu z Scala i Breeze - błąd: nie można znaleźć niejawnej wartości parametru op: - scala, breeze, gradient-descent

Próbuję zastosować implementację gradientowego spadku w Scali i bryzie na podstawie Octave z: Implementacja gradientowego zejścia w oktawie

Kod oktawy, który próbuję przepisać, to:

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

Wcześniej wymyśliłem:

  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)

ale otrzymuję błąd czasu kompilacji:

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.

Czy poprawnie zaimplementowałem gradientowe pochodzenie za pomocą Scali i Breeze?

Wygląda na to, że muszę podać domyślny - operator?

Odpowiedzi:

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

xv jest Vector i mymatrix jest Matryca który jest nieobsługiwane. to jest błąd, z którym się spotykasz