SVD 奇異值分解

Vectors 向量

向量通常用頭上有一個箭頭的小寫字母表示,如 x \vec{x} 。構成向量的數字叫做分向量(components),分向量的數量等於向量的維度(dimensionality of the vector)。
x = ( 8 6 7 5 3 ) \vec{x} = \left(\begin{array}{cc} 8\\ 6\\ 7\\ 5\\ 3 \end{array} \right)
上面的例子表示了一個5維的向量, x 1 = 8 , x 2 = 6 x_1=8,x_2=6 ,向量也可以水平表示來節省空間,例如 x = [ 8 , 6 , 7 , 5 , 3 ] \vec{x}=[8, 6, 7, 5, 3] 。普遍來說,一個 n n 維向量 x \vec{x} 是一個 n n 個數字的序列,分向量 x i x_i 表示在第 i i 維的 x \vec{x} 的值。

Matrices 矩陣

矩陣和表格很像。矩陣由行(row,橫向的列表)和列(column,縱向的列表)組成。
A = [ 17 18 5 5 45 1 42 28 30 15 115 3 10 10 10 21 51 2 28 5 65 39 132 5 24 26 45 21 116 4 ] A= \left[\begin{array}{cc} 17 & 18 & 5 & 5 & 45 & 1\\ 42 & 28 & 30 & 15 & 115 & 3\\ 10 & 10 & 10 & 21 & 51 & 2\\ 28 & 5 & 65 & 39 & 132 & 5\\ 24 & 26 & 45 & 21 & 116 & 4 \end{array} \right]
矩陣的大小(或者說維度)是由矩陣的行數和列數決定的,上面的矩陣就是一個 5 × 6 5 \times 6 大小的矩陣。通常來說,矩陣用大寫字母表示,例如 A A ,矩陣的行數用 m m 表示,列數用 n n 表示。矩陣的元素(entries or elements or components)表示爲小寫的 a a ,這個元素 a a 的位置是由它所在的行數 i i 和列數 j j 表示。舉例來說,132在矩陣的第4行第5列, a 45 = 132 a_{45}=132 。在第 i i 行第 j j 列的元素表示爲 a i j a_{ij} ,叫做 i j e n t r y ij-entry i j c o m p n e n t ij-compnent

Matrix Notation 矩陣表示

m , n m,n 是兩個大於1的整數,令 a i j , i = 1 , . . . , m , j = 1 , . . . , n a_{ij},i=1,...,m,j=1,...,n ,由數字組成的矩陣
A = [ a 11 . . . a 1 j . . . a 1 n . . . a i 1 . . . a i j . . . a i n . . . a m 1 . . . a m j . . . a m n ] A= \left[\begin{array}{cc} a_{11} & ... & a_{1j} & ... & a_{1n}\\ . & & . & & .\\ a_{i1} & ... & a_{ij} & ... & a_{in}\\ . & & . & & .\\ a_{m1} & ... & a_{mj} & ... & a_{mn} \end{array} \right]
是一個 m × n m\times n 大小的矩陣, a i j a_{i}j 是A的元素。數字序列
A ( i ) = ( a i 1 , . . . , a ( i n ) ) A_{(i)} = (a_{i1}, ..., a_{(in)})
是矩陣的第 i i 行,數字序列
A ( j ) = ( a 1 j , . . . , a ( m j ) ) A^{(j)} = (a_{1j}, ..., a_{(mj)})
是矩陣的第 j j 行。
矩陣可以看作是一些向量的集合,一個 n n 維的向量可以看作是一個 1 × n 1\times n 的矩陣。

Vector Terminology 向量術語

Vector Length 向量長度

向量 v \vec{v} 的長度表示爲 v |\vec{v}| 。它的計算公式爲
v = i = 1 n x i 2 |\vec{v}| = \sqrt{\sum_{i=1}^{n}x_i^2}
例如, v = [ 4 , 11 , 8 , 10 ] \vec{v}=[4,11,8,10] ,那麼它的長度
v = 4 2 + 1 1 2 + 8 2 + 1 0 2 = 301 |\vec{v}|=\sqrt{4^2+11^2+8^2+10^2}=\sqrt{301}

