我正在编写一个线性回归模型,但 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,但都给出了相同的错误。
谢谢!