矩阵论基础知识2(正交、 Givens 变换、Householder变换)
来源:互联网 发布:java轻量级工作流引擎 编辑:程序博客网 时间:2024/06/05 10:24
机器学习中的矩阵方法02:正交
说明:Matrix Methods in Data Mining and Pattern Recognition 读书笔记
1. 正交的一些概念和性质
在前一章的最小二乘的问题中,我们知道不恰当的基向量会出现条件数过大,系统防干扰能力差的现象,这实际上和基向量的正交性有关。
两个向量的内积如果是零, 那么就说这两个向量是正交的,在三维空间中,正交的两个向量相互垂直。如果相互正交的向量长度均为 1, 那么他们又叫做标准正交基。
正交矩阵则是指列向量相互正交的方阵。标准正交矩阵有具有如下性质:
若 P 和 Q 是标准正交矩阵,那么 X = PQ 也是标准正交矩阵。
正交矩阵最重要的性质之一是它的变换可以保证一个向量的长度不变(主要使方向发生变化),包括 Euclidean lenght , matrix norm 和 Frobenius norm.
2. 正交矩阵
在复平面内,将一个向量逆时针旋转 角度,只需要在该复数前面乘以 即可,现在我们要顺时针旋转,利用欧拉公式:
假设现在有一个复数: a + i b
左乘上面公式得到:
上述运算写成矩阵相乘的形式即为:
其中,左边的平面旋转矩阵(每一项少了一个)就是一个标准的正交方阵,可以保证旋转后的向量与原来的向量长度相同。
有了 Givens 旋转方法,只要确定两个坐标之间的夹角,我们可以将任意向量旋转到单位向量 e1 上,过程如下:
用公式可以表示为:
有性质2(若 P 和 Q 是标准正交矩阵,那么 X = PQ 也是标准正交矩阵)推导出这个变换矩阵也是一个标准正交矩阵。
所以,向量长度不变:
3. Householder Transformations
现在手头有某一个向量 x, 想通过一个标准正交矩阵 P 将 x 转换为 y,有什么方法可以求出矩阵 P?一种方法是通过上面的旋转一步一步完成,P = G1G2G3。这里,我们有一个更加快捷的公式,即为 Householder Transformations.
拿上一小节的例子,求转换矩阵 P 的运算过程如下:
- ,
- ,
- (u是v的归一化向量)
运算很简单,可以用笔验证上述过程是否正确。
Px=x-2uu'x 这里uu’即为x在u方向上的投影矩阵(uu'/u'u为投影矩阵,这里u'u=1),因此下图的虚线即为等腰三角形顶点得角平分线
用维基百科里面的一个图(u和v标反了)可以将上述运算过程表示成:
The goal is to find a linear transformation that changes the vector into a vector of same length which is collinear to . We could use an orthogonal projection (Gram-Schmidt) but this will be numerically unstable if the vectors and are close to orthogonal. Instead, the Householder reflection reflects through the dotted line (chosen to bisect(一分为二) the angle between and ). The maximum angle with this transform is at most 45 degrees.
- 矩阵论基础知识2(正交、 Givens 变换、Householder变换)
- 关于正交变换和正交矩阵
- Householder变换将对称矩阵化为三对角形式
- 正交变换
- 矩阵论笔记(三)——欧氏空间与正交变换
- 十四、H.264的变换编码(一)——矩阵运算与正交变换基本概念
- Householder 变换与 QR 分解
- QR分解之HouseHolder变换
- 基于Givens变换的QR分解
- Learn OpenGLES: 正交变换
- 图像正交变换
- 正交投影与变换
- 基于Householder变换的QR分解
- 基于Householder变换的约束自适应算法
- 绘图(五,Android图像变换基础知识矩阵Matrix)
- HDU4998Rotate(矩阵变换)
- 图像的正交变换----傅立叶变换
- 图像的正交变换---离散余弦变换
- android学习记录(十二)android设备兼容性
- windows下面编译blink/blink/ chromium 浏览器
- 金升阳率先推出无电解电容AC-DC电源模块LNxx-12Bxx技术手册
- 获取Mac地址
- C++primer 学习(三)引用
- 矩阵论基础知识2(正交、 Givens 变换、Householder变换)
- POJ 3468 - A Simple Problem with Integers
- 【j2ee spring】4、spring的aop学习
- 计算1到5的合值
- FPGA学习之片上ROM
- ASP.Net 文件上传大小限制解决方案修改IIS7/7.5配置
- nil / Nil / NULL / NSNull
- Install GoldenGate Director
- dict里面的itervalues() 方法比 values()