矩阵论基础知识2(正交、 Givens 变换、Householder变换)

                                                   机器学习中的矩阵方法02:正交

 

说明:Matrix Methods in Data Mining and Pattern Recognition 读书笔记

 

1. 正交的一些概念和性质

在前一章的最小二乘的问题中,我们知道不恰当的基向量会出现条件数过大系统防干扰能力差的现象,这实际上和基向量的正交性有关。

两个向量的内积如果是零, 那么就说这两个向量是正交的,在三维空间中,正交的两个向量相互垂直。如果相互正交的向量长度均为 1, 那么他们又叫做标准正交基。

正交矩阵则是指列向量相互正交的方阵。标准正交矩阵有具有如下性质:

  1. 若 P 和 Q 是标准正交矩阵,那么 X = PQ 也是标准正交矩阵

  2. 正交矩阵最重要的性质之一是它的变换可以保证一个向量的长度不变(主要使方向发生变化),包括 Euclidean lenght , matrix norm 和 Frobenius norm.

 

2. 正交矩阵

在复平面内,将一个向量逆时针旋转  角度,只需要在该复数前面乘以  即可,现在我们要顺时针旋转,利用欧拉公式:

假设现在有一个复数: a + i b

左乘上面公式得到:

上述运算写成矩阵相乘的形式即为:

其中,左边的平面旋转矩阵(每一项少了一个)就是一个标准的正交方阵,可以保证旋转后的向量与原来的向量长度相同

有了 Givens 旋转方法,只要确定两个坐标之间的夹角,我们可以将任意向量旋转到单位向量 e1 上,过程如下:

矩阵论基础知识2(正交、 Givens 变换、Householder变换)_第1张图片

用公式可以表示为:

有性质2(若 P 和 Q 是标准正交矩阵,那么 X = PQ 也是标准正交矩阵)推导出这个变换矩阵也是一个标准正交矩阵。

所以,向量长度不变:

 

3. Householder Transformations

现在手头有某一个向量 x, 想通过一个标准正交矩阵 P 将 x 转换为 y,有什么方法可以求出矩阵 P?一种方法是通过上面的旋转一步一步完成,P = G1G2G3。这里,我们有一个更加快捷的公式,即为 Householder Transformations.

拿上一小节的例子,求转换矩阵 P 的运算过程如下:

  1. ,
  2. ,
  3. u是v的归一化向量

运算很简单,可以用笔验证上述过程是否正确。

Px=x-2uu'x   这里uu’即为x在u方向上的投影矩阵(uu'/u'u为投影矩阵,这里u'u=1),因此下图的虚线即为等腰三角形顶点得角平分线

用维基百科里面的一个图(u和v标反了)可以将上述运算过程表示成:

矩阵论基础知识2(正交、 Givens 变换、Householder变换)_第2张图片

 

 

 

 

 

 

 The goal is to find a linear transformation that changes the vector x into a vector of same length which is collinear to e_1. We could use an orthogonal projection (Gram-Schmidt) but this will be numerically unstable if the vectors x and e_1 are close to orthogonal. Instead, the Householder reflection reflects through the dotted line (chosen to bisect(一分为二) the angle between x and e_1). The maximum angle with this transform is at most 45 degrees.

你可能感兴趣的:(机器学习)