abess(自适应最优子集选择,英文全称 Adaptive Best Subset Selection,亦简称 ABESS)是一种机器学习方法,旨在解决统计建模中的最优子集选择问题。给定数据集和预测任务,它能够确定哪些特征或变量对实现最佳模型性能至关重要。该方法由朱(Zhu)于2020年提出,能够自适应地动态选择适当的模型规模,从而无需选择正则化参数。abess适用于多种统计和机器学习任务,包括线性回归、单指标模型及其他常见预测模型,也可应用于生物统计学领域。
abess的核心创新在于其能够在L0范数约束下以多项式时间复杂度执行最优子集选择,同时提供无偏且一致的估计。与需要调整惩罚参数的传统正则化方法不同,abess通过迭代交换算法自适应地确定支持集大小,这使其在高维数据分析中尤为具有吸引力。
基本形式
abess的基本形式解决了一般线性回归中的最优子集选择问题。它是一种L0方法,具有多项式时间复杂度以及提供无偏且一致估计的特性。在线性回归的背景下,假设我们已知n个独立样本(x_i, y_i),其中i = 1, ..., n,x_i为p维向量,y_i为标量响应。定义X为n乘p的设计矩阵,y为n维响应向量。一般线性回归模型表示为y = Xβ + ε,其中β为系数向量,ε为误差项。
为获得适当的参数β,需考虑线性回归的损失函数:L_n^LR(β; X, y) = (1/(2n)) ||y - Xβ||_2^2。在abess中,初始重点是优化此损失函数并满足L0约束,即求解问题:在||β||_0 ≤ s的约束下最小化L_n^LR(β; X, y),其中s表示期望的支持集大小,||β||_0 = 指标函数(β_i ≠ 0)之和为向量的L0范数。
算法与牺牲概念
为解决优化问题,abess在活动集和非活动集之间迭代交换相同数量的变量。在每次迭代中,引入牺牲概念。对于活动集中的每个变量j,牺牲ξ_j定义为当变量j从活动集中移除时损失函数的增加量:ξ_j = L_n^LR(β_hat_{A \ {j}}) - L_n^LR(β_hat_A),其中A为当前活动集,β_hat_A为限制在A上的估计系数向量。
算法通过计算活动集中所有变量的牺牲值,然后识别具有最小牺牲值的变量(即移除时损失增加最小的变量)来进行。同时,它评估非活动集中可能添加的候选变量。交换步骤将最不重要的活动变量替换为最有希望的非活动候选变量,保持支持集大小s不变。此过程持续进行直至收敛,通常通过损失函数的变化或活动集的稳定性来衡量。
自适应模型规模选择
abess的一个显著特征是其对模型规模s的自适应选择,这消除了使用交叉验证或信息准则来选择变量数量的需要。该方法从较小的支持集大小开始,在监控损失函数改善的同时逐步增加规模。它使用基于拟合优度与模型复杂度之间权衡的准则,通常采用修正的贝叶斯信息准则(BIC)或类似的适应数据的惩罚项。
这种自适应方法在计算上高效,因为它避免了为一系列s值拟合模型。相反,abess利用随着s增加而变化的解路径,重用先前迭代的计算结果。当拟合的边际改善低于阈值或信息准则达到最小值时,选择最终模型规模。
理论性质
abess提供了若干理论保证,使其区别于其他变量选择方法。在标准正则条件下,该方法实现估计一致性和变量选择一致性,这意味着随着样本量增长,估计系数收敛于真实值,且所选支持集以趋近于1的概率匹配真实活动集。多项式时间复杂度是相对于穷举最优子集选择(通常为NP难问题)的显著优势。
无偏性源于L0惩罚不会收缩所选变量的系数,这与基于L1的方法(如套索)不同,后者通过收缩引入偏差。这使得abess在无偏系数估计对解释或下游推断至关重要时尤为具有吸引力。
回归及其他应用
abess适用于线性回归之外的广泛统计模型。在单指标模型的背景下,abess可扩展为在估计未知联系函数的同时选择相关协变量。该方法已适配广义线性模型,包括逻辑回归和泊松回归,其中损失函数相应修改。在生物统计学中,abess已用于生物标志物发现,其中识别一小部分预测性基因或临床变量至关重要。
该方法还处理高维设置,其中预测变量数量p可能远超样本量n。在此类场景中,自适应选择机制和交换算法在保持计算可行性的同时提供可靠的变量选择。
软件实现
abess方法在开源R包中实现,该包亦名为abess,提供线性回归、逻辑回归及其他模型的函数。该包包含核心算法的高效C++代码,适用于大规模数据集。用户可指定最大支持集大小或让自适应过程自动确定。该包还提供解路径的可视化工具和诊断图。
与其他方法的比较
与基于正则化的方法(如套索和弹性网络)相比,abess具有无偏估计和无需调整参数的自动模型规模选择的优势。然而,对于非常大的p,其计算量可能比套索更密集,尽管多项式时间复杂度缓解了这一担忧。与贪婪算法(如正交匹配追踪)相比,abess提供了更原理化的交换机制,能够逃离局部最优。
局限性与扩展
尽管abess功能强大,但它假设线性模型或其扩展成立,且L0约束适用于问题。对于高度非线性关系,可能需要使用基展开或核方法的扩展。研究持续探索将abess扩展到更复杂的模型,包括深度学习架构和神经网络设置,其中特征选择集成到训练过程中。
参见
参考文献
朱,J.(2020)。abess:自适应最优子集选择。(原始介绍论文)
外部链接
- CRAN上的R包abess(根据指南此处不链接)