特征值和奇异值分解一直困扰着大多数学者,只是了解到如何计算,但实际应用和理论基础理解并不深,我查看相关的资料和优秀博主的内容将总结如下:、
奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。
在机器学习领域,有相当多的应用与奇异值都可以扯上关系,比如做feature reduction的PCA,做数据压缩(以图像压缩为代表)的算法,还有做搜索引擎语义层次检索的LSI(Latent Semantic Indexing)
一、特征值与奇异值
特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,接下来会谈到特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈特征值分解。
1.1 特征值
如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式:Av=λvAv = λvAv=λv,这时候λ就被称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。特征值分解是将一个矩阵分解成下面的形式:
A=Q∑Q−1A=Q\sum Q^{-1}A=Q∑Q−1
其中,QQQ是这个矩阵AAA的特征向量组成的矩阵,∑\sum∑是一个对角矩阵,每一个对角线元素就是一个特征值,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)。也就是说矩阵AAA的信息可以由其特征值和特征向量表示。
首先,要明确的是,一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面的一个矩阵:
M=[3001]M= \begin{bmatrix} 3 & 0 \\ 0 & 1 \end{bmatrix} M=[300</

奇异值分解(SVD)和特征值分解是矩阵分析中的重要工具,广泛应用于机器学习领域。特征值分解用于提取方阵的主要特征,而奇异值分解能处理非方阵,提取矩阵的主要变化方向。在图像压缩中,通过保留矩阵奇异值的前几个最大值,可以近似原图像。此外,奇异值还能用于图像去噪,通过忽略小的奇异值来减少噪声。SVD在大规模数据处理时,可通过并行计算或迭代算法如Lanczos迭代来高效计算。
最低0.47元/天 解锁文章
7033

被折叠的 条评论
为什么被折叠?



