线性回归:线适合,但成本似乎增加了

问题描述 投票:-1回答:1

我正在尝试实现线性回归,但是当我绘制成本时,该值最初会下降,然后在大约10,000次迭代后开始非常缓慢地开始增加。奇怪的是,随着迭代次数的增加,该行更适合数据,但成本仍在上升。

我假设我在计算成本或绘制成本时做错了事,但我无法弄清楚。我尝试了较小的学习率,但发生的事情却相同,只是速度较慢。

GitHub Gist of the notebook

python numpy machine-learning linear-regression
1个回答
0
投票

我认为您的成本函数是错误的。您正在使用x_pred获取y_predict,然后将y_predicty_actual进行比较,但y_actual值对应于x,而不是x_pred

您的代码:


def cost_fxn(alpha, beta, y_actual):
    cost = 0
    y_predict = y_pred(alpha, beta, x_pred)
    for i in range(100):
        sq_error = (y_actual[i] - y_predict[i])**2
        cost += sq_error
    return cost/(2*100)

应该是:


def cost_fxn(alpha, beta, y_actual):
    cost = 0
    y_predict = y_pred(alpha, beta, x)
    for i in range(100):
        sq_error = (y_actual[i] - y_predict[i])**2
        cost += sq_error
    return cost/(2*100)

我运行了这段代码并得到:enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.