Vector Addition 向量加法

將兩個向量相加,就是把 v 1 \vec{v_1} 裏面的元素與 v 2 \vec{v_2} 裏相對應的元素相加,如果
A = [ a 1 , a 2 , . . . , a n ] , B = [ b 1 , b 2 , . . . , b n ] A = [a_1, a_2, ..., a_n], B=[b_1,b_2,...,b_n] , 那麼 A + B = [ a 1 + b 1 , a 2 + b 2 , . . . , a n + b n ] A+B=[a_1+b_1, a_2+b_2, ..., a_n+b_n]

Scalar Multiplication 標量乘法

將一個標量(實數)和一個向量相乘,就是把向量裏面的每個元素與這個標量相乘。如果 d d 是一個實數, v \vec{v} 代表一個向量 v 1 , v 2 , . . . , v n v_1, v_2, ...,v_n ,那麼 d v = [ d v 1 , d v 2 , . . . , d v n ] d*\vec{v}=[dv_1,dv_2,...,dv_n]

Inner Product 內積

兩個向量的內積代表將兩個向量的每個對應的元素相乘然後將這些結果相加,表示爲 ( v 1 , v 2 ) (\vec{v_1}, \vec{v_2}) 或者 v 1 v 2 \vec{v_1}\cdot\vec{v_2} ( v 1 , v 2 ) = v 1 v 2 = i = 1 n x i y i (\vec{v_1}, \vec{v_2})=\vec{v_1}\cdot\vec{v_2}=\sum_{i=1}^{n}x_i y_i

Orthogonality 正交

如果兩個向量的內積爲0,那麼這兩個向量是正交的。

Normal Vector or Unit Vector 單位向量

向量長度爲1的向量可以叫做單位向量。任何向量長度大於0的向量可以通過將每個元素除以向量長度的方法正規化(normalized)爲單位向量。
例如:
v = [ 2 , 4 , 1 , 2 ] \vec{v} = [2, 4, 1, 2] ,那麼它的長度爲
v = 2 2 + 4 2 + 1 2 + 2 2 = 5 |\vec{v}|=\sqrt{2^2 + 4^2 + 1^2 + 2^2} = 5
那麼 u = [ 2 / 5 , 4 / 5 , 1 / 5 , 1 / 5 ] \vec{u}=[2/5, 4/5, 1/5, 1/5] 是一個單位向量,因爲
u = ( 2 / 5 ) 2 + ( 4 / 5 ) 2 + ( 1 / 5 ) 2 + ( 1 / 5 ) 2 = 1 |\vec{u}| = \sqrt{(2/5)^2 + (4/5)^2 + (1/5)^2 + (1/5)^2}=1

Orthonormal Vectors

兩個正交的單位向量叫做orthonormal。

Gram-Schmidt Orthonormalization Process

