问题在于,
LinearRegressionWithSGD使用随机梯度下降(SGD)来优化线性模型的权重向量。SGD对于提供
stepSize的用于更新中间解决方案的方法确实很敏感。
SGD的作用是给
g定输入点和当前权重的样本,计算成本函数的梯度
w。为了更新权重,
w您需要沿的相反方向走一段距离
g。距离是您的步长
s。
w(i+1) = w(i) - s * g
由于您未提供明确的步长值,因此MLlib假定为
stepSize =1。这似乎不适用于您的用例。我建议您尝试使用不同的步长(通常是较低的值),以了解
LinearRegressionWithSGD其行为方式:
LinearRegressionWithSGD.train(parsedData, numIterartions = 10, stepSize = 0.001)



