协方差是用来度量两个随机变量关系的统计量
期望值分别为的两个随机变量之间的协方差定义如下:
如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,即其中一个变量大于自身的期望值时另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。
协方差矩阵:协方差矩阵是用来计算不同维度之间的协方差,而不是不同样本之间的的协方差。计算形式如下:
举例便于理解:
问题:
有一组数据如下,分别为二维向量,这四个数据对应的协方差矩阵是多少?
解答:
由于数据是二维的,所以协方差矩阵是一个的矩阵记为,矩阵中的每一个元素为:
运算表示两个向量求内积,对应元素相乘之后累加为最后结果。
首先求出第一维的均值:
D1:(1,3,4,5) Average=3.25
D2:(2,6,2,2) Average=3
例如计算
类似的可以求出其他三个元素,最后结果为:
总结协方差矩阵的特点如下:
范数是衡量一个向量大小的单位,在机器学习中使用范数衡量矩阵的大小。
向量 范数如下:
常见范数:
范数: 为向量的各个元素的绝对值之和。
范数: 为向量各个元素平方和的开方。
当时,范数被称为欧几里得范数。范数在机器学习中通常简化为表示。
1-范数:
列和范数,即矩阵所有列向量绝对值之和的最大值。
2-范数:$$|A|{2}=\sqrt{\lambda{1}}$$,为 的最大特征值,谱范数,即 最大特征值的开平方。
范数:$$|A|{\infty}=\max {i} \sum{j=1}^{n}\left|a{i, j}\right|$$
即所有矩阵行向量绝对值之和的最大值。
F-范数:
,Frobenius范数,即矩阵元素绝对值的平方和再开平方。
Diagonal Matrix: 只在主对角线上含有非零元素,其它位置上都是0.
形式上定义:矩阵是对角矩阵当且仅当对于所有的i=j,
单位矩阵是对角矩阵
单位向量指模等于1的向量即。由于是非零向量,单位向量具有确定的方向。单位向量有无数个。
对称矩阵指转置之后与本身相同的矩阵:
正交矩阵指矩阵行向量和列向量分别标准正交的方阵:,即
对于行向量或列向量互相正交但是不是标准正交的矩阵没有对应的术语。
许多数学对象可以通过将它们分解成多个组成部分,或者找到它们的一些属性而更好地理解,这些属性是通用的,而不是由我们选择表示它们的方式引起的。
例如:整数可以分解为质数。 我们可以用十进制或二进制等不同方式表示整数12,但质因数分解永远是对的12=2×3×3。 从这个表示中我们可以获得一些有用的信息,比如12不能被5整除,或者12的倍数可以被3整除。
正如我们可以通过分解质因数来发现整数的一些内在性质,我们也可以通过分解矩阵来发现矩阵表示成数组元素时不明显的函数性质。
特征向量的原始定义:
上式中是方阵对向量进行变换后的结果,显然和的方向相同。如果为特征向量,表示的就是特征值。
令是一个的方阵,且有N个线性无关的特征向量
矩阵可以被分解为
其中是方阵且其第 列为的特征向量。为对角矩阵,对角线元素为对应的特征值即
注意:矩阵如果不能被对角化就不能进行特征分解。
特征值及特征向量的几何意义和物理意义:
在空间中,对一个变换而言,特征向量指明的方向才是很重要的,特征值不那么重要。虽然我们求这两个量时先求出特征值,但特征向量才是更本质的东西!特征向量是指经过指定变换(与特定矩阵相乘)后不发生方向改变的那些向量,特征值是指在经过这些变换后特征向量的伸缩的倍数,也就是说矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值。
物理的含义就是图像的运动:特征向量在一个矩阵的作用下作伸缩运动,伸缩的幅度由特征值确定。特征值大于1,所有属于此特征值的特征向量身形暴长;特征值大于0小于1,特征向量身形猛缩;特征值小于0,特征向量缩过了界,反方向到0点那边去了。
特征分解的重要应用–PCA(主成分分析)
假设机器学习中的分类问题,给出178个葡萄酒样本,每个样本含有13个参数,比如酒精度、酸度、镁含量等,这些样本属于3个不同种类的葡萄酒。任务是提取3种葡萄酒的特征,以便下一次给出一个新的葡萄酒样本的时候,能根据已有数据判断出新样本是哪一种葡萄酒。
原数据有13维,但这之中含有冗余,减少数据量最直接的方法就是降维。做法:把数据集赋给一个178行13列的矩阵R,减掉均值并归一化,它的协方差矩阵C是13行13列的矩阵,对C进行特征分解,对角化,其中U是特征向量组成的矩阵,D是特征值组成的对角矩阵,并按由大到小排列。然后,另R’ =RU,就实现了数据集在特征向量这组正交基上的投影。嗯,重点来了,R’中的数据列是按照对应特征值的大小排列的,后面的列对应小特征值,去掉以后对整个数据集的影响比较小。比如,现在我们直接去掉后面的7列,只保留前6列,就完成了降维。这个降维方法就叫PCA(Principal Component Analysis)。降维以后分类错误率与不降维的方法相差无几,但需要处理的数据量减小了一半(不降维需要处理13维,降维后只需要处理6维)。
奇异值分解就是将矩阵分解为三个矩阵的乘积:
假设是一个的矩阵,那么是一个的矩阵,是一个的矩阵,是一个矩阵。
这些矩阵经过定义之后都有特殊的结构。矩阵都被定义为正交矩阵,矩阵定义为对角矩阵。
奇异值分解的意义:
奇异值分解的含义是,把一个矩阵A看成线性变换(当然也可以看成是数据矩阵或者样本矩阵),那么这个线性变换的作用效果是这样的,我们可以在原空间找到一组标准正交基V,同时可以在对应空间找到一组标准正交基U,我们知道,看一个矩阵的作用效果只要看它在一组基上的作用效果即可,在内积空间上,我们更希望看到它在一组标准正交基上的作用效果。而矩阵A在标准正交基V上的作用效果恰好可以表示为在U的对应方向上只进行纯粹的伸缩!这就大大简化了我们对矩阵作用的认识,因为我们知道,我们面前不管是多么复杂的矩阵,它在某组标准正交基上的作用就是在另外一组标准正交基上进行伸缩而已。
奇异值分解和特征分解的联系:
对于非方阵而言,其逆矩阵没有定义。假设在下面问题中,想通过矩阵A的左逆B来求解线性方程:
等式两边同时左成左逆B后得到:
是否存在唯一的映射将A映射到B取决于问题的形式。
如果矩阵A的行数大于列数,那么上述方程可能没有解;如果矩阵A的行数小于列数,那么上述方程可能有多个解。
Moore-Penrose伪逆使我们能够解决这种情况,矩阵A的伪逆定义为:
一般计算伪逆的实际算法没有基于上式,而是使用下面的公式:
其中,矩阵U,D和V是矩阵A奇异值分解后得到的矩阵。对角矩阵D的伪逆是其非零元素取倒之后再转置之后得到的矩阵。
对于上面伪逆的定义,下面再阐释的更加详细一点:
设,如果满足
则G为A的Moore-Penrose广义逆矩阵,简称为M-P广义逆或者伪逆,记为。
注:为A的转置共轭矩阵。实数矩阵的共轭转置矩阵就是转置矩阵,复数矩阵的共轭转置矩阵行列互换后每个元素取共轭。共轭就是复数中的虚数符号改变。
广义逆的满秩算法
注:列满秩矩阵就是矩阵的秩等于矩阵列数的矩阵。矩阵的秩就是矩阵非零行元素的个数。
迹运算返回的是矩阵对角元素的和:
迹运算提供另一种描述Frobenius范数的方式: