Gram-Schmidt正交变化

首先要了解一下向量的基本知识点:
向量:分为列向量 [ 1 2 3 . . . n ] \begin{bmatrix} 1\\2 \\ 3 \\... \\n \end{bmatrix} 123...n和横向量比如 [ 1 2 3 . . . n ] \begin{bmatrix} 1 &2&3 &...&n \end{bmatrix} [123...n],都属于矩阵的一种。
:设V为向量空间,如果r个向量 a 1 , a 2 . . . a r ∈ V a_1,a_2...a_r\in V a1,a2...arV且满足:
(i) a 1 , a 2 . . . a r a_1,a_2...a_r a1,a2...ar线性无关(就是相互之间不能表示,比如 a 1 a_1 a1不可以由 a 2 . . . a n a_2...a_n a2...an表示,这样才能保证他们每个表示一个维度,这里维度不一定与坐标轴平行);
(ii) V V V中任意向量都可以由 a 1 , a 2 . . . a r a_1,a_2...a_r a1,a2...ar表示,那么称 a 1 , a 2 . . . a r a_1,a_2...a_r a1,a2...ar为向量空间 V V V的一个基, r r r称为向量空间 V V V维数,称 V V V r r r维向量空间,
维度:基中每一个向量都表示该向量空间的一个维度
向量内积:设有n为向量 x = [ x 1 x 2 x 3 . . . x n ] x=\begin{bmatrix} x_1\\x_2 \\ x_3 \\... \\x_n \end{bmatrix} x=x1x2x3...xn y = [ y 1 y 2 y 3 . . . y n ] y=\begin{bmatrix} y_1\\y_2 \\ y_3 \\... \\y_n \end{bmatrix} y=y1y2y3...yn [ x , y ] = x T y = x 1 y 1 + x 2 y 2 + . . . + x n y n [x,y]=x^Ty=x_1y_1+x_2y_2+...+x_ny_n [x,y]=xTy=x1y1+x2y2+...+xnyn,称 [ x , y ] [x,y] [x,y] x x x y y y的内积。内积有如下性质:
(i) [ x , y ] = [ y , x ] [x,y]=[y,x] [x,y]=[y,x]
(ii) [ λ x , y ] = λ [ x , y ] [\lambda x,y]=\lambda[x,y] [λx,y]=λ[x,y]
(iii) [ x + y , z ] = [ x , z ] + [ y , z ] [x+y,z]=[x,z]+[y,z] [x+y,z]=[x,z]+[y,z]
(iv) [ 0 , 0 ] = 0 [0,0]=0 [0,0]=0
(vi) [ x , y ] ≤ [ x , x ] [ y , y ] [x,y]\leq[x,x][y,y] [x,y][x,x][y,y]
向量的内积实际上是,解析几何(2-3维空间)中的数量积:
x ⋅ y = [ x , y ] = ∣ x ∣ ∣ y ∣ c o s θ x \cdot y=[x,y]=|x||y|cos\theta xy=[x,y]=xycosθ
对于高维向量使用 ∣ ∣ x ∣ ∣ = [ x , x ] = x 1 2 + x 2 2 . . . + x n 2 ||x||= \sqrt{ [x,x]}=\sqrt{x_1^2+x^2_2...+x_n^2} x=[x,x] =x12+x22...+xn2 表示其长度(或范数),也就是向量的模。
所以对于高维像量我们由可以这样表示其内积:
[ x , y ] = ∣ ∣ x ∣ ∣ ∣ ∣ y ∣ ∣ c o s θ [x,y]=||x|| ||y||cos\theta [x,y]=xycosθ两个向量夹角就是 θ = a r c c o s [ x , y ] ∣ ∣ x ∣ ∣ ∣ ∣ y ∣ ∣ \theta=arccos\frac{[x,y]}{||x|| ||y||} θ=arccosxy[x,y]
正交基: 设n维向量 a 1 , a 2 . . . a r a_1,a_2...a_r a1,a2...ar是向量空间 V ⊆ R n V\subseteq R^n VRn的一个基,且他们两两正交,则他们是 V V V正交基,若都是单位向量,则是标准正交基

