【发布时间】:2021-02-20 22:45:28
【问题描述】:
我目前正在尝试使用梯度下降创建岭回归代码。
我的代码是这样的:
def gd_ridge(X, Y, beta, iter, learning_rate, lambda):
m = X.shape[0]
past_costs = []
past_betas = [beta]
for i in range(iter):
pred = np.dot(X, beta)
err = pred - Y
cost = cost_reg(Yhat1, train_data_Y, lambda)
past_costs.append(cost)
beta = beta - learning_rate * 1/m * np.dot(f(X,beta)-Y,X) + lambda/m * beta
past_betas.append(beta)
使用 l = 正则化超参数。
但我的测试版总是出错:
不能将序列乘以“浮点”类型的非整数
谁能帮我解决这个问题?我尝试了不同的方程式,但最终得到了相同的错误。
【问题讨论】:
-
您的代码不可能有效,因为
lambda是 Python 关键字。 -
谢谢!我试图将其更改为“l”,但错误是相同的:(
-
我把上面的代码改成了'l'。
标签: python regression gradient-descent