毛主席在《矛盾论》中提出了主要矛盾和次要矛盾的概念:“研究任何过程,如果是存在着两个以上矛盾的复杂过程的话,就要用全力找出它的主要矛盾。”这种哲学观点也可以用来指导机器学习。
一个学习任务通常会涉及样本的多个属性,但并非每个属性在问题的解决中都具有同等重要的地位,有些属性可能举足轻重,另一些则可能无关紧要。根据凡事抓主要矛盾的原则,对举足轻重的属性要给予足够的重视,无关紧要的属性则可以忽略不计,这在机器学习中就体现为降维的操作。
![](https://img.haomeiwen.com/i12171878/40c531e8117c630e.jpg)
主成分分析是一种主要的降维方法,它利用正交变换将一组可能存在相关性的变量转换成一组线性无关的变量,这些线性无关的变量就是主成分。多属性的大样本无疑能够提供更加丰富的信息,但也不可避免地增加了数据处理的工作量。更重要的是,多数情况下不同属性之间会存在相互依赖的关系,如果能够充分挖掘属性之间的相关性,属性空间的维度就可以降低。
在现实生活中少不了统计个人信息的场合,而在个人信息的表格里通常会包括“学历”和“学位”两个表项。因为学位和学历代表着两个独立的过程,因此单独列出是没有问题的。但在我国现行的惯例下,这两者通常会一并取得。两者之间的相关性足以让我们根据一个属性的取值去推测另一个属性的取值,因此只要保留其中一个就够了。
但这样的推测是不是永远准确呢?也不是。如果毕业论文的答辩没有通过,就会出现只有学历而没有学位的情形;对于在职研究生来说,只有学位没有学历的情形也不稀奇。这说明如果将学历和学位完全等同,就会在这些特例上出现错误,也就意味着信息的损失。这是降维操作不可避免的代价。
![](https://img.haomeiwen.com/i12171878/9d7ad91bc42aa4a4.jpg)
从几何意义来看,主成分分析是要将原始数据拟合成新的 n 维椭球体,这个椭球体的每个轴代表着一个主成分。如果椭球体的某个轴线较短,那么该轴线所代表的主成分的方差也很小。在数据集的表示中省略掉该轴线以及其相应的主成分,只会丢失相当小的信息量。具体说来,主成分分析遵循如下的步骤:
①数据规范化:对 m 个样本的相同属性值求出算术平均数,再用原始数据减去平均数,得到规范化后的数据;
②协方差矩阵计算:对规范化后的新样本计算不同属性之间的协方差矩阵,如果每个样本有 n 个属性,得到的协方差矩阵就是 n 维方阵;
③特征值分解:求解协方差矩阵的特征值和特征向量,并将特征向量归一化为单位向量;
④降维处理:将特征值按照降序排序,保留其中最大的 k 个,再将其对应的 k 个特征向量分别作为列向量组成特征向量矩阵;
⑤数据投影:将减去均值后的 m×n 维数据矩阵和由 k 个特征向量组成的 n×k 维特征向量矩阵相乘,得到的 m×k 维矩阵就是原始数据的投影。
经过这几步简单的数学运算后,原始的 n 维特征就被映射到新的 k 维特征之上。这些相互正交的新特征就是主成分。需要注意的是,主成分分析中降维的实现并不是简单地在原始特征中选择一些保留,而是利用原始特征之间的相关性重新构造出新的特征。
网友评论