计算机系统应用教程网站

网站首页 > 技术文章 正文

【机器学习数学基础】4-5矩阵近似

btikc 2024-10-28 13:07:18 技术文章 9 ℃ 0 评论

《机器学习的数学》第四章矩阵分解:4.6矩阵近似。

隔壁老王。

小时候老师总是告诉我们要学会帮助别人,乐于助人,长大之后才发现最穷的、最需要帮助的原来是我。今天学习关于矩阵分解的最后一个内容:矩阵近似,这也是本章的最后一个小节。接下来就看一下什么是矩阵近似。

在开始本章(口误:小节)的正式内容之前先回忆一下上一节所说的关于奇异值分解的内容。因为矩阵近似是建立在奇异值分解上边的,奇异值分解可以把一个矩阵a分解成一个矩阵u乘以矩阵Sjjma,再乘一矩阵v的转置。

这里矩阵u是一个m行m列的矩阵,矩阵v是一个n行n列的矩阵,而Sijjma是和矩阵a维度相同,在主对角线上包含奇异值的对角矩阵。现在要做的是不把矩阵a完全分解成奇异值分解的形式,现在研究一下利用奇异值分解如何将一个矩阵a表示为简单的矩阵的和的形式。

首先要介绍的是什么是秩-1矩阵?一个秩-1矩阵AI就被定义为UI乘以VI的转置。这里UI是奇异值分解中矩阵u的第i个列向量。同样的道理,VI是奇异值分解中矩阵v的第i个列向量,也就是秩-1矩阵。它是由矩阵u的第i个正交列向量和矩阵v的第i个正交列向量的外积所构成。

这里的秩-1矩阵AI也就是开篇所说的简单矩阵,这个矩阵的秩只有1,所以把它叫做秩-1矩阵。有了这个定义之后,接下来就可以将一个秩为r的矩阵写成这r个秩-1矩阵的和。具体表现为矩阵a可以写成Sijmai乘以ui乘以VI的转置,它就等于Sijmai乘以AI。然后i从1到r求和。这里的外积矩阵AI被第i个奇异值Sijma所加权。也就是说现在将一个m行n列的矩阵分解成了r个秩为1的矩阵的和。

这个式子为什么成立?我们知道奇异值矩阵Sijma的对角结构的乘法只匹配左奇异和右奇异相量,并且通过相应的Sijmai缩放它们。因为Sijma是对角矩阵,所以当i和j不相等的时候所有的UI和Vj的乘积一都是0,而i大于矩阵a的秩r的时候这个乘积项也是0,因为它们对应的奇异值是0。

刚才介绍的秩-1矩阵AI,将这r个独立的秩-1矩阵求和加起来可以得到原来的秩r的矩阵a。如果不把所有的AI加起来,只把最多前k个相加可以得到一个秩-k的矩阵a的近似,它表示为矩阵AK上面加一个上三角一帽,它就相当于是前k个秩-1矩阵的和。

这个式子是本小节的核心关键。根据秩-k这个近似矩阵的定义,我们知道这个近似矩阵它的秩就是k。这个近似矩阵和原始矩阵之间的误差是多少?接下来我们来看一下。为了测量原始矩阵a和它秩-k的近似矩阵的差别,需要范数的概念。

在第三章的第一小节中介绍过向量的范数,通过向量的范数来测量向量的长度。类似的可以在矩阵上定义范数。接下来就看一下什么叫做矩阵的范数。对于任意的n为实数非0向量,一个m行n列的矩阵a的谱范数被定义为这个式子。这里谱范数的下标二类似于欧几里得泛数。谱范数确定了任意相连x被矩阵a相乘的时候最多可以变成多长。

接下来来看一个定理,A的谱范数是它的最大奇异值o,矩阵a的谱范数是它最大的奇异值Sijma1。这个定理是怎么得到的?在这里不去证明,大家可以当做一个练习题去证明一下。

有了矩阵的范数概念之后,接下来就可以知道近似矩阵和原始矩阵的误差到底有多大。这个误差由一个定理给出,考虑一个秩为r的m行列的矩阵a,并且令矩阵b是一个秩为k的矩阵,这里k是小于等于r的,而矩阵a的秩-k近似就可以写成前k个秩-1矩阵的求和。

有了上边的这些条件,有矩阵a的秩-k近似就等于当矩阵b的秩为k的时候,矩阵a减去矩阵b的秩的范数是它最大化的矩阵。而原始矩阵和秩-k矩阵估计的差值就等于第k+1个奇异值,也就是Sijma k+1。

这个理论明确地告诉我们,当使用秩-k近似矩阵a的时候引入了多少误差?可以把由奇异值分解获得的秩-k近似看作是一个满质的矩阵a,到最多是秩-k的矩阵的子空间的投影。在这么多所有的可能的投影中,奇异值分解最小化了矩阵a和秩-k的近似误差。

这个理论说明了可以用一种优化的方式来将一个秩-r的矩阵减少为一个秩-k的矩阵。可以把通过秩-k的近似的矩阵近似看作是一种损失压缩的方法。因此矩阵的低秩近似出现在机器学习的很多算法中,比方图像处理、噪声滤波等等,甚至它们在降维或者主成分分析中也扮演着关键的角色。这些内容会在第10章中遇到。

本小节关于矩阵近似的内容就到此结束了,截止到目前为止,第四章关于矩阵分解的全部内容也就全部介绍完毕了,下一回再见。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表