为什么特征选择对于分类任务很重要?

机器算法验证 特征选择 准确性 回归策略
2022-03-04 06:09:35

我正在学习特征选择。我明白为什么它对于模型构建很重要和有用。但让我们专注于监督学习(分类)任务。为什么特征选择对于分类任务很重要?

我看到很多关于特征选择及其用于监督学习的文献,但这让我感到困惑。特征选择是关于确定要丢弃哪些特征。直觉上,丢弃一些特征似乎是弄巧成拙:它是在丢弃信息。似乎抛出信息不应该有帮助。

即使删除一些特征确实有帮助,如果我们丢弃一些特征,然后将其余的输入到监督学习算法中,为什么我们需要自己做,而不是让监督学习算法处理呢?如果某些特征没有帮助,任何体面的监督学习算法不应该隐含地发现并学习不使用该特征的模型吗?

如此直观地,我本以为特征选择将是一项毫无意义的练习,它永远不会有帮助,有时可能会造成伤害。但它被如此广泛地使用和写的事实让我怀疑我的直觉是错误的。任何人都可以提供任何直觉,为什么在进行监督学习时特征选择是有用和重要的?为什么它可以提高机器学习的性能?这是否取决于我使用的分类器?

1个回答

你的直觉是完全正确的。在大多数情况下,特征选择代表了对简单解释的渴望,这源于三个误解:

  1. 分析人员没有意识到“选择的”特征集是非常不稳定的,即非鲁棒性的,并且当在另一个数据集上完成选择过程将导致完全不同的特征集。数据通常不具备选择“正确”特征所需的信息内容。如果存在共线性,这个问题会变得更糟。
  2. 在不受控制的实验中,途径、机制和过程很复杂;人类的行为和天性是复杂的,而不是吝啬的。
  3. 要求数据告诉您哪些是重要特征以及它们之间的关系是什么,这会损害预测准确性Y对于“重要”的人。最好“使用每个变量的一点点”而不是使用所有一些变量而不使用其他变量(即,使用收缩/惩罚)。

研究这个的一些方法:

  1. 对套索弹性网络和标准二次惩罚(岭回归)之间的预测准确性进行更多比较
  2. 从随机森林中引导变量重要性度量并检查它们的稳定性
  3. 计算潜在特征等级的引导置信区间,例如,在部分的等级上χ2关联测试(或单变量 Spearman 之类的测试)ρ或萨默斯Dxy) 并看到这些置信区间非常宽,直接告知您任务的难度。我从http://biostat.mc.vanderbilt.edu/rms链接的课程笔记有一个使用 OLS 引导预测变量排序的示例。

所有这些都适用于分类和更一般和有用的预测概念。