天天看點

svd奇異值分解_矩陣之芯 SVD: 奇異值分解及其幾何解釋拉格朗日乘子法的來曆與直覺解釋

後續奇異值分解(SVD)在整個(數值)線性代數及其應用中都扮演着重要角色,在理論分析以及數值計算兩個方面都有着廣泛應用。

本系列我們打算從理論、性質、幾何意義、算法實作以及多個方向上的應用等幾個角度較全面地介紹這一個重要工具。

為了友善大家浏覽,努力做到重點突出和言簡意赅。

學數學不要怕公式,多看+多想+多寫,自然而然就熟練了。

1目錄

1、簡要回顧

2、分解及證明

3、圖解幾何性質

2簡要回顧

這麼漂亮能幹的奇異值分解是怎麼來的呢?這一點在下面這篇裡我們已經作過介紹,這裡我們再簡要回顧一下。

萬能的 SVD 分解是哪位牛人提出來的?

雖然說來曆不一定代表它的本質,也不一定會增進對它的掌握,但對了解和應用或許會有一些啟發,是以還是有必要了解一下。

1、雙線性形式對角化問題

Beltrami 從如下雙線性形式開始,

其中, 為 階實矩陣。如果引入如下變量替換,

以及

則有,

其中,

Beltrami 觀察到,如果要求 和 是正交的,這樣的話在選擇它們的元素時将有 個自由度,他建議用這些自由度來消除 中的非對角元素。

最後歸結為求解如下矩陣的特征值和特征向量的問題,

或者

2、雙線性形式的極值問題

Jordan 從如下雙線性形式開始,

計算 在如下限制下的最大值和最小值,

轉化為求如下行列式

最後用歸納法得出目标雙線性形式的規範型。

3奇異值分解

基本定理

對于秩為 的矩陣 ,存在正交矩陣 和 ,使得如下分解成立

其中,

以及從大到小排列的正奇異值,

具體來說,我們有兩個版本的奇異值分解。

1、完整版

2、精簡版

注意,上面各個子矩陣的大小,即 ,,, 以及 中的 0-子塊的大小全部由 ()所确定。

下面我們來證明這個分解的存在性(唯一性另作說明),對證明興趣不大的童鞋可以跳過此部分。

證明思路

構造性證明,先利用特征分解求出 ,再用它将 構造出來。

  • 利用矩陣 是對稱且非負定,是以其特征值都是實數且非負。
  • 由矩陣 的特征分解得 及 。
  • 構造 ,擴充成矩陣 。

證明

由于 是對稱且非負定,即 ,是以其特征值都是實數且非負。(對矩陣 也作類似了解)

将 的 個特征值集記為 ,其中

令 為對應的正交特征向量,然後記

并令

由 可得

用 左乘,并利用 向量的正交性可得,

通過兩邊左乘和右乘 得

現在轉到特征值 對應的等式,可得

兩邊左乘 得

是以,。

現在由 定義矩陣 。

然後從式 中我們可以得到 ,即 的列是正交的。

可以構造矩陣 ,使得 成為一個正交矩陣。

然後

上面最後一步是因為 。

由 的定義,即 ,得

兩邊左乘 得,

而由于 和 這兩個子矩陣的列互相正交,可得

注意,上面框框裡是相等的。

是以,實際上得到

将其定義為 ,即完成證明。

最後再回顧一下證明的整體思路,

求 的特征值 和特征向量 和 ,進而得到 的一部分 ,再構造另一部分 ,得到 。

4圖解幾何性質

奇異值分解的性質多多,但不急,我們慢慢來揭示。

先不管其他方面,僅僅從分解的形式上分析一下奇異向量之間的關系。

基本幾何性質

對于 ,左右奇異向量之間滿足如下關系,

這兩點可以通過下面兩式得出,

以及

我們看第一點 。這一點表明,可以為矩陣 找到 中的 個正交向量,矩陣 将它們變換到了 中,并且它們仍然是兩兩正交的。

這裡通過一個 矩陣的奇異值分解的例子來展示上面的幾何性質:對于一個 矩陣 ,我們可以找到一個正交網格,該正交網格被變換為另一個正交網格。

這裡想說的一個事情是:通過選擇合适的正交機關向量 和 ,經矩陣 變換後得到的 與 也是正交的。

svd奇異值分解_矩陣之芯 SVD: 奇異值分解及其幾何解釋拉格朗日乘子法的來曆與直覺解釋

不過問題是,這些向量 存在嗎?答案是肯定的,其實就是矩陣 的特征向量,同時也是矩陣 的右奇異向量。

因為我們有如下分解,

容易證明向量 和 也是正交的,

雖然 和 仍然是正交的,但一般情況下它們不再是機關向量。那麼如果将它們對應的機關向量提出來,那正是左奇異向量。

svd奇異值分解_矩陣之芯 SVD: 奇異值分解及其幾何解釋拉格朗日乘子法的來曆與直覺解釋

這正是上面證明過程中看到的那一步,

另外,還可以換個角度解釋: 定義在機關圓上的函數 在 處取得最大值,而在 處取得最小值。

svd奇異值分解_矩陣之芯 SVD: 奇異值分解及其幾何解釋拉格朗日乘子法的來曆與直覺解釋

與線性映射的關系

理清上面這一點關系以後可以再回到上一篇中看最後那部分。

線性映射: 從凱萊引入矩陣乘法說起

這裡,我們用奇異值分解來将一個線性映射的過程分成三個步驟:

  • 是将 中的一個向量 先往 中的一組基 上投影,得到坐标 ;
  • 該坐标再經對角矩陣 一縮放,得到新的坐标 ;
  • 最後這個坐标是相對于 空間中的 這組基而言的,于是就得到了向量 在這個線性映射下的像 。

好了,上面就是用矩陣 表示的這個線性映射的分解過程。

本篇到此為止,為了控制篇幅,更多的性質、圖解以及應用交給後續文章。

相關閱讀

矩陣和線性代數原來是這麼來的

機率論原來可以這樣優雅地入門

機器學習的數學基礎 之 向量範數

機器學習的數學基礎 之 矩陣範數

矩陣特征值的故事 - 緣起琴弦

矩陣前傳 - 消元法與行列式之獨立演義矩陣前傳 - 牛頓沒帶紅的貨被高斯帶紅了矩陣前傳 - 克萊姆沒能證明的法則被他兩行搞定矩陣前傳 - 矩陣之父 Sylvester 為什麼提出 Matrix矩陣前傳 - 柯西-比内公式及其用初等矩陣的證明二次型和矩陣合同原來是這麼一回事

拉格朗日乘子法的來曆與直覺解釋

矩陣特征值是這麼來的,以及有趣的蓋爾圓矩陣分解術,不得不從高斯說起 萬能的 SVD 分解是哪位牛人提出來的?度量、範數和内積原來是這麼個關系

線性映射: 從凱萊引入矩陣乘法說起

svd奇異值分解_矩陣之芯 SVD: 奇異值分解及其幾何解釋拉格朗日乘子法的來曆與直覺解釋