嘿,我正在尝试在numpy中实现梯度下降以进行线性回归 我的损失是:
def compute_square_loss(X, y, theta):
size=len(y)
y_estimate=X.dot(theta)
y_estimate=np.array(y_estimate)
y=np.array(y)
error=y_estimate.flatten()-y.flatten()
error=(1/size)*np.sum(error**2)
return error
这是针对错误,然后针对渐变我尝试
def compute_square_loss_gradient(X, y, theta):
error=compute_square_loss(X,y,theta)
gradient = -(2.0/size) * np.dot(error,X)
return gradient
这将返回一个长度为1460(数据大小)而不是39(特征大小)的数组。有人可以告诉我如何解决这个问题吗?我正在使用MSE