1.什么是svd
SVD(奇异值分解)是一种数据降维和特征提取的数学技术,它可以分解任何大小的矩阵并提取出其最重要的特征。在SVD中,矩阵的奇异值是在计算特征向量时应用的一种数学技术。因此,SVD可以处理存在异常值的数据,因为它会在求解特征向量时对数据进行一定的处理和修正。
具体来说,当SVD分解一个矩阵时,它会在分解过程中去除矩阵中的坏点或噪声点,并将它们视为异常值。这个过程可以看作是对数据的一种降噪处理,使得得到的特征更加准确和稳定。因此,使用SVD可以使得我们的数据分析更加鲁棒(即更加不受异常值的影响),从而提高模型的稳定性和准确性。
2.svd分解的适用场景
SVD分解是一种十分重要的矩阵分解和降维技术,它在数据分析、机器学习、图像处理、信号处理等多个领域都有广泛应用。
以下是SVD分解的适用场景:
a。数据压缩和降维:由于SVD分解会找到矩阵的主要特征,因此它可以被用于将高维数据集转化为低维表示,从而实现数据压缩和降维。
b.数据处理和清洗:SVD分解被用于数据分析和清洗中,可以检测出数据点之间的共性和差异。
c图像处理:SVD分解可用于图像压缩、降噪和增强,提取图像的主要特征,同时去除图像中没有意义的噪声和背景。
d推荐系统:SVD分解可以挖掘出用户的行为和偏好,从而实现更好的推荐算法。
e信号处理:SVD分解可用于音频和视频信号的处理,提取主要的信号成分。
3.svd分解的推导
为了更好地说明SVD的推导过程,我们将考虑一个3x2的实数矩阵A和与之对应的奇异值分解过程。
假设我们有一个3x2的实数矩阵A:
�=[�11�12�21�22�31�32]A=a11a21a31a12a22a32
下面是奇异值分解的步骤:
- 首先我们要求���AAT和���ATA:
���=[�11�12�21�22�31�32][�11�21�31�12�22�32]=[�112+�122�11�21+�12�22�11�31+�12�32�21�11+�22�12�212+�222�21�31+�22�32�31�11+�32�12�31�21+�32�22�312+�322]AAT=a11a21a31a12a22a32[a11a12a21a22a31a32]=a112+a122a21a11+a22a12a31a11+a32a12a11a21+a12a22a212+a222a31a21+a32a22a11a31+a12a32a21a31+a22a32a312+a322
���=[�11�21�31�12�22�32][�11�12�21�22�31�32]=[�112+�212+�312�11�12+�21�22+�31�32�12�11+�22�21+�32�31�122+�222+�322]ATA=[a11a12a21a22a31a32]a11a21a31a12a22a32=[a112+a212+a312a12a11+a22a21+a32a31a11a12+a21a22+a31a32a122+a222+a322]
- 求出���AAT的特征值和特征向量:
���=[�112+�122�11�21+�12�22�11�31+�12�32�21�11+�22�12�212+�222�21�31+�22�32�31�11+�32�12�31�21+�32�22�312+�322]=[�11�12�13�21�22�23�31�32�33][�1000�2000�3][�11�21�31�12�22�32�13�23�33]−1AAT=a112+a122a21a11+a22a12a31a11+a32a12a11a21+a12a22a212+a222a31a21+a32a22a11a31+a12a32a21a31+a22a32a312+a322=v11v21v31v12v22v32v13v23v33λ1000λ2000λ3v11v12v13v21v22v23v31v32v33−1
其中,�1λ1, �2λ2和�3λ3是���AAT的特征值,�11v11, �12v12, �13v13, �21v21, �22v22, �23v23, �31v31, �32v32和�33v33是对应的特征向量。
- 求出���ATA的特征值和特征向量:
���=[�112+�212+�312�11�12+�21�22+�31�32�12�11+�22�21+�32�31�122+�222+�322]=[�11�12�21�22][�100�2][�11�21�12�22]−1ATA=[a112+a212+a312a12a11+a22a21+a32a31a11a12+a21a22+a31a32a122+a222+a322]=[u11u21u12u22][σ100σ2][u11u12u21u22]−1
其中,�1σ1 和 �2σ2 是���ATA的非负特征值的平方根,�11u11, �12u12, �21u21, 和 �22u22是对应的特征向量。
- 按照特征值的大小排列奇异值和特征向量,得到�=�Σ��A=UΣVT的分解结果:
�=[�11�21�12�22][�100�2][�11�12�13�21�22�23]�A=[u11u12u21u22][σ100σ2][v11v21v12v22v13v23]T
其中,
�=[�11�21�12�22]Σ=[�100�2]�=[�11�21�31�12�22�32�13�23�33]UΣV=[u11u12u21u22]=[σ100σ2]=v11v12v13v21v22v23v31v32v33
这就是SGV分解的推导过程,其中ΣΣ矩阵的对角线上的元素�1σ1和�2σ2就是矩阵A的奇异值。
4小结
SVD是一种数学技术,可以将任意矩阵分解为三个矩阵的乘积,并提取出矩阵的最重要特征,用于数据降维和特征提取。