使用最小二乘法拟合权重衰减回归中的偏差
Fitting a bias in a weight decay regression using least-squares
我正在计算 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 的相同调用,所以如果我可以执行一些矩阵变换,那将是理想的。我倾向于在 某处 附加 1 列,这样 X_mod
say 就会具有 D+1
特征,其中最后一个与截距值相关,但我不太确定应该在哪里,甚至不确定它是否正确。
如果您不想对变量进行均值居中,添加一列 1 是可行的,这是一个完全可以接受的解决方案。
偏差项将只是添加列位置处的系数。
我正在计算 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 的相同调用,所以如果我可以执行一些矩阵变换,那将是理想的。我倾向于在 某处 附加 1 列,这样 X_mod
say 就会具有 D+1
特征,其中最后一个与截距值相关,但我不太确定应该在哪里,甚至不确定它是否正确。
如果您不想对变量进行均值居中,添加一列 1 是可行的,这是一个完全可以接受的解决方案。
偏差项将只是添加列位置处的系数。