使用Scala和Breeze实现梯度下降-错误:找不到参数op的隐式值:

使用Scala和Breeze实现梯度下降-错误:找不到参数op的隐式值:,scala,breeze,gradient-descent,Scala,Breeze,Gradient Descent,我正在尝试在Scala和breeze中应用基于倍频程的梯度下降实现,来自: 我试图重写的倍频程代码是: theta = theta -((1/m) * ((X * theta) - y)' * X)' * alpha; 我想到了: val xv = DenseVector[Double](1.0, 1.0) val yv = DenseVector[Double](1.0, 1.0) val mymatrix : DenseMatrix[Double

我正在尝试在Scala和breeze中应用基于倍频程的梯度下降实现,来自:

我试图重写的倍频程代码是:

theta = theta -((1/m) * ((X * theta) - y)' * X)' * alpha;
我想到了:

  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)
但我收到一个编译时错误:

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.
我是否使用Scala和Breeze正确实现了梯度下降

似乎我需要为
-
操作符提供一个隐式for

    val myvalue = (mymatrix - ((1 / m) * (( (xv * mymatrix - yv).t * xv).t * .0001)
xv
是向量,
mymatrix
不支持的矩阵。 这就是你所遇到的错误