zoukankan      html  css  js  c++  java
  • SVD分解的理解

    对称阵A

                                                            

    相应的,其对应的映射也分解为三个映射。现在假设有x向量,用A将其变换到A的列空间中,那么首先由U'先对x做变换:

                                                                                  

    由于正交阵“ U的逆=U‘ ”,对于两个空间来讲,新空间下的“ 基E' 坐标 x' ,原空间E 坐标x ”有如下关系

        EX=E'X' ===>

        X=E'X' ===>

        X'=(E'的逆)x ==>

        x向量在新的“基”下的新坐标  (E的转置)X;

    1、那么对于上式UTx先可以理解为:将x用A的所有特征向量表示为:

                                             

    则通过第一个变换就可以把x表示为[a1 a2 ... am]':

                               

    2、紧接着,在新的坐标系表示下,由中间那个对角矩阵对新的向量坐标换,其结果就是将向量往各个轴方向拉伸或压缩:

                                  

    如果A不是满秩的话,那么就是说对角阵的对角线上元素存在0,这时候就会导致维度退化,这样就会使映射后的向量落入m维空间的子空间中(塌缩的概念)。

    3、最后一步U[],相当于将X按照A的空间下变化过后,在转回原坐标系表示!

    那么对于SVD分解中,

    正交基v选择为A'A的特征向量的,由于A'A是对称阵,v之间两两正交,

    对v1,v2,...,vk进行扩展v(k+1),...,vn(这n-k个向量存在于A的零空间中,即Ax=0的解空间的基),使得v1,v2,...,vn为n维空间中的一组正交基,即

    当k < i <= m时,对u1,u2,...,uk进行扩展u(k+1),...,um,使得u1,u2,...,um为m维空间中的一组正交基,即

    A矩阵的奇异值分解:

                                                     

                    

    AX=UEVTx,,,按照同上的理解,首先对x坐标转换,然后做对应效果的拉伸,

    不过这里在一个A的作用下应该没有ATA的效果厉害所以只有sqrt作为对角元素,然后在使用U将表示转变回来!

    参考:http://blog.csdn.net/zhongkejingwang/article/details/43053513

    输出是最好的输入,记录并不止是以防忘记!
  • 相关阅读:
    Hadoop整理二(Hadoop分布式存储系统HDFS)
    Hadoop整理一(初识Hadoop)
    Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match
    Oracle登录
    神经网络一(用tensorflow搭建简单的神经网络并可视化)
    Qt程序启动画面播放(gif与swf两种动画格式)
    VS2008+GDI实现多幅图像的GIF动画制作
    C++读取特定路径下文件目录及文件名称
    求助——数据处理问题
    VC6.0读取Excel文件数据
  • 原文地址:https://www.cnblogs.com/kanuore/p/6758807.html
Copyright © 2011-2022 走看看