比如我有两个变量$X_1$, $X_2$,做完线性回归之后发现它们的系数分别为
$$\beta_1=10, \beta_2=1$$
现在我对这个线性回归加$L_1$的惩罚项,也就是说模型变成了LASSO。
按照LASSO的原理,$\beta_1$和$\beta_2$应该变小。那么谁变小的幅度更大呢?还是说它们是等比例的变小?
2个回答
LASSO的loss有两项分别是likelihood和prior。Loss对于$\beta$的gradient也分成两项。来至于likelihood的gradient和问题本身相关,很难比较$grad_{\beta_1}$和$grad_{\beta_2}$的大小。我们只能比较来至于prior的gradient。
$d(|\beta|)/d\beta=sign(\beta)$
也就是说来至于prior的改变量的绝对值是一个常数$C$($C=\alpha*\lambda$,$\alpha$是learning rate,$\lambda$是拉格朗日乘数,用于平衡likelihood和prior)。假如$C=0.1,\beta_1=10,\beta_2=1$,那么$\beta_1$和$\beta_2$只通过prior能变成0的最少步数分别是100步和10步。
如果是RIDGE,来至于prior的gradient
$d(|\beta|^2)/d\beta=2\beta$
随着$\beta$的减小,改变的速度也会下降。
SofaSofa数据科学社区DS面试题库 DS面经相关讨论
随便看看