我正在尝试运行一个函数,该函数返回以特定参数值评估的OLS的MSE函数的梯度向量。 但是,它没有给我正确的输出。我尝试使用具有单一特征的X向量,但没有给我一个包含两个项的矩阵(每个派生$ \ beta_0 $和$ \ beta_1 $的导数,而是给了我一个与X大小相同的矩阵。 有人可以帮我吗?
def compute_gradient(X, Y, beta):
mat_one = np.ones([X.shape[0],1])
gradient = np.empty([X.shape[0],])
X = X.reshape(50,1)
mat_one = mat_one.reshape(50,1)
X1 = np.concatenate((mat_one,X),axis=1)
if(X1.shape[0]==Y.shape[0] & X1.shape[1]==beta.shape[1]):
for i in range(k):
gradient[i] = -2*np.sum((Y - X1 @ beta.T)*X1[i])/len(X1)
return gradient