在机器学习中,特征选择是一种过程,旨在从变数或预测因子中筛选出一组相关特征,以用于模型构建。透过特征选择的技术,研究人员可以从数据中选择最具相关性的特征,实现对模型的简化,使其更易于解释,缩短模型训练的时间。通常情况下,数据集中可能存在冗余或不相关的特征,而通过有效的特征选择过程,可以在很大程度上减少这些特征,从而达到缩短训练时间的目的。
特征选择的核心前提是,有时数据可能包含冗余的或无关的特征,这些特征可以被移除而不会造成信息的大幅损失。在数据分析中,「冗余」和「无关」是两个不同的概念。例如,某个特征在存在另一个强相关特征的情况下,可能被视为冗余。
特征提取的目的是从原始特征中生成新的特征,而特征选择则是寻找到一组特征的子集。
目前,特征选择方法主要可分为三大类:包装法、过滤法及嵌入法。包装法使用预测模型来评分特征子集,对每一新的子集进行模型训练,并在验证集上进行测试。这种方法虽然计算密集,但通常能为特定类型模型或典型问题提供最佳性能的特征集。
过滤法则是使用快速可计算的代理指标来评分特征子集,通常会考量互信息、皮尔森相关系数等指标。
尽管包装法和过滤法都能进行特征选择,但二者在计算效率及结果表现上有所不同。包装法可能因为训练新模型而消耗大量计算资源,从而风险上升至过拟合;而过滤法则较为高效,并能生产不针对特定预测模型的特征集,这使得其结果更具普遍性。过滤法产生的特征集不受预测模型的假设限制,有助于揭示特征之间的关系。
嵌入法是一种将特征选择过程与模型构建结合起来的技术。这种方法的典型例子为LASSO法,其中通过L1惩罚缩小回归系数,以选择出具有非零回归系数的特征。这类方法的计算复杂度介于包装法和过滤法之间。
次集选择算法评估特征的子集以选择整体特征组合的适合性。这些算法同样可以划分为包装法、过滤法和嵌入法,并常运用贪婪上升的搜索方式来搜寻最有效的特征子集。尽管彻底的搜索通常不切实际,但透过设置某个控制点来选择得分最高的特征集,是一种有效的解决方案。
有效的特征选择能够显著减少模型的计算负担,从而加速训练过程。
在特征选择过程中,选择合适的最佳标准是颇具挑战性的,因为涉及多重目标。许多标准考虑准确性,并惩罚所选特征的数量。此外,特征选择被视为更一般的结构学习的一种特例,通过构建图形模型来找到变量之间的关系。
许多基于互信息的方法用于评分不同特征,如最小冗余最大相关性(mRMR)方法,可以通过互信息、相关性或距离/相似性分数来选择特征。此方法不仅能提高模型效率,还能揭示特征之间的关系,有助于模型的解释和透明度。
面对日益复杂的数据环境,能否通过进一步理解特征选择的原理来优化模型训练,从而提高效率与准确性?