開發者必讀:計算機科學中的線性代數

選自arXiv算法

做者:Petros Drineas、Michael W. Mahoney微信

機器之心編譯網絡

參與:李澤南、劉曉坤、蔣思源dom


矩陣計算在計算機科學中佔有舉足輕重的地位,是每一個開發者都須要掌握的數學知識。近日,來自普渡大學的 Petros Drineas 與 UC Berkeley 的 Michael Mahoney 提交了一篇概述論文《Lectures on Randomized Numerical Linear Algebra》能夠做爲線性代數知識的參考資料,本文將對其中的部份內容(主要爲第二章:線性代數)進行簡單介紹。

論文連接:arxiv.org/pdf/1712.08…機器學習


簡介函數

矩陣在計算機科學、統計學和應用數學中佔有獨一無二的地位。一個 m×n 矩陣能夠對 m 個對象(每一個對象由 n 個特徵描述)在有限單元網格中的離散微分算子信息進行描述;一個 n×n 正定矩陣能夠編碼全部 n 對象配對之間的相關性,或者網絡中全部 n 節點對之間的邊連通性等等。受科學和計算機技術發展的影響,近年來咱們見證了矩陣算法理論和實踐上使人興奮的發展。其中最值得注意的是隨機化的使用——一般假設因爲生成機制的緣由,輸入數據存在噪聲——它能夠做爲算法或計算資源用於開發和提高基礎矩陣問題如矩陣乘法、最小二乘(LS)近似、低階矩陣近似等算法。工具

隨機數值線性代數(RandNLA)是一個跨學科的研究領域,利用隨機化做爲計算資源來開發用於大規模線性代數問題的提高算法。從基礎的角度來看,RandNLA 源自理論計算機科學(TCS),並與數學有着很深的聯繫(凸面分析、機率論、度量嵌入理論),也與應用數學相關(科學計算、信號處理、數值線性代數)。從應用層面來看,RandNLA 是機器學習、統計和數據分析的重要新工具。不少精心設計的實現已經在大量問題上超越了高度優化的軟件庫,如最小二乘迴歸,同時也具備至關的擴展性、平行計算和分佈能力。此外,RandNLA 爲現代大規模數據分析提供了良好的算法和統計基礎。post

這一章將做爲對三種基本 RandNLA 算法的獨立的入門介紹,分別是隨機矩陣乘法(randomized matrix multiplication)、隨機最小二乘解算器(randomized least-squares solvers),以及用一個隨機算法計算矩陣的低秩近似。所以,這一章和不少應用數學的領域有很是強的聯繫,特別是它和這一卷的其它許多章節都有很強的聯繫。最重要的是,其中分別包含了 G. Martinsson 的工做,他利用這些方法開發了改進的低秩矩陣近似解算器 [2];R. Vershynin 的工做,他開發了機率論工具用於分析 RandNLA 算法 [3]; J. Duchi 的工做,他以互補的方式利用隨機方法求解更通用的優化問題 [4];以及 M. Maggioni 的工做,他以這些方法做爲更復雜的多尺度方法的基礎模塊 [5]。學習

本論文將在第二節中概述基本的線性代數知識;在第三節概述離散機率的基本知識;在第四節介紹矩陣乘法的隨機算法;在第五節介紹最小二乘迴歸問題的隨機算法;在第六節介紹低秩近似的隨機算法。最後咱們還介紹了兩個其它關於 RandNLA 的導論資源 [6,7],供感興趣的讀者參考。優化


2 線性代數

在這一節,咱們將簡要概述基本的線性代數屬性和在這一章中將用到的數學符號。咱們假定讀者具有線性代數的基礎(例如,向量的內積和叉積,基本矩陣運算如加法、標量乘法、轉置、上/下三角矩陣,矩陣-向量乘法,矩陣乘法,矩陣的跡等)。


2.1 基礎

咱們將徹底聚焦於線性空間中的矩陣和向量。咱們使用符號 x ∈ R^n 表示 n 維向量,注意向量都是以粗體小寫字母書寫。這裏假定全部的向量都是列向量,除非特別說明。全部元素爲零的向量用 0 表示,全部元素爲 1 的向量用 1 表示(相似 Broadcasting);維度會隱含在上下文中或顯式地用下標表示。

咱們將使用粗體大寫字母表示矩陣,例如 A ∈ R^mxn 表示一個 mxn 階的矩陣;用 A_i* 表示 A 的第 i 行的行向量,用 A_*i 表示 A 的第 i 列的列向量。單位矩陣表示爲 I_n,其中 n 是矩陣的行數和列數。最後,咱們用 e_i 表示 I_n 的第 i 列,即第 i 個規範基。

逆矩陣:若是存在一個逆矩陣 A^-1 ∈ R^mxn 知足如下條件,那麼矩陣 A ∈ R^mxn 被稱爲非奇異的或可逆的:

