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