【问题标题】:Linear Regression model (using Gradient Descent) does not converge on Boston Housing Dataset线性回归模型(使用梯度下降)不收敛于波士顿住房数据集
【发布时间】:2019-03-31 22:16:58
【问题描述】:

我一直试图找出为什么我的线性回归模型与 sklearn 的线性回归模型相比表现不佳。

我的线性回归模型(基于梯度下降的更新规则)

w0 = 0
w1 = 0
alpha = 0.001
N = len(xTrain)
for i in range(1000):
  yPred = w0 + w1*xTrain
  w0 = w0 - (alpha/N)* sum(yPred - yTrain)
  w1 = w1 - (alpha/N)*sum((yPred - yTrain) * xTrain)

用于绘制训练集中 x 的值和 y 的预测值的代码

#Scatter plot between x and y
plot.scatter(xTrain,yTrain, c='black')    
plot.plot(xTrain, w0+w1*xTrain, color='r')
plot.xlabel('Number of rooms')
plot.ylabel('Median value in 1000s')
plot.show()

我得到如下所示的输出https://i.stack.imgur.com/jvOfM.png

在使用 sklearn 的内置线性回归运行相同的代码时,我明白了 https://i.stack.imgur.com/jvOfM.png

谁能帮助我的模型哪里出错了?我已尝试更改多次迭代和学习率,但没有显着变化。

如果有帮助,这里是 colab 上的 ipython 笔记本:https://colab.research.google.com/drive/1c3lWKkv2lJfZAc19LiDW7oTuYuacQ3nd

非常感谢任何帮助

【问题讨论】:

    标签: python machine-learning linear-regression gradient-descent


    【解决方案1】:

    您可以设置更大的学习率,例如 0.01。并且它更多次,例如500000次。然后你会得到类似的结果。

    或者你可以用更大的数字来初始化 w1,比如 5。

    【讨论】:

    • 谢谢!在初始权重初始化期间是否有任何固定规则要遵循?还是只是反复试验?
    猜你喜欢
    • 2020-10-10
    • 2020-05-24
    • 2018-07-05
    • 2017-08-09
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    相关资源
    最近更新 更多