TKDE2023: 未知噪声下鲁棒的线性回归特征选择方法

首发于【飞鸟CS】公众平台原文​​​​​​​

动机

线性回归模型形式简单,易于估计。但是不相关的特征会带来过拟合的问题,对此通常会添加正则项实现特征选择。不幸的是,传统的回归特征选择方法可能不适用于具有噪声的数据集上进行的线性回归。已有算法通常将数据集中的噪声拟合成某一种固定的分布,但是现实情况下,数据集中的噪声很难服从单一分布。因此已有算法在相关的特征选择任务中效果仍然不够理想。基于此,作者提出了MoG-Lasso (Mixture of Gaussian-Lasso)未知噪声下鲁棒的线性回归特征选择方法,将数据集中噪声拟合成若干组独立的高斯噪声的加和,进而进行更加精准的Lasso线性回归特征选择。

代表性的回归算法

1) 一般线性回归:设y_i=X_{i}^{T}\beta+\varepsilon _i\beta是代求向量,注意\varepsilon _i是一个正态分布的截断误差(本文中创新点即围绕\varepsilon _i展开)。线性回归问题转化为最小二乘估计(方程1):

min_\beta \sum_{i=1}^{n}\left ( y_i-\sum_{j=1}^{p}x_{ij} \beta_j\right )^2

一般线性回归模型非常容易陷入过拟合(图1)

图1

2) Lasso线性回归:Lasso线性回归在一定程度上缓解了过拟合的情况,它通过在方程1中添加一个正则项使得通过Lasso线性回归得到的\beta中相当数量的参数归0,只保留一部分关键的参数,进而达到特征选择的目的。选择特征的个数与如下式(方程2)中Lambda的选取有关,Lambda越大,特征个数越少。

min_\beta \sum_{i=1}^{n}\left ( y_i-\sum_{j=1}^{p}x_{ij} \beta_j\right )^2+\lambda ||B||_1

此外,Lasso的求解可以通过Least Angle Regression (LARS)、Homotopy和coordinate descent等方法。

3) LADE模型:LADE对于“重尾”噪声比之前的模型敏感度更差,意味着在这类噪声存在的时候LADE模型比之前的模型鲁棒性要好。对应的最优目标方程:

min_\beta \sum_{i=1}^{n} | y_i-\sum_{j=1}^{p}x_{ij} \beta_j |

 4) LADE-Lasso:在LADE目标最有方程中也添加Lasso回归中的正则项即得到LADE-Lasso模型,其最优目标方程:

min_\beta \sum_{i=1}^{n} | y_i-\sum_{j=1}^{p}x_{ij} \beta_j |+\lambda ||B||_1

 未知噪声建模 ——Mixture of Gaussian

假设\varepsilon _i服从新的分布,这个分布式K个高斯分布加权之和,即\varepsilon _i \sim \sum_{k=1}^{K}\pi _kN(0, \sigma^2),其中\sum_{k=1}^{K} = 1N(0, \sigma^2)代表均值为1,方差为\sigma^2的正态分布(高斯分布)。本论文对未知噪声用MoG来代替一般线性回归中采用单一的正态分布来表示截断误差。好处在于,即便仍然能够找到一些MoG不能够表示的噪声组合存在,但是这种拟合显然比之前的做法合理和灵活。线性回归效果理论上也会有巨大的提升。

K的选取

算法规定,首先,K被选择一个相对较大的值(e.g. K=6)。接下来,在每次迭代过程中,基于\varepsilon _i计算出K个正态分布的情况,当满足\frac{|\sigma_{i}^{2}-\sigma_{j}^{2}|}{\sigma_{i}^{2}+\sigma_{j}^{2}}时,则

\pi _i=\pi_i + \pi_j,

\sigma_{i}^{2} = \frac{n_i\sigma_{i}^{2}+n_j\sigma_{j}^{2}}{n_i+n_j},

K=K-1, 

其中,n_in_j代表i-th和j-th个高斯分布的样本数量。

接下来,Y中的每一个因变量的概率可以被表示为p\left ( y_i|\sum_{j=1}^{p}x_{ij}\beta _j,\Pi ,\Sigma \right ),其中,\Pi =\left \{\pi_1, ..., \pi_K \right \}, \Sigma =\left \{ \sigma_1^2, ..., \sigma_K^2\right \},则Y的似然函数可以表示为

