日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)
矩阵的高级函数:基于SVD算法(即奇异值分解法)的矩阵分解、通过SVD算法(即奇异值分解法)/特征值分解法来实现PCA算法、随机数矩阵
协方差:
协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。
协方差表示的是两个变量的总体的误差,这与只表示一个变量误差的方差不同。 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,
另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。
如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。
协方差矩阵:在统计学与概率论中,协方差矩阵的每个元素是各个向量元素之间的协方差。
1.对称矩阵
2.方阵、逆矩阵
X是一个m行n列的矩阵,并不能保证其有逆矩阵,因此X需要乘以X的转置,即X乘以自身的转置矩阵,其结果为一个方阵,
方阵即行数和列数都为一样,这样便能保证其矩阵X有逆矩阵。
X是一个m行n列的矩阵,X的转置(自身的转置矩阵)是一个n行m列的矩阵,那么两者相乘结果为m行m列的方阵,方阵即行数和列数都为一样。
X是一个n行m列的矩阵,X的转置(自身的转置矩阵)是一个m行n列的矩阵,那么两者相乘结果为n行n列的方阵,方阵即行数和列数都为一样。
求X乘以X的转置的逆矩阵,即求X的方阵的的逆矩阵。
3.协方差矩阵
1.PCA算法中求协方差矩阵
2.特征脸法:
1.特征脸法是一种相对“古老”的人脸识别算法,而特征脸法的核心算法是PCA算法。
2.特征脸法中的经过零均值化处理后的m行n列图像矩阵:
m为人脸图像的维度,n为人脸图像的样本数,行数为人脸图像的flatten后的维度数,列数为数据集的人脸图像的样本数,
人脸图像的flatten后向量作为列向量。
3.特征脸法在应用PCA算法的过程中进行了一定的修改。
1.原先的PCA算法中,计算m行n列图像矩阵X的协方差矩阵为X*X的转置T,那么 m行n列 * n行m列 其结果为m行m列,
m行n列图像矩阵X的协方差矩阵便为m行m列的方阵,方阵即行数和列数都为一样。
2.因为在绝大多数情况下,图片的数量n远远小于图片的维度m,所以特征脸法在PCA算法的基础上进行了修改。
特征脸法中修改后的PCA算法中,对经过零均值化处理后的m行n列图像矩阵X计算协方差矩阵为X的转置T*X,
n行m列 * m行n列 其结果为n行n列,那么得知此处的m行n列图像矩阵X的协方差矩阵便为n行n列的方阵,方阵即行数和列数都为一样。
所以对该n行n列的方阵求特征向量的计算速度便比“原来的对m行m列的方阵求特征向量的”计算速度快很多。