1286 字
6 分钟
[模式识别与机器学习] 特征提取
特征选择
单变量选择
独立计算每个特征向量的得分,选择得分最高的m个特征
缺点:不能捕捉特征之间的相关性
搜索法
- 前向选择:从空特征集开始,每次添加一个特征,直到达到预定数量或性能不再提升
- 后向消除:从全特征集开始,每次删除一个特征,直到达到预定数量或性能不再提升
- 双向搜索:结合前向选择和后向消除
嵌入式方法
- SVM-RFE(递归特征消除):训练SVM模型,根据权重大小递归地消除特征(得到的支持向量就是重要的特征)
- L1正则化(Lasso回归):通过引入L1正则项,使得一些特征的权重变为零,从而实现特征选择
相关性评价
熵(信息熵)
联合熵
Kullback-Leibler散度
- 非负性
- KL散度为0: PQ同分布
- 不对称
Jensen-Shannon散度
- 非负性
- JS散度为0: PQ同分布
- 对称
特征提取(线性方法)
主成分分析(PCA)
别名:离散K-L变换,Hotelling变换
无监督学习,寻找数据中方差最大的方向作为新的特征轴,实现降维。
核心思想
将 维数据投影到 维子空间 (),使得投影后的数据方差最大化(或重构误差最小化)。
数学推导
给定中心化后的数据矩阵 (每行为一个样本,已减去均值),协方差矩阵为:
寻找投影方向 ,使得投影后方差最大:
由拉格朗日乘子法得 ,即 为 的特征向量, 为对应特征值。
算法步骤
- 对数据中心化:
- 计算协方差矩阵
- 对 进行特征值分解,得到特征值 及对应特征向量
- 取前 个最大特征值对应的特征向量构成投影矩阵
- 得到降维后数据:
方差解释率
第 个主成分的方差解释率为 ,前 个主成分的累积方差解释率为 ,常以此选择 。
SVD 实现
实际中通过对 进行 SVD 分解 实现, 的列即为主成分方向,计算更稳定。
性质与局限
- 无监督,不使用标签信息
- 假设数据分布为高斯分布
- 对离群点敏感
- 仅能捕获线性结构
- 主成分方向通常是不可解释的(每个主成分是所有原始特征的线性组合)
线性判别分析(LDA/FDA)
别名:Fisher判别分析(FDA)
有监督学习,寻找能够最大化类间散度与最小化类内散度的线性组合,以保留类别可分性。
核心思想
与 PCA 最大化整体方差不同,LDA 利用标签信息,找到使类间距离最大、类内距离最小的投影方向。
散度矩阵
给定 类数据,第 类样本集 ,样本数 ,均值 ,全局均值 :
-
类内散度矩阵(反映类内紧密程度):
-
类间散度矩阵(反映类间分离程度):
-
总体散度矩阵:
Fisher 准则
寻找投影方向 ,最大化 Fisher 准则:
等价于求解广义特征值问题:
投影方向 为 的最大特征值对应的特征向量。
算法步骤
- 计算每类均值 和全局均值
- 计算 和
- 求解 的特征值问题
- 取前 个最大特征值对应的特征向量构成投影矩阵
- 得到降维后数据:
降维上限
的秩最多为 ,因此 LDA 最多将数据降至 维,与原始维度无关。
局限
- 小样本问题:样本数小于特征数时 奇异,不可逆
- 假设各类的协方差矩阵相同(类内分布相同)
- 对非高斯分布数据效果较差
- 降维维度受类别数限制
PCA vs LDA
| 特性 | PCA | LDA |
|---|---|---|
| 监督性 | 无监督 | 有监督 |
| 目标 | 最大化方差 | 最大化类间/类内散度比 |
| 利用标签 | 否 | 是 |
| 降维上限 | ||
| 适用场景 | 数据压缩、可视化 | 分类预处理、特征提取 |
特征提取(非线性方法)
流形学习
假设数据在低维流形上分布,寻找一个映射将数据从高维空间映射到低维空间,同时保持局部结构
核特征提取
通过核函数将数据映射到高维特征空间,在高维空间中进行PCA
[模式识别与机器学习] 特征提取
https://alkaid114.github.io/posts/ml/feature_extraction/