zoukankan      html  css  js  c++  java
  • 奇异值分解(SVD)实例,将不重要的特征值改为0,原X基本保持不变

    >> s = rand(5,7)

    s =

    0.4186  0.8381  0.5028 0.1934 0.6979 0.4966 0.6602
    0.8462  0.0196  0.7095 0.6822 0.3784 0.8998 0.3420
    0.5252  0.6813  0.4289 0.3028 0.8600 0.8216 0.2897
    0.2026  0.3795  0.3046 0.5417 0.8537 0.6449 0.3412
    0.6721  0.8318  0.1897 0.1509 0.5936 0.8180 0.5341

    >> [U,S,V] = svd(x)

    U =

    -0.4898    -0.3969    -0.4590   -0.6260
    -0.5360    -0.3441    0.7673    0.0750
    -0.5182    0.8415     0.0300    -0.1500
    -0.4519    -0.1266    -0.4469   0.7616


    S =

    4.9686    0            0
    0            0.4454    0
    0            0            0.1566
    0            0            0


    V =

    -0.8576       0.5123           -0.0451
    -0.0320       0.0344           0.9989
    0.5133        0.8581           -0.0131

    -- 修改不重要的值

    >> S(3,3)=0

    S =

    4.9686     0             0
    0             0.4454     0
    0             0             0
    0             0             0

    >> U*S*V'

    ans =

    1.9968   0.0718    -1.4009
    2.2054   0.0800   -1.4984
    2.4002   0.0953   -0.9999
    1.8968   0.0699   -1.2009

    结论:和原理的值差别不大

    >> S(3,3)=0.1566

    S =

    4.9686    0                0
    0            0.4454        0
    0            0                0.1566
    0            0                0

    >> U*S*V'

    ans =

    2.0000    0.0000    -1.4000
    2.2000    0.2000    -1.5000
    2.4000    0.1000    -1.0000
    1.9000    0.0000    -1.2000

  • 相关阅读:
    细叠子草—蛤蟆皮草
    JQuery修改对象的属性值
    设计专用色系,挺不错的值得借鉴
    PDF如何自动滚动阅读
    给初级拍摄者的十条好建议
    每天一个linux命令(45):route命令
    每天一个linux命令(44):ifconfig命令
    每天一个linux命令(43):lsof命令
    每天一个linux命令(42):crontab命令
    每天一个linux命令(41):at命令
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/5294167.html
Copyright © 2011-2022 走看看