机器学习

奇异值

2019-07-04  本文已影响27人  9933fdf22087

简述:如果是方阵,则可以通过特征值分解(EVD)得到矩阵的特征参数(特征值与特征向量)。对于非方阵则需要用到奇异值分解。
A=U \Sigma V^{T}

理解:假设A是一个M*N的矩阵,得到的U是一个M*M的方阵(里面的向量是正交的,U里面的向量称为左奇异向量),Σ是一个M * N的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值)V^T是一个N * N的矩阵,里面的向量也是正交的(里面的向量称为右奇异向量)

做法:将该矩阵A与其转置矩阵A^T相乘得到一个方阵,接着用这个方阵求特征值可以得到\left(A^{T} A\right) v_{i}=\lambda_{i} v_{i}。这里得到的V_i就是上面的右奇异向量,此外,我们可以得到:
\sigma_{i}=\sqrt{\lambda_{i}}u_{i}=\frac{1}{\sigma_{i}} A v_{i}
这里的σ_i就是上面说的奇异值。u_i就是上面的左奇异向量。奇异值σ跟特征值相似,在矩阵Σ中也是按从大到小的方式排列,而且σ的值减小的特别的快,在很多的情况下前10%甚至1%的奇异值之和就占了全部奇异值之和的99%以上。也就是说可以用前r个大的奇异值来近似的描述矩阵,这里定义奇异值的分解:
A_{m \times n} \approx U_{m \times r} \Sigma_{r \times r} V_{r \times n}^{T}
r远小于m与n,当然越接近得出的矩阵越接近于原来的矩阵A

上一篇 下一篇

猜你喜欢

热点阅读