[TOC]
主成分分析利用正交变化将可能存在相关性的原始属性转换成一组线性无关的新属性,并通过选择最重要的新属性实现降维
- 主成分分析的解满足最大方差和最小均方差两类约束条件,因而具有最大可分性和最近重构性
特征选择是选取原始特征中的一个自己用于学习任务
- 特征选择的关键问题是对特征子集的评价,主要特征选择算法包括包裹法、过滤法和嵌入法
降维&主成分分析
对于重要的属性加以重视,无关紧要的属性忽略不计,在机器学习中体现为 降维
主成分分析 :利用正交变换将一组可能存在相关性的变量转换为一组线性无关的变量,线性无关的变量就是主成分
多属性未必是好事:大样本会提供丰富的信息,但增加了数据的处理量
多数情况下,不同属性之间存在相互依赖关系,如果能够充分挖掘属性之间的相关性,属性空间的维度就可以降低
在实际的数据操作中,主成分分析解决的是 确定以何种标准确定属性的保留还是丢弃,以及 属性降维后的信息损失
从几何意义看,主成分分析是要将原始数据拟合成新的 $n$ 维椭球体,椭球体的每个轴代表这一个主成分。
轴短:所代表的主成分的方差很小
舍弃短轴相应的主成分会丢失很小的信息量
主成分分析步骤
- 数据规范化:对 $m$ 个样本的相同属性值求出算数平均值,再用原始数据减去平均数,得到规范化后的数据
- 协方差矩阵的计算:对规范化后的新样本计算不同属性之间的协方差矩阵,如果每个样本有 $n$ 个属性,得到的协方差矩阵就是 $n$ 维方阵
- 特征值分解:求解协方差矩阵的特征值和特征向量,并将特征向量归一化为单位向量
- 降维处理:将特征值按照降序排序,保留最大的 $k$ 个,再将其对应的 $k$ 个特征向量分别作为列向量组成特征向量矩阵
- 数据投影:将减去均值后的 $m\times n$ 维数据矩阵和由 $k$ 个特征向量组成的 $n\times k$ 维矩阵相乘,得到 $m\times k$ 维矩阵就是原始数据的投影
原始的 $n$ 维特征就被映射到新的 $k$ 维特征之上,这些相互正交的新特征就是主成分。
主成分分析中降维的实现不是简单的在原始特征中选择一些保留,而是利用原始特征之间的相关性重新构造出新的特征
原理
从线性空间角度理解:
主成分分析将正交空间中的样本点以最小误差映射到一个超平面上。如果这样的超平面存在,则应该具备以下性质:
不同样本点在这个超平面上的投影要尽可能分散
所有样本点到这个超平面的距离都应该尽可能小
对 $1.$ 的解释:样本点在超平面上的投影尽可能分散体现出 最大方差原理 。在信号论中,当信号均值为零,方差反映的就是信号的能量,能量越大的信号对抗噪声和干扰的能力也就越强。让投影后的样本点方差最大化,就是让超平面上的投影点尽可能分散,便于区分不同的信号
在数学上,投影后所有样本点的方差可以记作 $\sum_\limits{i} W^TX_iX_i^TW$ ,式中每个 $n$ 维向量 $X_i$ 都代表具有 $n$ 个属性的样本点,$W$ 是经过投影变换后得到的新坐标系
最大方差正是要求解最优的 $W$ ,也就是对应矩阵的所有对角线元素和最大化。经过数学处理后,使方差最大化的 $W$ 就是由所有最大特征值的特征向量组合在一起形成的,也就是主成分分析的解
对 $2.$ 的解释:所有样本点到这个超平面的距离尽可能小,意味着这些点到平面距离之和最小。原始样本点在低维超平面上的投影表达式时 $Z_i=\left(\begin{aligned}z_{i}^{(1)}\\z_{i}^{(2)}\\\vdots\\z_{i}^{(k)}\\\end{aligned}\right)$ ,其中每个 $z_{i}^{(j)}=W^T_jX_i$ 是原始样本点 $X_i$ 在低维超平面上第 $j$ 维上的坐标
因而,原始样本点和投影在超平面上重构的样本点之间的距离可以表示为 $\Vert \sum_\limits{j=1}^k z_i^{(j)}W_j-X_i\Vert_2^2$ 。在整个训练集上对距离求和并最小化,求出的解就是最小均方误差意义下的最优超平面。经过运算,使均方误差最小化的 $W$ 就是由所有最大特征值的特征向量组合在一起的,即主成分分析的解。
主成分数目
在主成分分析中,保留的主成分数目由用户来确定。
一个经验方法是保留所有大于1的特征值,以其对应的特征向量来做坐标变换。
也可以根据不同特征值在整体中的贡献,以一定比例进行保留。
方法:计算新数据和原数据之间的误差,令误差和原始数据能量的比值小于某个预先设定的阈值
主成分分析能够对数据进行降维处理,保留正交主成分中最重要的部分,在压缩数据的同时最大程度保留原始信息。
分析
优点
- 完全不受参数的限制,不需要先验参数或模型对计算过程的人为干预,分析结只与数据有关
缺点
即使用户具有对训练数据集的先验知识,也没有办法通过参数化等方法加以利用
主成分分析中利用的是协方差矩阵,只能取出线性相关关系,对非线性相关性无能为力
解决方法:将核技巧引入,将先验知识以非线性变换的形式体现
特征选择
直接对样本的属性进行筛选,出发点在于去除不相关的特征往往能够降低学习任务的难度
概念辨析
特征提取&特征选择
特征提取:根据原始特征的功能来创建新特征
特征选择:选取原始特征中的一个子集用于学习任务
使用场景
特征选择通常用于特征较多而样本较少的问题中,使用特征选择技术的核心前提是数据包含许多冗余和不相关特征
- 在不引起信息损失的情况下被移除
主要应用场景包括书面文本分析和DNA微阵列数据的分析
- 特征成千上万,数量数以百计
特征选择算法
- 搜索新的特征子集
- 对搜索结果进行评估
特征子集选择
最简单的方法是测试每个可能的特征子集,找出错误率最小的特征子集——子集数目随特征数目的增加呈指数增加
产生一个特征子集并评价其效果,根据评价结果再产生新的特征子集并继续评价,直到无法找到更好的候选子集为止
评价方式
根据评价方式的不同,特征选择算法分为
- 包裹法
- 过滤法
- 嵌入法
包裹法 :使用预测模型来评价特征子集。每个新的特征子集都用来训练一个模型,并在验证数据集上进行测试,模型在验证集上的错误率就是该自己的分数
- 计算量大
- 能够找到使用特定模型的最佳特征子集
过滤法 :先对数据集进行特征选择,对初始特征进行过滤,再用过滤后的特征来训练模型
计算量小于包裹法,但特征子集和预测模型之间没有建立对应关系,因而性能劣于包裹法
过滤法得到的特征子集有很强通用性,有助于揭示不同特征之间的关系
- 不输出明确的最佳功能子集,而是不同特征的排名,因而过滤法可以作为包裹法的预处理步骤使用
嵌入法 :将特征选择与模型训练融为一体,使学习器在训练过程中自动完成特征选择。
引入 $L_1$ 范数作为正则项的 LASSO方法
- 计算复杂度在过滤法和包裹法之间