在机器学习模式识别中,经常需要应用到协方差矩阵C和散度矩阵S。如在PCA(Principal Component Analysis)主成分分析中,需要计算样本的散度矩阵,有的论文是计算协方差矩阵。实质上两者意义差不多,散度矩阵乘以1/(n-1)就可以得到协方差矩阵了。
在模式识别中,散度矩阵也称为散步矩阵,有的也称为类内离散度矩阵或者类内离差阵,用一个等式关系可表示为:
散度矩阵=类内离散度矩阵=类内离差阵=协方差矩阵 × (n-1)
样本的协方差矩阵乘以n-1倍等于散度矩阵,其中n表示样本个数,散度矩阵的大小由特征维数d决定,是一个d×d的半正定矩阵。
一、协方差矩阵基础
对于二维随机变量(X,Y)之间的相互关系的数字特征,我们用协方差来描述,记为Cov(X,Y):
那么二维随机变量(X,Y)的协方差矩阵为:
同理,对于三维随机变量(X,Y,Z)的协方差矩阵可表示为:
对于n维协方差矩阵:
说明:
- 协方差矩阵是一个对称矩阵,且是半正定矩阵,主对角线是各个随机变量的方差(各个特征维度上的方差)
- 标准差和方差一般是用来描述一维数据的;对于多维情况,协方差是用于描述任意二维数据之间的关系(即两个特征之间的关系),一般用协方差矩阵来表示。因此协方差矩阵计算的是不同维度(不同特征)之间的协方差,而不是不同样本之间的。
- 协方差计算过程可简述为:先求各个分量的均值,然后每个分量减去各自的均值得到两条向量,再进行内积运算,然后求内积后的总和,最后除以n-1.
二、协方差矩阵的意义
为了更好的理解协方差矩阵的几何意义,下面以二维正态分布图为例(假设样本服从二维正态分布):
协方差矩阵C的特征值D与特征向量V分别为:
说明:
- 均值[0,0]代表正态分布的中心点,方差代表其分布的形状。
- 协方差矩阵C的最大特征值D对应的特征向量V指向样本分布的主轴方向。例如,最大特征值,其对应的特征向量即为样本分布的主轴方向(一般认为是数据的传播方向)。次大特征值所对应的特征向量即为样本分布的短轴方向。
总之:
- 样本均值决定样本分布中心点的位置
- 协方差矩阵决定样本分布的扁圆程度
- 是扁还是圆,由协方差矩阵的特征值决定:当特征值D1和D2的比值为1(D1/D2=1),则样本分布形状为圆形;当特征值的比值不为1时,样本分布为扁形。
- 偏向方向(数据传播方向)由特征向量决定。最大特征值对应的特征向量,总是指向数据最大方差的方向(椭圆形的主轴方向)。次大特征向量总是正交于最大特征向量(椭圆形的短轴方向)。
三、协方差矩阵的应用
协方差矩阵(散布矩阵)在模式识别中应用广泛,最典型的应用是PCA主成分分析了,PCA主要用于降维,其意义就是将样本数据从高维空间投影到低维空间中,并尽可能的在低维空间中表示原始数据。这就需要找到一组最合适的投影方向,使得样本数据往低维投影后,能尽可能表征原始的数据。此时就需要样本的协方差矩阵。PCA算法就是求出这堆样本数据的协方差矩阵的特征值和特征向量,而协方差矩阵的特征向量的方向就是PCA需要投影的方向!