特征分解和奇异值分解的真正意义

特征分解和奇异值分解的真正意义这篇文章的主要内容包括:1、什么是特征分解2、什么是奇异值分解3、如何求解特征值和特征向量4、特征值和特征向量有什么意义一、特征分解特征分解:是使用最广的矩阵分解之一。

欢迎大家来到IT世界,在知识的湖畔探索吧!

特征分解和奇异值分解在机器学习的应用中经常出现,在学习线性代数的时候也学习过。线性代数学完之后,之后去按照步骤去求解特征值和特征向量,也没搞明白特征值和特征向量究竟有什么作用。这篇文章的主要内容包括:

1、什么是特征分解

2、什么是奇异值分解

3、如何求解特征值和特征向量

4、特征值和特征向量有什么意义

特征分解和奇异值分解的真正意义

一、特征分解

特征分解(eigendecomposition):是使用最广的矩阵分解之一,通过特征分解可以将矩阵分解成一组特征值和特征向量。方阵A的特征向量(eigenvector)是指与A相乘后相当于对该向量进行缩放的非零向量v

特征分解和奇异值分解的真正意义

其中v就是方阵A的特征向量,λ就是A的特征值。如果v是A的特征向量,那么任何缩放后的向量s*v(s为任意实数,且不为0)也是A的特征向量。同时sv和v具有相同的特征值。所以,通常情况下我们都只考虑单位特征向量。通过将矩阵分解成为特征值和特征向量,来帮助我们分析矩阵。

二、奇异值分解

奇异值分解(singular value decomposition,SVD):是将矩阵分解成为特征值和特征向量的另一种方法,通过奇异值分解,可以将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过奇异值分解,我们可以得到一些与特征分解相同类型的信息。而且,奇异值分解的应用非常广泛,如推荐系统、图片压缩等。每一个实数矩阵都有一个奇异值分解,但不一定有特征分解。非方阵的矩阵没有特征分解,此时我们只能使用奇异值分解。

奇异值分解,可以将矩阵A分成三个矩阵的乘积:

特征分解和奇异值分解的真正意义

假设A是一个m×n的矩阵,那么U是一个m×m的矩阵,D是一个m×n的矩阵,V是一个n×n的矩阵。其中,矩阵U和V都是正交矩阵,而矩阵D是对角矩阵。矩阵D不一定是方阵。

对角矩阵D对角线上的元素就是矩阵A的奇异值(singular value)。矩阵U的列向量是左奇异向量(left singular vector),矩阵V的列向量是右奇异向量(right singular vector)。

我们可以通过特征分解来解释奇异值分解,A的左奇异向量是A乘A的转置的特征向量,A的右奇异向量是A的转置乘A的特征向量。A的非零奇异值是A的转置乘A特征值的平方根,也是A乘A的转置特征值的平方根。

三、特征值和特征向量的求解

在线性代数中,有介绍过通过矩阵的运算来求解矩阵的特征值和特征向量,下面通过一个例子来介绍一下整个运算过程

特征分解和奇异值分解的真正意义

特征分解和奇异值分解的真正意义

下面我们通过numpy来对求解矩阵A的特征值和特征向量

特征分解和奇异值分解的真正意义

特征分解和奇异值分解的真正意义

通过对比可以发现,使用numpy求出来的特征向量好像与我们所求的有些不一样,那是因为numpy将特征向量进行了归一化。

四、特征值和特征向量的含义

其实在将矩阵分解成为特征值和特征向量的时候,在PCA和LDA中都有应用。我们将矩阵分解之后,按照特征值的大小对对应的特征向量进行排序,然后根据我们需要将原始矩阵降低到指定的维度,取前k个特征向量,组合成为一个映射矩阵,然后通过映射矩阵将原始矩阵映射到降维后的空间中。

其实,我们可以将矩阵的分解过程理解为一个力的分解,其中特征向量代表了分解力的方向,特征值代表分解的力在这个方向上的大小,我们也可以通过分解的力来得到合成力(矩阵)。在使用奇异值压缩图片的时候,正是使用了这一思想。在下一篇文章中,将介绍如何通过奇异值分解来设计推荐系统和实现图片的压缩。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/77126.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信