若是 A 的全部列向量(或行向量)線性無關,那麼 A 是可逆的。換句話說,不存在一個非零向量 x ∈ R^n 使得 Ax=0。可逆矩陣的標準性質有: (A^−1 )^⊤ = (A^⊤)^−1 = A^−⊤(A 逆的轉置等於 A 轉置的逆)和 (AB)^−1 = B^−1* A^−1(A 左乘 B 的逆等於 B 逆左乘 A 逆。注:微信表達式展現不便,準確表達式請查看原材料)。

正交矩陣:若是矩陣 A ∈ R^n×n 知足 A^⊤=A^−1,則稱 A 爲正交矩陣。等價地說,對全部 i , j 屬於 [1,n],正交矩陣知足:

對於 A 的行向量,上述性質一樣知足。即 A 的全部列(或行)向量都是兩兩正交或互成法向量。

QR 分解:任意的矩陣 A ∈ R^n×n 均可以分解成一個正交矩陣和一個上三角矩陣的乘積:A=QR

其中 Q ∈ R^n×n 是正交矩陣,R ∈ R^n×n 是上三角矩陣。QR 分解在求解線性方程組的時候頗有用,它的計算複雜度爲 O(n^3),而且是數值穩定的。爲了用 QR 分解求解線性方程組 Ax=b,咱們首先對等式兩邊同時左乘一個 Q^⊤,即 Q^⊤QRx = Rx = Q^⊤b。而後,咱們用反向代入求解 Rx = Q^⊤b。


2.2 範數

範數(Norms)被用於度量矩陣的大小,或者相應地,度量向量的長度。範數是一個函數,它將 R^mxn(或 R^n)映射到 R。形式地說:

定義 1:任何函數知足 || · ||: R^m×n → R 和下列性質,則稱爲一個範數:

  • 非負性:|| A ||≥0;|| A ||=0 當且僅當 A=0;
  • 三角不等律:|| A+B ||≤|| A ||+|| B ||;
  • 標量乘法律:|| αA ||=|α| || A ||,α∈R。

能夠很容易地證實如下兩個性質:

  • || A ||=|| -A ||
  • | || A ||-|| B || | ≤ || A-B ||

第二個性質被稱爲倒三角型不等式。


2.3 向量範數

若給定 n 維向量 x 和一個整數 p > 1,咱們能夠定義向量 p-範數爲:

最多見的向量 p-範數爲:

  • 1-範數:
  • 歐幾里德(2)範數:


  • 無窮(最大)範數:


若給定 n 維向量 x、y,咱們可使用 p-範數做爲內積的上確界,即 Cauchy-Schwartz 不等式能夠寫爲:

通常來講,該不等式給定了兩個向量的歐幾里德範數能夠做爲它們內積的上確界,Holder 不等式代表:

如下向量 p-範數的不等式性質能夠輕易的證實:


2.4 概括矩陣範數

給定一個 m×n 階矩陣 A,和一個 p > 1 整數,咱們定義矩陣的 p-範數爲:


通常咱們最經常使用的矩陣 p-範數爲:

  • 1-範數,取矩陣列加和絕對值的最大值:
  • 無窮範數,取矩陣行加和絕對值的最大值:
  • 2-範數,

這一系列的範數被稱爲「概括(induced)」,由於它們是經過不取決於 A 和 p 的非零向量 x 而實現的。所以,通常存在一個單位範數向量(p-範數中的單位範數)x 令||A||p = ||Ax||p。概括矩陣 p-範數遵循如下 submultiplicativity 法則:

此外,矩陣 p-範數對於矩陣的初等變換是不變的,即||PAQ||p = ||A||p,其中 P 和 Q 爲對應維度的初等變換矩陣。一樣,若是咱們考慮矩陣分割:

那麼子矩陣的範數就和所有矩陣的範數相關:即||B||p <= ||A||p。矩陣 p-範數間的如下關係能夠相對簡單地證實。若給定一個 m×n 階矩陣,

此外,||A^T||1 = ||A||∞,||A^T||∞ = ||A||1。其中轉置影響了矩陣的無窮範數和 1-範數,而不影響 2-範數,即||A^T||2 = ||A||2。一樣,矩陣 2-範數並不會受到矩陣 pre(post)- multiplication 操做的影響,其中它的列(或行)爲正交向量:||UAV^T||2 = ||A||2,其中 U 和 V 爲對應維度的正交矩陣(U^T*U = I and V^T*V = I)。


2.6 奇異值分解

咱們知道方陣能夠分解爲特徵值與特徵向量,但非方陣的矩陣並沒不能實現特徵值分解。所以奇異值分解(SVD)是每一個矩陣中最重要的矩陣分解方式,由於不是全部的矩陣都能進行特徵分解,可是全部的矩陣都能進行奇異值分解。

定義 6. 給定一個矩陣 A ∈ R^m×n,咱們定義全 SVD 爲:

其中 U ∈ R^m×m 和 V ∈ R^n×n 分別是包含 A 的左、右奇異向量的正交矩陣,Σ ∈ R^m×n 是對角矩陣,其中 A 的奇異值在主對角線上遞減。

