說明:Matrix Methods in Data Mining and Pattern Recognition 讀書筆記ide
在前一章的最小二乘的問題中,咱們知道不恰當的基向量會出現條件數過大,系統防干擾能力差的現象,這實際上和基向量的正交性有關。this
兩個向量的內積若是是零, 那麼就說這兩個向量是正交的,在三維空間中,正交的兩個向量相互垂直。若是相互正交的向量長度均爲 1, 那麼他們又叫作標準正交基。idea
正交矩陣則是指列向量相互正交的方陣。標準正交矩陣有具備以下性質:spa
若 P 和 Q 是標準正交矩陣,那麼 X = PQ 也是標準正交矩陣。orm
正交矩陣最重要的性質之一是它的變換能夠保證一個向量的長度不變,包括 Euclidean lenght , matrix norm 和 Frobenius norm.blog
在以前 coding the matrix 系列博客的第一篇咱們知道,在複平面內,將一個向量逆時針旋轉 度角度,只須要在該複數前面乘以 便可,如今咱們要順時針旋轉,利用歐拉公式:博客
假設如今有一個複數: a + i bit
左乘上面公式獲得:io
上述運算寫成矩陣相乘的形式即爲:table
其中,左邊的平面旋轉矩陣就是一個標準的正交方陣,能夠保證旋轉後的向量與原來的向量長度相同。
有了 Givens 旋轉方法,只要肯定兩個座標之間的夾角,咱們能夠將任意向量旋轉到單位向量 e1 上,過程以下:
用公式能夠表示爲:
有性質2推導出這個變換矩陣也是一個標準正交矩陣。
因此,向量長度不變:
如今手頭有某一個向量 x, 想經過一個標準正交矩陣 P 將 x 轉換爲 y,有什麼方法能夠求出矩陣 P?一種方法是經過上面的旋轉一步一步完成,P = G1G2G3。這裏,咱們有一個更加快捷的公式,即爲 Householder Transformations.
拿上一小節的例子,求轉換矩陣 P 的運算過程以下:
運算很簡單,能夠用筆驗證上述過程是否正確。
用維基百科裏面的一個圖能夠將上述運算過程表示成:
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.