特征选择是一种降维技术,它选择特征(预测变量)的子集,在建模一组数据时提供最好的预测能力。
特征选择可用于:
- 防止过拟合:避免使用过多的特征建模,这些特征更容易受到死记硬背的特定训练例子的影响
- 减少模型大小:使用高维数据提高计算性能,或者为内存可能有限的嵌入式部署准备模型。
- 提高解释性:使用较少的功能,这可能有助于识别那些影响模型行为的特征
有几种常见的特征选择方法。
迭代地更改特性集以优化性能或损耗
逐步回归依次添加或删除特性,直到预测没有改进为止。它与线性回归或广义线性回归算法一起使用。同样,sequ基本特征选择构建一个特性集,直到准确性(或自定义性能度量)停止改进。
基于内在特征的等级特征
这些方法估计一个特征的排名,这反过来可以用来选择排名前几位的特征。最小冗余最大相关性(MRMR)发现特征与响应变量之间的互信息最大,而特征本身的互信息最小的特征。相关方法根据Laplacian分数对特征进行排序,或使用一个单一特征是否独立于响应的统计测试来确定特征的重要性。
邻域成分分析(NCA)与ReliefF
这些方法通过最大化基于成对距离的预测精度和惩罚导致错误分类结果的预测器来确定特征权重。
学习特征重要性以及模型
一些监督机器学习算法估算培训过程中的特征重要性。这些估计可以用于培训完成后的特征。具有内置特征选择的模型包括线性SVM,提升决策树及其合奏(随机林)和广义的线性模型。同样,在套索正则化在训练过程中,收缩估计器将冗余特征的权重(系数)降为零。
MATLAB®金宝app支持以下特征选择方式:
算法 | 培训 | 模型的类型 | 准确性 | 警告 |
---|---|---|---|---|
NCA | 缓和 | 更适合基于距离的模型 | 高的 | 需要手动调优正则化lambda |
MRMR | 快 | 任何 | 高的 | 仅限分类 |
ReliefF | 缓和 | 更适合基于距离的模型 | 媒介 | 无法区分相关预测器 |
顺序 | 慢 | 任何 | 高的 | 没有排名所有功能 |
方差齐性检验 | 快 | 任何 | 媒介 | 为了回归。无法区分相关预测因子。 |
卡方 | 快 | 任何 | 媒介 | 的分类。无法区分相关预测因子。 |
作为特征选择的替代,功能转换技术将现有功能转换为具有丢弃的描述性功能较少的新功能(预测变量)。功能转换方法包括:
有关MATLAB特征选择的更多信息,包括机器学习、回归和转换,请参阅统计和机器学习工具箱™。
关键点
- 特征选择是一种提高模型性能(特别是高维数据)、提高可解释性和减小尺寸的先进技术。
- 首先考虑一个具有“内置”特性选择的模型。否则,MRMR对于分类非常有效。
例子
特征选择可以从小波散射自动生成的数百个特征中选择一个合理的子集。下图是应用MATLAB函数得到的前50个特征的排名FSCMRMR.
从人体活动传感器数据中自动生成小波特征。