大学学习线性代数的时候,特征值(eigenvalue)和特征向量(eigenvector)一直不甚理解,尽管课本上说特征值和特征向量在工程技术领域有着广泛的应用,但是除了知道怎么求解特征值和特征向量之外,对其包含的现实意义知之甚少。毕业五六年后,学习机器学习,用到PCA在进行主成分分析过程中,需要求解变量的协方差矩阵的特征值和特征向量,并根据特征值的大小确定主成分,似乎知道了特征值和特征向量的一点点现实意义。最近看机器学习的一些方法,如特征降维方法如SVD和PCA,线性判别法(Linear Discriminant Analysis,LDA)等方法的时候都涉及到特征值和特征向量,发现如果不深入理解特征值和特征向量,对这些方法的学习只能浮于表面,难以透彻理解。痛定思痛,决定由表及里好好的学习一下特征值和特征向量,本文的关于特征值和特征向量的理解和表述大量参考了网上的资料,仅作为本人学习笔记,分享出来。
PCA的思想,其实就是为了找到一个样本数据中能代表最最主要方向(变量/维度)的这些基向量(特征向量),并保留前几个主要(特征值)的特征向量(主成分)。
PCA的过程本质,其实就是变量(维度)协方差矩阵对角化。
一、特征值和特征向量的概念和数学计算
先看一下教科书上的定义:设A是n阶方阵,如果存在常数及非零n向量x,使得,则称是矩阵A的特征值,x是A属于特征值的特征向量。给定n阶矩阵A,行列式
的结果是关于的一个多项式,成为矩阵A的特征多项式,该特征多项式构成的方程称为矩阵A的特征方程。
定理:n阶矩阵A的n个特征值就是其特征方程的n个跟;而A的属于特征值的特征向量就是其次线性方程的非零解。
例:求的特征根和特征向量
解:,解一元二次方程可得,;
对应的特征向量为x满足,求得