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
最新文章
- 对于前端,「微信小程序」其实不美好
- JSON(及其在ajax前后端交互的过程)小识
- Node.js之创建应用
- Chocolat.js – 响应式的 jQuery Lightbox 插件
- UISprite(NGUI)扩展 图片镂空
- Unity碰撞器触发关系测试
- MethodNotAllowedHttpException
- mysql 实现oracle start with connect by递归
- SQL Server 2008复制发布订阅(数据同步)
- android 页面滑动 ViewFlipper,OnGestureListener,OnTouchListener
- 2017 google Round C APAC Test 题解
- flash里面调用js
- Codeforces Round #216 (Div. 2) E. Valera and Queries (BIT)
- 省市区三级联动(jquery+ajax)(封装和不封装两种方式)-----2017-05-15
- mongodb设置用户名和密码
- Django 执行单独脚本及SyntaxError缩进报错解决
- 基于 HTML5 Canvas 的 3D WebGL 机房创建
- 使用uwsgi部署Django应用
- Repository mirror 解析
- u3d fpsCounter
热门文章
- [virtualbox] virtualbox 安裝 ubuntu,但 virtualbox 卻無法執行 ubuntu 的快速鍵,解法方式
- hdu 4510(模拟)
- js 克隆数据 (数组的深浅拷贝)
- 《Python基础教程读书笔记》
- socket的accept: Invalid argument问题
- SQL Server 存储
- win10 安装git
- OTN 交换&;amp; P-OTN有效减少100G 网络成本 (三)
- 【windows socket+UDPserverclient】
- spoj 1811 LCS - Longest Common Substring (后缀自己主动机)