特征选择不仅可以减少特征数量、降维,使模型泛化能力更强,减少过拟合,还可以增强对特征和特征值之间的理解。
我们需要区别两个概念,一个是特征选择(feature selection),是指从 n 维空间中,选择提供信息最多的 k 个维,这个 k 维空间是原 n 维空间的子集。另外一个是特征提取(feature extraction),是将 n 维空间映射到 k 维空间中,这个 k 维空间不是原 n 维空间的子集。
特征选择的降维方式好处是可以保留原有维度特征的基础上进行降维,既能满足后续数据处理和建模需求,又能保留维度原本的业务含义,以便于业务理解和应用。对于业务分析性的应用而言,模型的可理解性和可用性很多时候要有限于模型本身的准确率、效率等技术指标。例如,决策树得到的特征规则,可以作为选择用户样本的基础条件,而这些特征规则便是基于输入的维度产生。
有哪些方法可以用于生成候选特征子集,各有什么特点
答案:
生成候选特征子集的过程是一个搜索过程,这个过程主要有3个策略,分别是穷举搜索、启发式搜索和随机搜索。
1)穷举搜索根据评价函数进行穷举所有可能的特征组合,找出其中最优的特征子集,这种方式能确保在当前评价函数下找到最优特征组合,但是显然效率很低,特别是在特征数量很大时,要进行穷举搜索几乎是不可能的。
2)启发式搜索的启发式规则在每次迭代时,决定剩下的特征是应该被选择还是被拒绝。这种方法很简单并且速度很快,主要是通过设置一些规则或者使用评价函数,缩减搜索空间,忽略不可能产生好模型的特征集,可能跳过全局最优解得到局部最优解,也可能得到全局最优解,好处是比穷举法大大提高了搜索效率。有前向选择和后向消除两种算法。
①前向选择的思路是这样的:尝试所有只使用一个属性的子集,并保留最优解。但是,接下来不是尝试所有可能的具有两个特征的子集,而只是尝试特定的两个子集组合。我们尝试包含上一轮最佳属性的两个子集。如果没有改进,就停止操作并提供最好的结果,即单一的属性。但是,如果提高了精度,就保留最好的属性,并尝试添加一个。重复此过程,直到不再需要改进。
②后向消除的操作思路与前向选择类似,但方向相反。首先从所有属性组成的子集开始。尝试每次删除一个单一属性。如果有所改善就继续操作,并且仍然把这个导致精度最大提高的属性(即去掉它精度最高的属性)忽略掉。然后继续消除一个属性来完成所有可能的组合,直到精度不再改善。
3)随机搜索在计算过程中把特征选择问题和禁忌搜索算法、模拟退火算法和遗传算法等,或随机重采样过程结合起来以概率推理和随机采样作为算法基础,基于对分类有效性的评估,在计算过程中对每个特征赋予一定的权重,然后根据自适应的阈值或者用户自定义的阈值来对特征重要性进行评估,选择大于阈值的特征。Relief系列算法是典型的代表。