7.1 概述
机器学习算法的有效性和计算复杂度是敏感于数据的特征表达和维度
数据的降维表示方法,主要包括特征选择和特征提取两种方法
特征降维的意义:
-
数据压缩
- 简化数据表示,加快数据通信传输、节省存储资源
-
学习算法效率
- 计算上,简化计算,加快速度
- 性能上,提升精确度
- 可理解性,发现数据的潜在本质特征
特征选择:从D个特征中选择d个,来表达模型
特征提取:采用特征变换的方法,生成d个新的特征
7.2 特征选择
处理过程:
- 特征子集生成
- D维特征中,选择d维特征子集,子集个数? C D d = D ! ( D − d ) ! d ! C_{D}^{d}=\frac{D!}{(D-d)!d!} CDd=(D−d)!d!D!
- 1.穷举(最优子集搜索)
- 计算特征的所有可能组合,并逐一评价
- 计算量大,适合于D较小的情况
- 2.单独最优特征组合
- 对每个特征分别评估,找前d个单独最优特征
- 优点:算法简单,缺点:没有考虑特征之间的关系,存在特征冗余
- 3.SFS(Sequential forward selection,前向序贯)
- 每次加入一个特征,该特征使得新的特征组合最优
- 特点:一旦增加,无法删除
- 4.GSFS(广义SFS)
- 每次加入k个特征,使加入特征后的组合最优
- 计算量比SFS大
- 5.SBS(Sequential backward selection,后向序贯)
- 每次减掉一个特征,使剩余特征组合最优
- 特点:一旦删除,无法增加
- 6.GSBS(广义SBS)
- 每次减k个特征,使剩余特征组合最优
- 计算量比SBS大
- 7.L-R法(增加L个,减R个)
- 每次增加L个再减R个(L>R)
- 或减R个增加L个(L<R)
- 8.广义的L-R(ZL, ZR)
- 增L和减R分Z步进行
- 特征评价准则
- 1.可分性度量
- 采用类别可分性的程度评价特征选择的好坏
- 常用于Filter框架
- 评价准则:距离准则、概率可分、熵可分原则
- (1)基于距离的可分性判据
- 通常依赖类内类间的距离度量
- 特点:容易理解和实现;与错误率无直接关系,不敏感于数据交叠情况;常用于Filter特征选择框架下
- (2)基于概率分布的可分性判据
- 从类别概率密度的角度,讨论两个类别的交叠程度
- (3)熵可分性判据
- 互信息:两个变量之间相互依存关系的强弱
- 条件互信息:在Z已知的条件下,X和Y的统计依存度
- 2.学习算法精度的度量
- 通过学习算法的精确度评价
- 常用于wrapper框架下
- 1.可分性度量
- 特征选择的框架
- Filter
- 不依赖于学习算法的结果,直接由数据构建评估函数,对选择的特征子集进行评估
- 通常方法:根据特征评价准则进行评估,选择最优的特征子集
- 评价准则:距离准则、概率可分、熵可分准则
- 优点:计算复杂度低,效率高
- 缺点:选择的特征之间存在冗余信息
- wrapper
- 通过学习算法(如分类器),对选择的特征子集进行评估
- 优点:选择的特征可以支持学习算法
- 缺点:算法的计算复杂度高
- Embedded
- 特征选择过程在学习算法中完成,目标是完成学习过程
- 特点:不是专门的特征选择过程
- 缺点:计算复杂度高
- 岭回归:引入正则项,避免过拟合
- LASSO:目标优化的同时,学习具有稀疏性的特征
- Filter
7.3 特征降维/提取
特征变换:
y=W(x)
x:D维 → \rightarrow →y:d维;D>>d
优点:
- 数据更紧致的压缩
- 优化预测性能
- 加快学习速度
应用领域广:模式识别、图像处理、信号处理、数据压缩、微波、雷达、…
线性变换
方法1:主成分分析(PCA)[KL变换,重构,不含类别标签]
P a t t e r n ≈ l o w − d i m e n s i o n a l r e p r e s e n t a t i o n ∗ e i g e n p a t t e r n s Pattern \approx low-dimensional\ representation*eigen\ patterns Pattern≈low−dimensional representation∗eigen patterns
目标:求eigen pattern
目标函数:均方误差最小原则(求最优重构子空间)
- min L , R ∣ ∣ X − L R ∣ ∣ 2 s . t . R R T = I \displaystyle \min_{L,R}||X-LR||^{2}\ \ s.t.RR^{T}=I L,Rmin∣∣X−LR∣∣2 s.t.RRT=I
如果将因子R由投影W表示, R W = I , R R T = I ⇒ R = W T RW=I,\ RR^{T}=I\ \ \Rightarrow\ \ R=W^{T} RW=I, RRT=I ⇒ R=WT
描述主成分分析的主要步骤。
答案:
(1)数据标准化。
(2)计算协方差矩阵,求协方差的特征值和特征向量。
(3)将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。
(4)将样本点投影到选取的特征向量上。
方法2:线性鉴别分析(LDA)[以可行性为目的,含类别标签]
线性鉴别分析的意义:PCA不能保证类别区分的有效性,LDA特征的优点:类内最小、类间最大
- 线性变换的直观表示:
- (x,y,w为列向量),W是D×d维,W=(w1,w2,…,wd)
- y = W T x , y T = x T W y=W^{T}x,\ \ y^{T}=x^{T}W y=WTx, yT=xTW
- 特征提取目标:学习变换矩阵
- 给定 X = ( x 1 , . . . , x n ) T X=(x_{1},...,x_{n})^{T} X=(x1,...,xn)T,通过某种降维规则,学习变换矩阵 W = ( w 1 , . . . , w d ) W=(w_{1},...,w_{d}) W=(w1,...,wd)
- L=XW
- (N×d)=(N×D)(D×d)
- W是d个基向量,向量x被映射到基向量线性张成的子空间内
- 常见的两种降维表示途径:
- 投影:L=XW
- 矩阵分解:低阶表示X=LR
- 矩阵分解X=LR的等号一定存在吗?
- 至少要rank(X)=rank®<=K
- 如果X=LR成立,两种低维表示L什么情况等价?
- 如果X=LR成立,式子两边同时右乘W:XW=LRW
- 当R行满秩,W列满秩,且当RW=I(即W= R − 1 R^{-1} R−1)时,L=XW
- 矩阵分解X=LR的等号一定存在吗?
非线性变换
方法3:核方法的特征提取KPCA、KFDA
方法4:流行学习
局部线性变换(LLE)
- 基本思想:LLE方法是一种流行学习,保持样本间的局部线性关系,整体实现非线性映射
方法5:非负矩阵分解[和PCA一个体系]
- 基本思想:通过矩阵分解,进行数据降维;分解后的矩阵为非负矩阵
- 不同的目标函数情况:
- 1、范数误差最小
- 2、K-L误差