我正在计算linear regression with weight-decay的权重,即通常我试图查找beta = (X'X + lambda I)^-1 X'Y
X
每行有n
行D
个Y
是X
每行的输出向量。
通过使用以下方法,我一直没有偏见:
def wd_fit(A, y, lamb=0):
n_col = A.shape[1]
return np.linalg.lstsq(A.T.dot(A) + lamb * np.identity(n_col), A.T.dot(y))
我还想计算拟合的偏差或截距项,而不是让它通过原点。我想对lstsq保持相同的调用,所以如果我可以执行一些矩阵变换,那将是理想的。我倾向于在某处附加1s 的列,以便X_mod
说具有D+1
特征,其中最后一个与拦截值相关,但我不太确定应该在哪里,或者即使它是正确的。
答案 0 :(得分:0)
如果您不想对变量进行中心定位,那么添加一列变量将起作用,这是一个完全可以接受的解决方案。
偏差项只是添加列位置的系数。