咱們常用 u_i(或 v_j),i=1,..., m(或 j=1,..., n)來表示矩陣 U(或 V)的列。一樣,咱們將使用σ_i,i = 1,..., min{m, n} 來表示奇異值:

A 的奇異值是非負的,其數目等於 min{m, n}。A 的非零奇異值個數等於 A 的秩。因爲正交不變性,咱們獲得:

其中 P 和 Q 是對應維度上的正交矩陣(P^TP = I 且 Q^TQ = I)。或者說,PAQ 的奇異值與 A 的奇異值相同。

涉及矩陣 A 和 B 的奇異值的如下不等式是很是重要的。首先,若是 A 和 B 都在 R^m×n 上,對於全部 i = 1, ... , min{m, n},

第二,若是 A ∈ R^p×m 和 B ∈ R^m×n,對於全部 i = 1, ... , min{m, n},

其中σ_1(A) = ||A||_2。咱們常常對於僅保持非零奇異值和相應的(矩陣 A 的)左、右奇異向量感興趣。給定矩陣 A ∈ R^m×n 和 rank(A)=ρ,咱們能夠定義它的稀疏 SVD。


定義 9. 給定矩陣 A ∈ R^m×n,秩爲ρ ≤ min{m, n},咱們定義稀疏 SVD 爲:

其中 U ∈ R^m×ρ和 V ∈ R^n×ρ是包含對應於非零奇異值的左、右奇異向量的兩兩正交列(即 U^TU = I 且 V^TV = I)的矩陣;Σ ∈ R^ρ×ρ是 A 的非零奇異值在對角線上遞減的對角矩陣。

若是 A 是非奇異矩陣,咱們可使用 SVD 計算它的逆:

(若是 A 是非奇異的,那麼它是方形和滿秩的,在這種狀況下,稀疏 SVD 和全 SVD 是同樣的)衆所周知,SVD 很是重要,任何矩陣的最佳 k 秩近似均可以經過 SVD 來計算。

定理 10. 讓 A = UΣV^⊤ ∈ R^m×n 做爲 A 的稀疏 SVD;設 k < rank(A) = ρ爲整數,讓

隨後,


換句話說,上述定理指出,若是咱們尋找一個矩陣 A 的 k 秩近似,使得「偏差」矩陣的 2-範數或 Frobenius 範數最小化(即 A 和它的近似之間的差別最小化),隨後咱們須要保留 A 的最前 k 個奇異值和相應的左、右奇異向量。

咱們會常用這些符號:讓 U_k ∈ R^m×k(或 V_k ∈ R^n×k)表示矩陣 A 的最前 k 個左(或右)奇異向量的矩陣;讓 Σ_k ∈ R^k×k 表示包含 A 的最前 k 個奇異值的對角矩陣。一樣的,讓 U_k,⊥ ∈ R^m×(ρ−k)(或 V_k,⊥ ∈ R^n×(ρ−k))表示 A 的底部ρ-k 個非零左(或右)奇異向量的矩陣;而後令Σ_k,⊥ ∈ R^(ρ−k)×(ρ−k) 表示包含 A 的底部ρ-k 個奇異值的對角矩陣。而後,


2.9 Moore-Penrose 僞逆

對於非方矩陣而言,其逆矩陣是沒有定義的。而一種很是出名的推廣型矩陣求逆方法 Moore-Penrose 僞逆在這類問題上取得了必定的進展。形式上來講,若給定 m×n 階矩陣 A,那麼若是矩陣 A† 知足如下屬性,它就是矩陣 A 的 Moore-Penrose 僞逆:

給定一個秩爲ρ的 m×n 階矩陣 A,它的稀疏奇異值分解能夠表示爲:

它的 Moore-Penrose 僞逆 A† 的稀疏奇異值分解能夠表示爲:

若是 A 爲 n×n 階滿秩矩陣,那麼 A† 就等於矩陣 A 的逆。若是 A 爲 m×n 階列滿秩矩陣,那麼 A†A 就等於 n 階單位矩陣,AA†爲矩陣 A 列上的投影矩陣。若是 A 爲滿行秩矩陣,那麼 AA†就爲 m 階單位矩陣,A†A 爲矩陣 A 行上的投影矩陣。

關於兩個矩陣乘積的僞逆,有以下特別重要的屬性:對於 m×p 階矩陣 Y1 和 p×n 階矩陣 Y2,且知足 Rank(Y1)=Rank(Y2),即秩相等,[9, Theorem 2.2.3] 代表:

(咱們強調秩相等的條件是很是重要的:由於兩個矩陣相乘的逆老是等價於矩陣逆的相乘,但這個推斷對於通常的 Moore-Penrose 僞逆 [9] 是不知足的)此外,Moore-Penrose 僞逆的基空間和全部實際的矩陣都有聯繫。給定一個矩陣 A 和 A 的 Moore-Penrose 僞逆 A†,A†的列空間能夠定義爲:

A†的列空間和零空間(null space)正交,A†的零空間能夠定義爲:

相關文章
相關標籤/搜索