ABESS中向后牺牲公式推导
时间: 2024-01-14 14:03:36 浏览: 30
ABESS (Adaptive Backward Elimination with Shrinkage) 是一种特征选择方法,它通过向后逐步删除特征来减小模型的复杂度,并通过缩小系数来提高模型的泛化能力。其中,向后牺牲是指将某些特征从模型中删除,以提高其他特征的重要性。
下面是 ABESS 中向后牺牲公式的推导:
假设我们有一个线性回归模型:
$$y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p + \epsilon$$
其中,$y$ 是目标变量,$x_1, x_2, \cdots, x_p$ 是 $p$ 个特征,$\beta_0, \beta_1, \beta_2, \cdots, \beta_p$ 是系数,$\epsilon$ 是误差项。
我们使用最小二乘法来估计系数,得到的系数估计值为 $\hat{\beta}_0, \hat{\beta}_1, \hat{\beta}_2, \cdots, \hat{\beta}_p$。我们还可以计算出每个特征的重要性,比如使用 t 统计量来计算每个特征的显著性。
现在我们想要删除一个特征 $x_j$,并重新估计模型的系数和重要性。我们可以使用以下公式:
$$\hat{\beta}_{-j} = (X_{-j}^TX_{-j})^{-1}X_{-j}^Ty$$
其中,$\hat{\beta}_{-j}$ 是删除特征 $x_j$ 后的系数估计值,$X_{-j}$ 是删除特征 $x_j$ 后的特征矩阵,$y$ 是目标变量。
我们还可以计算出每个特征的 t 统计量,来衡量每个特征的显著性。假设我们的 t 统计量为 $t_1, t_2, \cdots, t_p$,那么我们可以计算出删除特征 $x_j$ 后,其他特征的 t 统计量为:
$$t_{-j} = \frac{\hat{\beta}_{-j}}{se_{-j}}$$
其中,$se_{-j}$ 是删除特征 $x_j$ 后的标准误差。
为了确定是否删除特征 $x_j$,我们可以使用一个阈值 $t_0$,如果 $|t_j| < t_0$,则删除特征 $x_j$。
为了避免过拟合,我们可以对系数进行缩小,即加入一个惩罚项。这里使用 L1 正则化,即:
$$\hat{\beta}_{-j} = \arg\min_{\beta} \left\{ \frac{1}{2}(y-X_{-j}\beta)^T(y-X_{-j}\beta) + \lambda \sum_{i\neq j} |\beta_i| \right\}$$
其中,$\lambda$ 是正则化强度。
这个问题可以使用坐标下降法求解。具体而言,我们可以交替更新每个系数,直到收敛。对于第 $i$ 个系数 $\beta_i$,更新公式为:
$$\hat{\beta}_i = S(\frac{X_{-j}^T(y-X_{-j}\hat{\beta}_{-j})+\lambda sgn(\hat{\beta}_i)}{\|X_i\|^2})$$
其中,$S(x)$ 是软阈值函数,即:
$$S(x) = \begin{cases} x-\lambda, & x>\lambda \\ 0, & -\lambda \leq x \leq \lambda \\ x+\lambda, & x<-\lambda \end{cases}$$
这个公式可以看做是对每个系数进行了一个缩小操作,同时根据其符号进行了一个偏移操作。如果某个系数趋近于 0,那么它就会被删除。这样,我们就可以使用 ABESS 方法来进行特征选择了。