p\left ( Y|\beta,\Pi, \Sigma \right )=\prod_{i=1}^{n}p\left ( y_i|\sum_{j=1}^{p}x_{ij}\beta _j,\Pi ,\Sigma \right )

取对数并使该对数似然达到最大对应的\beta即为所求线性回归系数:

max_{\beta, \Pi, \Sigma}L(\beta, \Pi, \Sigma)=\sum_{i=1}^{n}log\left [ p\left ( y_i|\sum_{j=1}^{p}x_{ij}\beta _j,\Pi ,\Sigma \right ) \right ]

下面的问题就是如何求解最大对数似然函数

MoG-Lasso模型

采用EM算法来优化Y的对数似然函数。EM算法是对具有潜在变量的概率模型的最大似然估计,并且它通过迭代地最大化对数似然函数的下限来实现对数似然函数的最大化。在EM算法中,将下界转化为“Q函数”。

在E步计算\varepsilon _i对MoG分布中第k个分量的相应\gamma_{ik},在M步中完成损失函数形式的确定和MoG参数及回归系数\beta的估计。

E步:

假设模型中的潜变量是z_{ik}z_{ik}=\left \{ 0, 1 \right \}\sum_{i=1}^{K}z_{ik} = 1

z_{ik}=\left\{\begin{matrix} 1, \varepsilon _i comes from k-th component\\ 0, otherwise \end{matrix}\right.

第k个分量公式生成噪声\varepsilon _i的后验是:

根据对数似然函数和(11),通过推导得到Q函数,即

最大化Q函数可以最大化对数似然函数。然后,在M步骤中,在优化Q函数的过程中确定MoG-LASSO模型。

M步(\Pi, \Sigma)

通过Q函数的最大化完成对MoG参数的估计。MoG参数的闭合形式如下:

 M步(\beta)

\beta相关的Q函数的分量可以重写如下:

很容易观察到,最大化MoG噪声的对数似然函数需要最小化加权平方损失函数。因此,根据M-估计和贝叶斯,当数据集包含未知噪声时,损失函数的形式应该是加权平方损失,即,

 其中,

为了避免陷入过拟合,所提出的MoG-LASSO模型采用L1范数正则化项,可以同时完成特征选择。MoG-LASSO的优化方程变成:

更新后的回归系数\beta将在每次迭代中返回E步。通过E步和M步交替,在每个循环中估计MoG的好参数下的回归系数和估计好回归系数下的参数。它的迭代过程总是朝着更好的回归系数估计方向进行。此外,在未知噪声的模型的MoG分布,贝叶斯最大后验估计将实现更新的参数的MoG。因此,MoG-LASSO能很好地降低未知噪声的影响,具有较好的鲁棒性。

MoG-Lasso优化

采用交替搜索策略(ASS)迭代求解MOG-LASSO优化问题。ASS算法首先将变量划分为两个互不相交的块,然后在另一个固定的块下交替优化。在MoG-LASSO的每个周期中,在固定的\beta下首先更新MoG的参数。然后,在固定的MoG参数下更新\beta。当获得满意的结果时,重复的过程将结束。根据以下优化目标函数更新\beta

这个优化问题采用坐标下降法解决:

\beta求导得:

令导数为0,得:

 令

有:

MoG-Lasso算法

首先,MoG-LASSO在E步骤中计算责任\gamma_{ik},并在M步骤中更新MoG的参数(\Pi\Sigma)。第二,在M步(\beta)中更新加权损失函数下更新回归系数。最后,更新高斯数K。MoG-LASSO算法交替迭代E步和M步,直到两次连续迭代之间的B的变化小于预定阈值或达到最大迭代次数。由于EM算法[39]在估计包含潜变量的概率模型的参数时可以选择任何值作为初始参数值,因此MoG-LASSO随机地对MoG的参数进行初始化。该算法的输出是最终的回归系数。

实验结果

论文在人工数据集、真实基准数据集上进行了实验,这里以人工数据集为例,人工数据集情况如下:

 MSE代表着预测得回归系数与真实情况得误差。

实验以模型识别到的不相关特征为评价指标,前4种方法因为所有系数均非0,因此,成果识别得不相关特征个数为0。在后四种方法中,只有Lasso和MoG-Lasso结果较为突出。

尽管Lasso识别到的非相关特征甚至高于MoG-Lasso,但是在MSE方面,MoG-Lasso效果明显好于Lasso,这样的结果验证了MoG-Lasso的优势。

  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值