打开本页,如果不能显示公式,请刷新页面。
主成分分析(Principal Components Analysis, PCA)是一种统计分析、简化数据集的方法。它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性无关的变量的值,这些不相关变量称为主成分(Principal Components)$$^{[1]}$$ 。
主成分分析经常用于减少数据集的维数(降维),同时保留数据集中对方差贡献最大的特征。
主成分分析有卡尔·皮尔逊(Karl Pearson)$$^{[2]}$$ 于1901年提出,后经哈罗德·霍特林(Harold Hotelling)$$^{[3]}$$ 独立发展并命名。
在信号处理中,主成分分析也称为离散K-L转换(Discrete Karhunen-Loeve Transform,KLT)。
实现数据集降维的方法有多种,它们分别依赖不同的统计量:
- 主成分分析(Principal Component Analysis,PCA)(线性降维):方差
- 多维标度(Multidimensional Scaling,MDS)(非线性降维):距离
- ISOMap(非线性降维):测地距离
$$^{[5]}$$ - 局部线性嵌入(Local Linear Embedding,LLE):local geometry
- 拉普拉斯映射(Laplacian Eigenmaps)(非线性降维):基于图
- 线性判别分析(Linear Discriminant Analysis,LDA):类间的距离(有监督)
简而言之,降维的目的就是找到能够代表原始数据的维,且此时的维数要小于原始数据的维数。
如下图所示,分布在二维空间中的点表示一个数据集,此数据集有两个特征
很显然,在二维空间中,特征
若二维空间的数据是下图分布样式,那么就不能降维到
假设样本数量为
如果想要用一个向量
注意,上式中以
上式其实是要寻找一个中心向量,该中心向量能够使得上式有最小的均方误差。根据参考资料 [4] 的 6.1.2 节内容可以猜测,该中心向量应该是所有数据点的样本平均,即:
下面证明上述猜测:
$$\begin{split}E_0(\pmb{a})&=\frac{1}{n-1}\sum_{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{a}\end{Vmatrix}^2\&=\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}(\pmb{x}k-\pmb{\mu})+(\pmb{\mu}-\pmb{a})\end{Vmatrix}^2\&=\frac{1}{n-1}\left(\sum{k=1}^n\begin{Vmatrix}(\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2+\sum{k=1}^n\begin{Vmatrix}\pmb{\mu}-\pmb{a}\end{Vmatrix}^2+2\sum_{k=1}^n(\pmb{x}k-\pmb{\mu})^{\rm{T}}(\pmb{\mu}-\pmb{a})\right)\&=\frac{1}{n-1}\left(\sum{k=1}^n\begin{Vmatrix}(\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2+n\begin{Vmatrix}\pmb{\mu}-\pmb{a}\end{Vmatrix}^2+2\left(\sum{k=1}^n\pmb{x}_k-n\pmb{\mu}\right)^{\rm{T}}(\pmb{\mu}-\pmb{a})\right)\end{split}$$
上式运算中的
又因为 $$\begin{Vmatrix}\pmb{\mu}-\pmb{a}\end{Vmatrix}^2\ge0$$ ,所以:
当
表示一个样本的数据点
在样本空间中,假设有一条直线(记作:L)过样本均值
于是直线 L 上的任意一个数据点可以表示为:
假设样本空间中的数据点
为了对上述推论有深刻理解,下面根据参考资料【4】的3.4.4节和参考资料【6】的有关内容,对上述结论给予证明。
假设
数据点
根据前述的经验,最佳近似的系数
$$\begin{split}E_1({c_k},\pmb{v})&=\frac{1}{n-1}\sum_{k=1}^n\begin{Vmatrix}\pmb{x}'_k-\pmb{x}k\end{Vmatrix}^2\quad(其中:\pmb{x}'k=\pmb{\mu}+c_k\pmb{v})\&=\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}(\pmb{\mu}+c_k\pmb{v})-\pmb{x}k\end{Vmatrix}^2\&=\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}c_k\pmb{v}-(\pmb{x}k-\pmb{\mu})\end{Vmatrix}^2\&=\frac{1}{n-1}\left(\sum{k=1}^nc_k^2\begin{Vmatrix}\pmb{v}\end{Vmatrix}^2-2\sum{k=1}^nc_k\pmb{v}^{\rm{T}}(\pmb{x}k-\pmb{\mu})+\sum{k=1}^n\begin{Vmatrix}\pmb{x}_k-\pmb{\mu}\end{Vmatrix}^2\right)\end{split}$$
又因为 $$\begin{Vmatrix}\pmb{v}\end{Vmatrix}=1$$ ,所以上式为:
$$E_1({c_k},\pmb{v})=\frac{1}{n-1}\left(\sum_{k=1}^nc_k^2-2\sum_{k=1}^nc_k\pmb{v}^{\rm{T}}(\pmb{x}k-\pmb{\mu})+\sum{k=1}^n\begin{Vmatrix}\pmb{x}_k-\pmb{\mu}\end{Vmatrix}^2\right)$$
为了计算上式的极值,需要计算偏导数
解得:
以上考虑的是在直线 L 确定的情况下,数据点通过向其上投影,得到了最近似的在直线 L 上的数据点。下面再研究如何确定直线 L 的方向,即指向向量
$$\begin{split}E_1(\pmb{v})&=\frac{1}{n-1}\left(\sum_{k=1}^nc_k^2-2\sum_{k=1}^nc_k\pmb{v}^{\rm{T}}(\pmb{x}k-\pmb{\mu})+\sum{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2\right)\&=\frac{1}{n-1}\left(\sum{k=1}^nc_k^2-2\sum_{k=1}^nc_k^2+\sum_{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2\right)\quad(\because c_k=\pmb{v}^{\rm{T}}(\pmb{x}k-\pmb{\mu}))\&=-\frac{1}{n-1}\sum{k=1}^nc_k^2+\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2\&=-\frac{1}{n-1}\sum{k=1}^n\left(\pmb{v}^{\rm{T}}(\pmb{x}k-\pmb{\mu})\right)^2+\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2\&=-\frac{1}{n-1}\sum{k=1}^n\pmb{v}^{\rm{T}}(\pmb{x}_k-\pmb{\mu})(\pmb{x}k-\pmb{\mu})^{\rm{T}}\pmb{v}+\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2\&=-\pmb{v}^{\rm{T}}\left(\frac{1}{n-1}\sum{k=1}^n(\pmb{x}_k-\pmb{\mu})(\pmb{x}k-\pmb{\mu})^{\rm{T}}\right)\pmb{v}+\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}\pmb{x}_k-\pmb{\mu}\end{Vmatrix}^2\end{split}$$
根据点积运算的交换律,有
令:
有参考资料【4】第5章5.5.4节“协方差矩阵”可知,上述为样本数据的协方差矩阵。
注意,在下面的计算中,将上面表示的数据集
$$\pmb{x}1=\begin{bmatrix}x{11}\x_{12}\\vdots\x_{1p}\end{bmatrix},\pmb{x}2=\begin{bmatrix}x{21}\x_{22}\\vdots\x_{2p}\end{bmatrix},\cdots,\pmb{x}n=\begin{bmatrix}x{n1}\x_{n2}\\vdots\x_{np}\end{bmatrix}$$
样本均值
其中
用矩阵运算,将
$$\begin{split}\pmb{S}'&=\sum_{k=1}^n(\pmb{x}k-\pmb{\mu})(\pmb{x}k-\pmb{\mu})^{\rm{T}}\&=\begin{bmatrix}x{11}-\mu_1&x{21}-\mu_1&\cdots&x_{n1}-\mu_1\x_{12}-\mu_2&x_{22}-\mu_2&\cdots&x_{n2}-\mu_2\\vdots&\vdots&\ddots&\vdots\x_{1p}-\mu_p&x_{2p}-\mu_p&\cdots&x_{np}-\mu_p\end{bmatrix}\begin{bmatrix}x_{11}-\mu_1&x_{21}-\mu_1&\cdots&x_{n1}-\mu_1\x_{12}-\mu_2&x_{22}-\mu_2&\cdots&x_{n2}-\mu_2\\vdots&\vdots&\ddots&\vdots\x_{1p}-\mu_p&x_{2p}-\mu_p&\cdots&x_{np}-\mu_p\end{bmatrix}^{\rm{T}}\&=\begin{bmatrix}s_{11}'&s_{12}'&\cdots&s_{1p}'\s_{21}'&s_{22}'&\cdots&s_{2p}'\\vdots&\vdots&\ddots&\vdots\s_{p1}'&s_{p2}'&\cdots&s_{pp}'\end{bmatrix}\end{split}$$
其中:
显然,矩阵
其中
所以,矩阵
其中
显然
矩阵
如果用熟悉的方差和协方差符号表示,则为:
其中
所以,样本协方差矩阵
假设
$$\begin{split}\pmb{y}^{\rm{T}}\pmb{Sy}&=\frac{1}{n-1}\pmb{y}^{\rm{T}}\sum_{k=1}^n(\pmb{x}_k-\pmb{\mu})(\pmb{x}k-\pmb{\mu})^{\rm{T}}\pmb{y}\&=\frac{1}{n-1}\sum{k=1}^n\left(\pmb{y}^{\rm{T}}(\pmb{x}_k-\pmb{\mu})\right)^2\ge0\end{split}$$
由此可知,协方差矩阵
再来观察前述得到的
$$\begin{split}E_1(\pmb{v})&=-\pmb{v}^{\rm{T}}\left(\frac{1}{n-1}\sum_{k=1}^n(\pmb{x}_k-\pmb{\mu})(\pmb{x}k-\pmb{\mu})^{\rm{T}}\right)\pmb{v}+\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2\&=-\pmb{v}^{\rm{T}}\pmb{Sv}+\frac{1}{n-1}\sum{k=1}^n\begin{Vmatrix}\pmb{x}_k-\pmb{\mu}\end{Vmatrix}^2\end{split}$$
在上式中,$$\frac{1}{n-1}\sum_{k=1}^n\begin{Vmatrix}\pmb{x}_k-\pmb{\mu}\end{Vmatrix}^2$$ 是数据集的样本方差(详见参考资料【4】第6章),它是一个常数。
于是,实现
解法:拉格朗日乘数法
根据拉格朗日乘数法,定义拉格朗日函数:
其中
可得:$$\pmb{Sv}=\lambda\pmb{v}$$
由此可知,直线 L 的指向向量
由参考资料【8】中正定矩阵的性质2可知,对于半正定矩阵
至此,可以得到如下结论:
选择对打特征值
举例
以图1所示的数据为例,假设由该数据,得到了协方差矩阵 $$\pmb{S}=\begin{bmatrix}95&1\1&5\end{bmatrix}$$ ,利用参考资料【4】第3章3.1.1节介绍的用程序计算特征值和特征向量的方法,可得:
按照前述结论,可以将
对于图2,其数据的协方差矩阵可假设为 $$\pmb{S}=\begin{bmatrix}50&40\50&40\end{bmatrix}$$ ,计算得到特征值和特征向量:
特征向量
以上是将数据集降维到一维空间,这种降维后所得到的的数据相对原数据集而言,略显“粗糙”,如果要求更高精度的近似,可以将
$$\pmb{x}'=\pmb{\mu}+z_1\pmb{v}1+\cdots+z_r\pmb{v}r=\pmb{\mu}+\sum{j=1}^rz{j}\pmb{v}_j$$
其中
目标是要寻找一组单位正交集
$$E_r({\pmb{v}j})=\sum{k=1}^n\begin{Vmatrix}\left(\pmb{\mu}+\sum_{j=1}^rz_{kj}\pmb{v}_j\right)-\pmb{x}_k\end{Vmatrix}^2$$
根据前面的推导过程可知,系数
$$\begin{split}E_r({\pmb{v}j})&=\sum{k=1}^n\begin{Vmatrix}\left(\pmb{\mu}+\sum_{j=1}^rz_{kj}\pmb{v}j\right)-\pmb{x}k\end{Vmatrix}^2\&=\sum{k=1}^n\begin{Vmatrix}\sum{j=1}^rz_{kj}\pmb{v}j-(\pmb{x}k-\pmb{\mu})\end{Vmatrix}^2\&=\sum{k=1}^n\begin{Vmatrix}\sum{j=1}^rz_{kj}\pmb{v}j\end{Vmatrix}^2-2\sum{k=1}^n\sum_{j=1}^rz_{kj}\pmb{v}j^{\rm{T}}(\pmb{x}k-\pmb{\mu})+\sum{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2\&=\sum{k=1}^n\sum{j=1}^nz_{kj}^2-2\sum_{k=1}^n\sum_{j=1}^rz_{kj}^2+\sum_{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2 \quad(\because z{kj}=\pmb{v}j^{\rm{T}}(\pmb{x}k-\pmb{\mu}))\&=-\sum{k=1}^n\sum{j=1}^r\left(\pmb{v}_j^{\rm{T}}(\pmb{x}k-\pmb{\mu})\right)^2+\sum{k=1}^n\begin{Vmatrix}\pmb{x}k-\pmb{\mu}\end{Vmatrix}^2\&=-\sum{j=1}^r\pmb{v}j^{\rm{T}}\left(\sum{k=1}^n(\pmb{x}_k-\pmb{\mu})(\pmb{x}_k-\pmb{\mu})^{\rm{T}}\right)\pmb{v}j+\sum{k=1}^n\begin{Vmatrix}\pmb{x}_k-\pmb{\mu}\end{Vmatrix}^2\end{split}$$
由样本协方差矩阵:$$\pmb{S}=\frac{1}{n-1}\sum_{k=1}^n(\pmb{x}_k-\pmb{\mu})(\pmb{x}_k-\pmb{\mu})^{\rm{T}}$$ ,得:
$$E_r({\pmb{v}j})=-(n-1)\sum{j=1}^r\pmb{v}_j^{\rm{T}}\pmb{Sv}j+\sum{k=1}^n\begin{Vmatrix}\pmb{x}_k-\pmb{\mu}\end{Vmatrix}^2$$
将最小化 $$E_r({\pmb{v}j})$$ 转化为最大化 $$\sum{j=1}^r\pmb{v}_j^{\rm{T}}\pmb{Sv}_j$$ ,即:
仍然使用拉格朗日乘数法,定义拉格朗日函数:
$$L({\pmb{v}j},{\lambda{ij}})=\sum_{j=1}^r\pmb{v}j^{\rm{T}}\pmb{Sv}j-\sum{i=1}^r\sum{j=1}^r\lambda_{ij}(\pmb{v}_i^{\rm{T}}\pmb{v}j-\delta{ij})$$
其中
计算梯度,并令其等于 0 :
$$\frac{\partial L}{\partial\pmb{v}j}=2\pmb{Sv}j-2\lambda{jj}\pmb{v}j-\sum{i\ne j}(\lambda{ij}+\lambda_{ji})\pmb{v}_i,(j=1,\cdots,r)$$
当
$$\pmb{Sv}j=\lambda{jj}\pmb{v}_j,(j=1,\cdots,r)$$
当
$$\sum_{j=1}^r\pmb{v}_j^{\rm{T}}\pmb{Sv}j=\sum{j=1}^r\lambda_j\pmb{v}^{\rm{T}}_j\pmb{v}j=\sum{j=1}^r\lambda_j$$
有最大值。
在参考资料【9】和【10】中有两项证明,对应用此结论而提供了更坚实的数学支持。
以上,用
下面首先看
$$\begin{split}\overline{z}j&=\frac{1}{n}\sum{k=1}^nz_{kj}\&=\frac{1}{n}\sum_{k=1}^n\pmb{v}_j^{\rm{T}}(\pmb{x}_k-\pmb{\mu})\&=\frac{1}{n}\pmb{v}j^{\rm{T}}\left(\sum{k=1}^n\pmb{x}_k-n\pmb{\mu}\right)\&=0\end{split}$$
在计算
$$\begin{split}s_{z_j}^2&=\frac{1}{n-1}\sum_{k=1}^nz_{kj}^2\&=\frac{1}{n-1}\sum_{k=1}^n\left(\pmb{v}_j^{\rm{T}}(\pmb{x}_k-\pmb{\mu})\right)\left((\pmb{x}_k-\pmb{\mu})^{\rm{T}}\pmb{v}_j\right)\&=\pmb{v}j^{\rm{T}}\left(\frac{1}{n-1}\sum{k=1}^n(\pmb{x}_k-\pmb{\mu})(\pmb{x}_k-\pmb{\mu})^{\rm{T}}\right)\pmb{v}_j\&=\pmb{v}_j^{\rm{T}}\pmb{Sv}_j\&=\lambda_j\pmb{v}_j^{\rm{T}}\pmb{v}_j\&=\lambda_j\end{split}$$
所以,特征值
此外,主成分系数
**总结:**对样本个数为
-
计算样本平均
$$\pmb{\mu}=\frac{1}{n}\sum_{k=1}^n\pmb{x}_k$$ ,并得到由每个样本点偏差组成的$$n\times p$$ 矩阵$$\pmb{X}$$ :$$\pmb{X}=\begin{bmatrix}(\pmb{x}1-\pmb{\mu})^{\rm{T}}\(\pmb{x}2-\pmb{\mu})^{\rm{T}}\\vdots\(\pmb{x}n-\pmb{\mu})^{\rm{T}}\end{bmatrix}=\begin{bmatrix}x{11}-\mu_1&x{12}-\mu_2&\cdots&x{1p}-\mu_p\x_{21}-\mu_1&x_{22}-\mu_2&\cdots&x_{2p}-\mu_p\\vdots&\vdots&\ddots&\vdots\x_{n1}-\mu_1&x_{n2}-\mu_2&\cdots&x_{np}-\mu_p\end{bmatrix}$$
计算样本协方差矩阵
$$\pmb{S}_{p\times p}$$ :$$\pmb{S}=\frac{1}{n-1}\sum_{k=1}^n(\pmb{x}_k-\pmb{\mu})(\pmb{x}_k-\pmb{\mu})^{\rm{T}}=\frac{1}{n-1}\pmb{X}^{\rm{T}}\pmb{X}$$ -
将
$$\pmb{S}$$ 正交对角化为:$$\pmb{S}=\pmb{V\Lambda V}^{\rm{T}}$$ 其中:
-
$$\pmb{\Lambda}={\rm{diag}}(\lambda_1,\cdots,\lambda_p)$$ 是特征值矩阵,$$\lambda_1\ge\cdots\ge\lambda_p\ge0$$ 表示主成分的权值; - $$\pmb{V}=\begin{bmatrix}\pmb{v}_1&\cdots&\pmb{v}_p\end{bmatrix}$$ 是单位正交特征向量构成的
$$p\times p$$ 级的正交主成分矩阵,$$\pmb{V}^{\rm{T}}\pmb{V}=\pmb{VV}^{\rm{T}}=\pmb{I}_p$$ 。
-
-
计算主成分系数矩阵 $$\pmb{Z}{n\times p}=[z{kj}]$$ ,其中
$$z_{kj}=(\pmb{x}_k-\pmb{\mu})^{\rm{T}}\pmb{v}_j$$ :$$\pmb{Z}=\begin{bmatrix}(\pmb{x}_1-\pmb{\mu})^{\rm{T}}\(\pmb{x}_2-\pmb{\mu})^{\rm{T}}\\vdots\(\pmb{x}_n-\pmb{\mu})^{\rm{T}}\end{bmatrix}\begin{bmatrix}\pmb{v}_1&\cdots\pmb{v}_p\end{bmatrix}=\pmb{XV}$$
上式等号两边右乘
$$\pmb{V}^{\rm{T}}$$ ,得:$$\pmb{X}=\pmb{ZV}^{\rm{T}}$$ 即:数据点
$$\pmb{x}_k$$ 的主成分分解式为:$$\pmb{x}k=\pmb{\mu}+\sum{j=1}^pz_{kj}\pmb{v}_j,(k=1,\cdots,n)$$
主成分系数
$$z_{k1},\cdots,z_{kp}$$ 是偏差$$\pmb{x}_k-\pmb{\mu}$$ 以单位正交向量$$\pmb{V}={\pmb{v}_1,\cdots,\pmb{v}_p}$$ 为基的坐标。
注意的问题:
-
在原始数据集中,如果某个特征的方差较大,则主成分方向会受其影响严重,此时,通常按照如下方式对数据给予处理:
-
在进行 PCA 之前,对数据进行标准差标准化处理:
$$\begin{split}\widetilde{\pmb{X}}&=\begin{bmatrix}(\pmb{x}1-\pmb{\mu})^{\rm{T}}\(\pmb{x}2-\pmb{\mu})^{\rm{T}}\\vdots\(\pmb{x}n-\pmb{\mu})^{\rm{T}}\end{bmatrix}\begin{bmatrix}1/s_1&0&\cdots&0\0&1/s_2&\cdots&0\\vdots&\vdots&\ddots&\vdots\0&0&\cdots1/s_p\end{bmatrix}\&=\begin{bmatrix}(x{11}-\mu_1)/s_1&(x{12}-\mu_2)/s_2&\cdots&(x{1p}-\mu_p)/s_p\(x_{21}-\mu_1)/s_1&(x_{22}-\mu_2)/s_2&\cdots&(x_{2p}-\mu_p)/s_p\\vdots&\vdots&\ddots&\vdots\(x_{n1}-\mu_1)/s_1&(x_{n2}-\mu_2)/s_2&\cdots&(x_{np}-\mu_p)/s_p\end{bmatrix}\end{split}$$
其中
$$s_i^2$$ 是第$$i$$ 个特征的样本方差,即$$s_i^2=\frac{1}{n-1}\sum_{k=1}^n(x_{ki}-\mu_i)^2$$ 。 -
经过标准化之后,再计算
$$\widetilde{\pmb{X}}$$ 的协方差矩阵:$$\pmb{R}=\frac{1}{n-1}\widetilde{\pmb{X}}^{\rm{T}}\widetilde{\pmb{X}}$$ 此矩阵也是相关系数矩阵(详见参考资料【4】第5章5.5.2节),$$\pmb{R}$$ 的
$$(i,j)$$ 元是第$$i$$ 个特征与第$$j$$ 个特征的相关系数。又因为:
$$\sum_{j=1}^p\lambda_j={\rm{trace}}\pmb{\Lambda}={\rm{trace}}(\pmb{V}^{\rm{T}}\pmb{RV})={\rm{trace}}(\pmb{RVV}^{\rm{T}})={\rm{trace}}\pmb{R}=p$$ 即数据集的总方差等于维数
$$p$$ 。(以上计算中使用了$${\rm{trace}}(\pmb{AB})={\rm{trace}}(\pmb{BA})$$ ,且$$\pmb{R}$$ 的主对角线元素都是 1 。)
-
-
在应用上述方法进行实际的数值计算时,特别是计算
$$\frac{1}{n-1}\pmb{X}^{\rm{T}}\pmb{X}$$ 时,会遇到麻烦,解决方法请延伸阅读参考资料【11】。
PCA 是一种线性方法,如果对于非线性的数据,则不能直接使用上述方法。
-
齐伟. 机器学习数学基础. 电子工业出版社
-
测地距离(geodesic distance),是图论中的术语,指图中两节点间的最短路径。注意区分于几何空间中的欧几里得距离。如下图所示:
$$d_{15}$$ 表示图中两点之间的欧几里得距离,$$d_{12}+d_{23}+d_{34}+d_{45}$$ 为两点之间的测地距离。 -
考虑下面的式子:
$$\pmb{Sv}j=\lambda{jj}\pmb{v}j+\frac{1}{2}\sum{i\ne j}(\lambda_{ij}+\lambda_{ji})\pmb{v}_i,(j=1,\cdots,r)$$
令 $$\pmb{V}=\begin{bmatrix}\pmb{v}_1&\cdots&\pmb{v}_r\end{bmatrix}$$ ,且:
$$\pmb{M}=\begin{bmatrix}\lambda_{11}&\cdots&\frac{\lambda_{1r}+\lambda_{r1}}{2}\\vdots&\ddots&\vdots\\frac{\lambda_{1r}+\lambda_{r1}}{2}&\cdots&\lambda_{rr}\end{bmatrix}$$
则前述方程用矩阵形式表示:
$$\pmb{SV}=\pmb{VM}$$ 因为
$$\pmb{V}$$ 的列向量是单位正交向量,即$$\pmb{V}^{\rm{T}}\pmb{V}=\pmb{I}_r$$ 。上式等号两侧左乘$$\pmb{V}^{\rm{T}}$$ ,得:$$\pmb{V}^{\rm{T}}\pmb{SV}=\pmb{M}$$ 下面正面,对于任何
$$\pmb{V}$$ 和$$\pmb{M}$$ ,只要满足以上条件,就有一个相同的目标函数值:$$\sum_{j=1}^r\pmb{v}_j^{\rm{T}}\pmb{Sv}_j=\trace(\pmb{V}^{\rm{T}}\pmb{SV})$$ 将对称矩阵
$$\pmb{M}$$ 正交对角化为:$$\pmb{D}=\pmb{Q}^{\rm{T}}\pmb{MQ}$$ ,其中$$\pmb{Q}$$ 是正交矩阵,$$\pmb{Q}^{\rm{T}}\pmb{Q}=\pmb{QQ}^{\rm{T}}=\pmb{I}_r$$ ,$$\pmb{D}={\rm{diag}}(\lambda_1,\cdots,\lambda_r)$$ 。对
$$\pmb{V}^{\rm{T}}\pmb{SV}=\pmb{M}$$ 左乘$$\pmb{Q}^{\rm{T}}$$ 、右乘$$\pmb{Q}$$ ,可得:$$\begin{split}\pmb{Q}^{\rm{T}}\pmb{V}^{\rm{T}}\pmb{SV}\pmb{Q}&=\pmb{Q}^{\rm{T}}\pmb{MQ}\(\pmb{VQ})^{\rm{T}}\pmb{S}(\pmb{VQ})&=\pmb{D}\end{split}$$
令
$$\widetilde{\pmb{V}}=\pmb{VQ}$$ ,则:$$\widetilde{\pmb{V}}^{\rm{T}}\pmb{S}\widetilde{\pmb{V}}=\pmb{D}$$ 因为
$$\widetilde{\pmb{V}}^{\rm{T}}\widetilde{\pmb{V}}=(\pmb{VQ})^{\rm{T}}(\pmb{VQ})=\pmb{Q}^{\rm{T}}\pmb{V}^{\rm{T}}\pmb{VQ}=\pmb{Q}^{\rm{T}}\pmb{Q}=\pmb{I}_r$$ ,所以$$\widetilde{\pmb{V}}$$ 的也有单位正交向量,则$$\widetilde{\pmb{V}}$$ 和$$\pmb{D}$$ 也是一组解。$${\rm{trace}}(\pmb{V}^{\rm{T}}\pmb{SV})={\rm{trace}}(\pmb{Q}\widetilde{\pmb{V}}^{\rm{T}}\pmb{S}\widetilde{\pmb{V}}\pmb{Q}^{\rm{T}})={\rm{trace}}(\widetilde{\pmb{V}}^{\rm{T}}\pmb{S}\widetilde{\pmb{V}}\pmb{Q}\pmb{Q}^{\rm{T}})={\rm{trace}}(\widetilde{\pmb{V}}^{\rm{T}}\pmb{S}\widetilde{\pmb{V}})$$ 从而证明:$$\pmb{V}$$ 和
$$\widetilde{\pmb{V}}$$ 所含的两组单位正交向量集合有相同的目标函数值$${\rm{trace}}(\pmb{D})=\sum_{j=1}^r\lambda_j$$ -
假设单位向量
$$\pmb{v}_1$$ 是令$$\pmb{v}_1^{\rm{T}}\pmb{Sv}_1$$ 最大化的向量,满足:$$\pmb{Sv}_1=\lambda_1\pmb{v}_1$$ 下面找出下一个单位向量
$$\pmb{v}_2$$ ,且满足$$\pmb{v}_2^{\rm{T}}\pmb{v}_1=0$$ ,即与$$\pmb{v}_1$$ 正交。定义拉格朗日函数:
$$L(\pmb{v}_2,\alpha,\beta)=\pmb{v}_2^{\rm{T}}\pmb{Sv}_2-\alpha(\pmb{v}_2^{\rm{T}}\pmb{v}_2-1)-\beta\pmb{v}_2^{\rm{T}}\pmb{v}_1$$ 其中,$$\alpha,\beta$$ 是拉格朗日乘数。计算梯度,并设为 0 :
$$\frac{\partial L}{\partial\pmb{v}_2}=2\pmb{Sv}_2-2\alpha\pmb{v}_2-\beta\pmb{v}_1=\pmb{0}$$ $$\pmb{Sv}_2=\alpha\pmb{v}_2+\frac{1}{2}\beta\pmb{v}_1$$ 上式左乘
$$\pmb{v}_1^{\rm{T}}$$ ,可得:$$\pmb{v}_1^{\rm{T}}\pmb{Sv}_2=\alpha\pmb{v}_1^{\rm{T}}\pmb{v}_2+\frac{1}{2}\beta\pmb{v}_1^{\rm{T}}\pmb{v}_1=\frac{\beta}{2}$$ 又因为:
$$\pmb{v}_1^{\rm{T}}\pmb{Sv}_2=(\pmb{Sv}_1)^{\rm{T}}\pmb{v}_2=(\lambda_1\pmb{v}_1)^{\rm{T}}\pmb{v}_2=\lambda_1\pmb{v}_1^{\rm{T}}\pmb{v}_2=0$$ 所以:$$\beta=0$$
即:$$\pmb{Sv}_2=\alpha\pmb{v}_2$$
显然
$$\alpha=\lambda_2$$ ,$$\pmb{v}_2$$ 是对应的单位特征向量。同理可以推导
$$r=3,4,\cdots$$ 等情况。