梯度下降不收敛

时间:2021-07-26 18:38:41

标签: python numpy gradient-descent

我正在编写一个线性回归模型,但 theta 似乎呈指数增长,最终我得到了一个 numpy 溢出错误。

def gradient_descent(X, y):
    # X ->  1460 x 2 matrix
    # y -> 1460 x 1 matrix

    # declare variables
    ALPHA = 0.000001
    NUM_ITER = 1500
    theta = np.array([[0],[0]])

    [m, n] = X.shape

    for i in range(NUM_ITER):
        # get prediction
        prediction = calculate_prediction(theta, X) # 1460 x 1 matrix

        # reassign theta
        theta = theta - ((ALPHA/m)*np.transpose(np.matmul(np.transpose(prediction-y), X)))
        print(theta)

    return theta

我同时使用这个方程更新 theta 值: https://i.stack.imgur.com/d8WBk.jpg

这些是打印的 theta 值:https://i.stack.imgur.com/zqD04.jpg

我还使用了其他 ALPHA 值,如 0.01、0.001、0.0001,但都给出了相同的错误。

谢谢!

0 个答案:

没有答案