• SVD分解 解齐次线性方程组


    SVD分解

    • 只有非方阵才能进行奇异值分解

    • SVD分解:把矩阵分解为 特征向量矩阵+缩放矩阵+旋转矩阵

    • 定义
      (A∈R^{m×n}),且$ rank(A) = r (r > 0) (,则矩阵A的奇异值分解(SVD)可表示为  )A = UΣV^T =
      Uegin{bmatrix}
      sum &0
      0&0
      end{bmatrix}V = σ_1u_1vT_1+σ_2u_2vT_2+σ_ru_rv^T_r qquad s.t.:U 和V都为正交矩阵$

    • 几何含义

      • A矩阵的作用是将一个向量从V这组正交基向量的空间旋转到U这组正交基向量的空间,并对每个方向进行了一定的缩放(由Σ决定),缩放因子就是各个奇异值。如果V的维度比U 大,则表示还进行了投影。
      • 奇异值分解:将一个矩阵原本混合在一起的三种作用效果,分解出来了。
    • (U∈R_{m×m}) (左奇异向量):U的列为(AA^T)的正交特征向量

    • (V∈R_{n×n})(右奇异向量):V的列为(A^TA)的正交特征向量

    • (AA^T)(A^TA):是实对称正定矩阵,且其特征值为非负实数

    • (rank(AA^T) = rank(A^TA) = rank(A))

    • (AA^T)(A^TA)的特征值相同:为(λ_1,λ_2,...,λ_r),且(λ_i≥λ_i+1,λ_i≥0)

    • (Σ∈R_{m×n}:σ_i = Σ_{ii} = sqrt{λ_i}),其它元素的值为0

    • (Σ = diag(σ_1,σ_2,...,σ_r))

    • (σ_i(i=1,2,...,r),σ_1≥...≥σ_r>0):为矩阵A的全部奇异值

    SVD解齐次线性方程组

    齐次线性方程组(Ax=0) 即为(||Ax||_2)的非线性优化问题,我们已经知道了x=0是该方程组的一个特解,为了避免x=0这种情况,增加一个约束,比如(||x||_2=1)
    egin{equation}
    min||Ax|| qquad s.t.:||x||=1
    end{equation}

    egin{equation}
    min||Ax||=min||UDVTx||=min||DVTx||
    end{equation}

    egin{equation}
    y=V^Tx
    end{equation}
    则问题变为:
    egin{equation}
    min||Dy||
    end{equation}
    又因为(||y||=1),且D是一个对角矩阵,对角元素按降序排列,因此最优解在y=(0,0,...,1)T时取得,又因为x=Vy, 所以最优解就是V的最小奇异值对应的列向量。

  • 相关阅读:
    python中filter(),map()和reduce()的用法及区别
    Python中的单例模式的几种实现方式的及优化
    python标准库和第三方库的区别
    django和flask的区别
    wtforms
    protobuf学习
    人物FSM
    策略模式
    虚函数调用机制
    虚析构函数
  • 原文地址:https://www.cnblogs.com/narjaja/p/10306166.html
Copyright © 2020-2023  润新知