在处理高维稀疏数据时,选择合适的模型对于特征选择和模型预测能力至关重要。本文将比较Lasso、自动相关性确定(ARD)和弹性网络(ElasticNet)三种模型在合成数据集上的性能。这些数据集包含稀疏且相关的特性,并且进一步受到高斯噪声的干扰。
生成了一个样本数量少于总特征数量的数据集,导致一个欠定系统,即解决方案不是唯一的。因此,不能单独应用普通最小二乘法。正则化通过向目标函数引入惩罚项来修改优化问题,有助于缓解系统的欠定性质。
目标变量y
是正弦信号的线性组合,这些信号的频率交替变化。在生成y
时,仅使用了X
中100个频率中的最低10个,而其余特征则不具有信息量。这导致了一个高维稀疏特征空间,在其中一定程度的l1
惩罚是必要的。
比较了三种模型在R^2
得分、拟合时间和与真实系数相比估计系数的稀疏性方面的性能。
Lasso模型在数据维度增长时,其估计值接近模型选择估计值,前提是不相关变量与相关变量之间的相关性不大。然而,在存在相关特征的情况下,Lasso本身无法选择正确的稀疏性模式。
ARD回归是Lasso的贝叶斯版本,它可以为所有参数(包括误差方差)生成区间估计,如果需要的话。当信号具有高斯噪声时,这是一个合适的选择。
ElasticNet是Lasso和Ridge之间的中间地带,因为它结合了L1和L2惩罚。正则化的程度由两个超参数l1_ratio
和alpha
控制。对于l1_ratio=0
,惩罚是纯L2,模型等同于Ridge。类似地,l1_ratio=1
是纯L1惩罚,模型等同于Lasso。对于0
在本节中,使用热图来可视化真实系数和各自线性模型估计系数的稀疏性。
Lasso能够有效地恢复稀疏数据,但在处理高度相关的特征时表现不佳。实际上,如果几个相关特征对目标有贡献,Lasso最终会选择它们中的一个。在稀疏但非相关特征的情况下,Lasso模型将更加适用。
ElasticNet在系数上引入了一些稀疏性,并将它们的值缩小到零。因此,在存在对目标有贡献的相关特征的情况下,模型仍然能够减少它们的权重,而不必将它们精确地设置为零。这导致了一个比纯Lasso模型更不稀疏的模型,并且可能捕获非预测性特征。
ARD回归在处理高斯噪声时更好,但仍然无法处理相关特征,并且由于拟合先验,需要更多的时间。