矩阵分解的本质是将原本复杂的矩阵分解成对应的几个简单矩阵的乘积的形式。使得矩阵分析起来更加简单。很多矩阵都是不能够进行特征值分解的。这种情况下,如果我们想通过矩阵分解的形式将原本比较复杂的矩阵问题分解成比较简单的矩阵相乘的形式,会对其进行奇异值分解。
将普通矩阵分解为奇异向量和奇异值,对于一个m x n的矩阵A,其奇异值分解可以表示为:
其中,U是一个m x m的正交矩阵,Σ 是一个m x n的矩阵,其对角线上的元素称为奇异值,Σ 不一定是方阵V是一个n x n的正交矩阵。 Σ对角线上的元素被称为A的奇异值。 U的列向量:左奇异向量 V的列向量:右奇异向量 对角阵不是方阵,这说法头一次见,如何确定Σ的元素?
的特征值相同,假设特征值为
,Σ中元素为
同理:
,
, 求得的σ只选取非零的。 如何确定Σ主对角线位置? 【这里我反复被网上的对角阵可以不是方阵?非方阵如何确定对角线位置?的各种矛盾回答搞晕了,奇异值分解的博客很少提到σ的排列问题,浪费了很多时间,最终在周志华的《机器学习》附录中找到了准确描述。视频在数学预备知识这部分讲得稀烂,没有复看的价值😒。】
,其他未知元素均为0,常将奇异值按降序排列,确保Σ的唯一性。 如何求解U? 求解
的特征值
,进而求得特征向量 μ,组成矩阵 U 。 如何求解V? 求解
的特征值
,进而求得特征向量 μ,组成矩阵 V 。 如果A是正定矩阵可以进行特征值分解,奇异值分解又是怎样的结果? 若矩阵A可以通过正交变换法实现相似对角化
,那么: u = x Σ = Λ
此时,奇异值分解结果与正交变换法实现的相似对角化完全一致。
逆矩阵的推广,对任一 m×n 阶矩阵 A,都存在惟一的 n×m 阶矩阵 X,它满足:
则称 X 为 A 的 Moore-Penrose 广义逆矩阵,简称 M-P 逆,记为 A⁺。
计算
的实际算法基于以下公式:
(奇异值分解)
由 Σ 转置得到。
广义逆矩阵有什么用?
判断线性方程组有解,当遇到线性方程组 Ax=b 中求解x困难的情况,可以使用广义逆矩阵来判断。
Ax = b,解存在的条件为:
当且仅当
为其中一个解,即
广义逆矩阵在机器学习中有什么用?
观测数据x组成实对称矩阵
,其特征向量组成U,
令:
则:
在机器学习中数据白化的意义?
数据白化是一种有用的数据预处理技术,数据白化的主要作用是使数据符合正态分布,从而更易于使用传统的机器学习算法进行处理。在数据白化之后,数据的均值和方差都为零,并且各维度之间的相关性为零。这有助于消除数据中的冗余信息。数据白化还可以提高算法的收敛速度和训练效果。因为数据白化可以降低数据之间的相关性,所以可以减少算法的过拟合风险,并且使算法更容易找到最优解。
向量矩阵求导,本质是多元函数求导,矩阵比多元函数,在表达上更简洁方便。
向量偏导公式
x为列向量,A为矩阵。 线性回归中直接用。
求导结果的布局?
标量、向量、矩阵 对 标量、向量、矩阵 求导,共9种情况。
分子布局,分母布局两种布局。
标量对向量的求导
分母布局。
结果为1 * 1,标量
若 A 为对称阵,则有:
奇异矩阵
若A可逆,则称A为非奇异方阵,也就说若A不是满秩,则为奇异矩阵。
单位矩阵。