將一組向量變成互相正交的單位向量
例如
A = [ 1 2 1 0 2 0 2 3 1 1 1 0 ] A= \left[\begin{array}{cc} 1 & 2 & 1\\ 0 & 2 & 0\\ 2 & 3 & 1\\ 1 & 1 & 0 \end{array}\right]
轉換爲一組正交的單位向量
A = [ 6 6 2 6 2 3 0 2 2 3 1 3 6 3 0 0 6 6 2 6 2 3 ] A= \left[\begin{array}{cc} \frac{\sqrt{6}}{6} & \frac{\sqrt{2}}{6} & \frac{2}{3}\\ 0 & \frac{2\sqrt{2}}{3} & -\frac{1}{3}\\ \frac{\sqrt{6}}{3} & 0 & 0\\ \frac{\sqrt{6}}{6} & -\frac{\sqrt{2}}{6} & -\frac{2}{3} \end{array}\right]
首先,單位化 v 1 = [ 1 , 0 , 2 , 1 ] \vec{v_1}=[1,0,2,1]
u 1 = [ 1 6 , 0 , 2 6 , 1 6 ] \vec{u_1}=[\frac{1}{\sqrt{6}}, 0, \frac{2}{\sqrt{6}}, \frac{1}{\sqrt{6}}]
然後,令
w 2 = v 2 u 1 v 2 u 1 = [ 2 , 2 , 3 , 1 ] [ 1 6 , 0 , 2 6 , 1 6 ] [ 2 , 2 , 3 , 1 ] [ 1 6 , 0 , 2 6 , 1 6 ] = [ 2 , 2 , 3 , 1 ] 9 6 [ 1 6 , 0 , 2 6 , 1 6 ] = [ 2 , 2 , 3 , 1 ] [ 3 2 , 0 , 3 , 3 2 ] = [ 1 2 , 2 , 0 , 1 2 ] \begin{aligned} \vec{w_2}=\vec{v_2}-\vec{u_1}\cdot\vec{v_2}*\vec{u_1}=&[2, 2, 3, 1] - [\frac{1}{\sqrt{6}}, 0, \frac{2}{\sqrt{6}}, \frac{1}{\sqrt{6}}]\cdot[2,2,3,1]*[\frac{1}{\sqrt{6}}, 0, \frac{2}{\sqrt{6}}, \frac{1}{\sqrt{6}}]\\ =&[2,2,3,1]-\frac{9}{\sqrt{6}}*[\frac{1}{\sqrt{6}}, 0, \frac{2}{\sqrt{6}}, \frac{1}{\sqrt{6}}]\\ =&[2,2,3,1]-[\frac{3}{2},0,3,\frac{3}{2}]\\ =&[\frac{1}{2}, 2, 0, -\frac{1}{2}] \end{aligned}
w 2 \vec{w_2} 正規化,得到
v 2 = [ 2 6 , 2 2 3 , 0 , 2 6 ] \vec{v_2}=[\frac{\sqrt{2}}{6}, \frac{2\sqrt{2}}{3}, 0, -\frac{\sqrt{2}}{6}]
同理可得,
u 3 = [ 2 3 , 1 3 , 0 , 2 3 ] \vec{u_3}=[\frac{2}{3}, -\frac{1}{3}, 0, -\frac{2}{3}]
一般來說,有一組向量,那麼
w k = v k i = 1 k 1 u t v k u t \vec{w_k}=\vec{v_k}-\sum_{i=1}^{k-1}\vec{u_t}\cdot\vec{v_k}*\vec{u_t}

Matrix Terminology 矩陣術語

Square Matrix 方塊矩陣

如果一個矩陣的行數和列數相同,那麼這個矩陣是方塊矩陣。

Transpose 轉置

一個矩陣的轉置矩陣是通過將原本的矩陣的每個元素交換行和列來生成的。 A A 的轉置矩陣表示爲 A T A^T 。例如
A = [ 1 2 3 4 5 6 ] A= \left[\b-12.667 15.667-32.333 47-59 H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 c-16-25.333-24-45-24-59z"> vk ut

Matrix Terminology 矩陣術語

Square Matrix 方塊矩陣

如果一個矩陣的行數和列數相同,那麼這個矩陣是方塊矩陣。

Transpose 轉置

一個矩陣的轉置矩陣是通過將原本的矩陣的每個元素交換行和列來生成的。 A A 的轉置矩陣表示爲 A T A^T 。例如
A = [ 1 2 3 4 5 6 ] A= \left[\begin{array}{cc} 1 & 2 & 3\\ 4 & 5 & 6 \end{array}\right]
那麼 A A 的轉置矩陣爲
A T = [ 1 4 2 5 3 6 ] A^T= \left[\begin{array}{cc} 1 & 4\\ 2 & 5\\ 3 & 6 \end{array}\right]

相關文章
相關標籤/搜索