机器学习基础篇——方阵的特征值与特征向量

方阵的特征值与特征向量 

定义 设阶方阵,若有数和非零向量,使得

称数的特征值,非零向量对应于特征值的特征向量。

例如 对,有及向量,使得,这说明的特征值,对应于的特征向量。

特征值和特征向量的求法: 

1.,并且由于是非零向量,故行列式,即

(称之为的特征方程)

由此可解出个根(在复数范围内),这就是的所有特征值。

2.根据某个特征值,由线性方程组解出非零解,这就是对应于特征值的特征向量。

例 求的特征值和特征向量。

解 由,得,解得

,求解,得,取对应于的特征向量

,求解,得,取对应于的特征向量

例 求的特征值和特征向量。

解 由,解得

,解得对应的特征向量

,求解,得,取对应的特征向量

例 求的特征值和特征向量。

解 由,解得

对 ,解得对应的特征向量

,求解,得

取对应的特征向量 

特征值和特征向量的性质: 

1

2.若的特征向量,则对也是的特征向量。

3.若的特征值,则的特征值,从而的特征值。

4个特征值,为依次对应的特征向量,若各不相同,则线性无关。

 

如何理解矩阵特征值?
  从线性空间的角度看,在一个定义了内积的线性空间里,对一个N阶对称方阵进行特征分解,就是产生了该空间的N个标准正交基,然后把矩阵投影到这N个基上。N个特征向量就是N个标准正交基,而特征值的模则代表矩阵在每个基上的投影长度。
  特征值越大,说明矩阵在对应的特征向量上的方差越大,功率越大,信息量越多。
  应用到最优化中,意思就是对于R的二次型,自变量在这个方向上变化的时候,对函数值的影响最大,也就是该方向上的方向导数最大。
  应用到数据挖掘中,意思就是最大特征值对应的特征向量方向上包含最多的信息量,如果某几个特征值很小,说明这几个方向信息量很小,可以用来降维,也就是删除小特征值对应方向的数据,只保留大特征值方向对应的数据,这样做以后数据量减小,但有用信息量变化不大。


应用1 二次型最优化问题

二次型,其中R是已知的二阶矩阵,R=[1,0.5;0.5,1],x是二维列向量,x=[x1;x2],求y的最小值。
  求解很简单,讲一下这个问题与特征值的关系。
  对R特征分解,特征向量是[-0.7071;0.7071]和[0.7071;0.7071],对应的特征值分别是0.5和1.5。
  然后把y的等高线图画一下.

机器学习基础篇——方阵的特征值与特征向量

从图中看,函数值变化最快的方向,也就是曲面最陡峭的方向,归一化以后是[0.7071;0.7071],嗯哼,这恰好是矩阵R的一个特征值,而且它对应的特征向量是最大的。因为这个问题是二阶的,只有两个特征向量,所以另一个特征向量方向就是曲面最平滑的方向。这一点在分析最优化算法收敛性能的时候需要用到。
  二阶问题比较直观,当R阶数升高时,也是一样的道理。


应用2 数据降维
  机器学习中的分类问题,给出178个葡萄酒样本,每个样本含有13个参数,比如酒精度、酸度、镁含量等,这些样本属于3个不同种类的葡萄酒。任务是提取3种葡萄酒的特征,以便下一次给出一个新的葡萄酒样本的时候,能根据已有数据判断出新样本是哪一种葡萄酒。
  问题详细描述:UCI Machine Learning Repository: Wine Data Set
  训练样本数据:http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data
  原数据有13维,但这之中含有冗余,减少数据量最直接的方法就是降维。
  做法:把数据集赋给一个178行13列的矩阵R,它的协方差矩阵,C是13行13列的矩阵,对C进行特征分解,对角化,其中U是特征向量组成的矩阵,D是特征值组成的对角矩阵,并按由大到小排列。然后,,就实现了数据集在特征向量这组正交基上的投影。嗯,重点来了,R’中的数据列是按照对应特征值的大小排列的,后面的列对应小特征值,去掉以后对整个数据集的影响比较小。比如,现在我们直接去掉后面的7列,只保留前6列,就完成了降维。这个降维方法叫PCA(Principal Component Analysis,主成分分析)。
  下面看结果:

机器学习基础篇——方阵的特征值与特征向量

这是不降维时候的分类错误率。

机器学习基础篇——方阵的特征值与特征向量

  这是降维以后的分类错误率。
  结论:降维以后分类错误率与不降维的方法相差无几,但需要处理的数据量减小了一半(不降维需要处理13维,降维后只需要处理6维)。

特征值不仅仅是数学上的一个定义或是工具,特征值是有具体含义的,是完全看得见摸得着的。

比如说一个三维矩阵,理解成线性变换,作用在一个球体上:三个特征值决定了对球体在三个维度上的拉伸/压缩,把球体塑造成一个橄榄球;剩下的部分决定了这个橄榄球在三维空间里面怎么旋转。

矩阵特征值是对特征向量进行伸缩和旋转程度的度量,实数是只进行伸缩,虚数是只进行旋转,复数就是有伸缩有旋转。其实最重要的是特征向量,从它的定义可以看出来,特征向量是在矩阵变换下只进行“规则”变换的向量,这个“规则”就是特征值。推荐教材linear algebra and its application

 


你可能感兴趣的:(机器学习,特征值,特征向量)