Gram-Schmidt正交变化

a 1 , a 2 . . . a r a_1,a_2...a_r a1,a2...ar是空间V的一个基,求V的一个标准正交基。这就是找一组两两正交且都是单位向量的 e 1 , e 2 . . . e r e_1,e_2...e_r e1,e2...er a 1 , a 2 . . . a r a_1,a_2...a_r a1,a2...ar等价,这个过程称为 a 1 , a 2 . . . a r a_1,a_2...a_r a1,a2...ar标准正交化。我们使用的方法就是 Gram-Schmidt正交变化:
b 1 = a 1 b_1=a_1 b1=a1
b 2 = a 2 − [ b 1 , a 2 ] [ b 1 , b 1 ] b 1 b_2=a_2-\frac{[b_1,a_2]}{[b_1,b_1]}b_1 b2=a2[b1,b1][b1,a2]b1

b r = a r − [ b 1 , a r ] [ b 1 , b 1 ] b 1 − [ b 2 , a r ] [ b 2 , b 2 ] b 2 − . . . [ b r − 1 , a r ] [ b r − 1 , b r − 1 ] b r − 1 b_r=a_r-\frac{[b_1,a_r]}{[b_1,b_1]}b_1-\frac{[b_2,a_r]}{[b_2,b_2]}b_2-...\frac{[b_{r-1},a_r]}{[b_{r-1},b_{r-1}]}b_{r-1} br=ar[b1,b1][b1,ar]b1[b2,b2][b2,ar]b2...[br1,br1][br1,ar]br1
我们使用前面的知识可以很容易证明 b 1 , b 2 . . . b r b_1,b_2...b_r b1,b2...br两两正交,且与 a 1 , a 2 . . . a r a_1,a_2...a_r a1,a2...ar等价,然后再单位化操作:
e n = b n ∣ ∣ b n ∣ ∣ e_n=\frac{b_n}{||b_n||} en=bnbn

我们来证明b1与b2正交,并理解这个正交化操作的原理:

b 1 = a 1 b_1=a_1 b1=a1
b 2 = a 2 − [ b 1 , a 1 ] [ b 1 , b 1 ] b 1 b_2=a_2-\frac{[b_1,a_1]}{[b_1,b_1]}b_1 b2=a2[b1,b1][b1,a1]b1
那么 [ b 1 , b 2 ] = [ a 1 , a 2 ] − [ a 1 , [ b 1 , a 2 ] [ b 1 , b 1 ] b 1 ] = [ a 1 , a 2 ] − [ a 1 , a 2 ] = 0 [b_1,b_2]=[a_1,a_2]-[a_1,\frac{[b_1,a_2]}{[b_1,b_1]}b_1]=[a_1,a_2]-[a_1,a_2]=0 [b1,b2]=[a1,a2][a1,[b1,b1][b1,a2]b1]=[a1,a2][a1,a2]=0
我们知道 [ b 1 , a 2 ] [ b 1 , b 1 ] b 1 = ∣ ∣ b 1 ∣ ∣ ∣ ∣ a 2 ∣ ∣ c o s θ ∣ ∣ b 1 ∣ ∣ ∣ ∣ b 1 ∣ ∣ b 1 \frac{[b_1,a_2]}{[b_1,b_1]}b_1=\frac{||b_1||||a_2||cos\theta}{||b_1||||b_1||}b_1 [b1,b1][b1,a2]b1=b1b1b1a2cosθb1,这就是求 a 2 a_2 a2 b 1 ( a 1 ) b_1(a_1) b1(a1)上的投影, a 2 − 投 影 a_2-投影 a2就得到了一个垂直 b 1 ( a 1 ) b_1(a_1) b1(a1)的向量,如下图:
Gram-Schmidt正交变化_第1张图片
所以 b 1 b_1 b1 b 2 b_2 b2垂直。

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