SVD实例说明理解

来源:互联网 发布:网络代写小说招聘 编辑:程序博客网 时间:2024/06/01 23:54

奇异值分解对于提取主成分,数据压缩等都有很大的应用~~

SVD用于提取主成分主要分为一下步骤:

1.给定一个矩阵C,首先进行奇异值分解:

2.构造 ,将不需要的部分设为0

3.计算结果

实例:(Matlab版)

假设数据源:M = [-1.0300    0.7400   -0.0200    0.5100   -1.3100    0.9900    0.6900   -0.1200   -0.7200    1.1100;
   -2.2300    1.6100   -0.0200    0.8800   -2.3900    2.0200    1.6200   -0.3500   -1.6700    2.4600]

曲线如下:


1.奇异值分解

[U,S,V]=svd(M);

2. 舍弃不需要的奇异值

此时S =[6.0397         0         0         0         0         0         0         0         0         0;
              0    0.2187         0         0         0         0         0         0         0         0]

可以看出第二个奇异值0.2远小于第一个6.0397,因此我们把第二个奇异值置零,得到

S =[6.0397         0         0         0         0         0         0         0         0         0;
         0         0         0         0         0         0         0         0         0         0]

3. 重构

计算;

4. 结果 

用新得到的M(实线)来代替之前的M(散点)实现了降维


对于更详细的特征值与奇异值基础说明,大家可以看这里~~

0 0
原创粉丝点击