1 線性代數

2021-09-21 06:16:40 字數 3697 閱讀 9287

本文借鑑至:

轉置是矩陣的重要操作之一。 矩陣的轉置是以對角線為軸的映象,這條從左上角到右下角的對角線被稱為主對角線。下圖顯示了這個操作。 我們將矩陣 a的轉置表示為 a ⊤ ,定義如下 

向量可以看作只有一列的矩陣。 對應地,向量的轉置可以看作是只有一行的矩陣。 有時,我們通過將向量元素作為行矩陣寫在文字行中,然後使用轉置操作將其變為標準的列向量,來定義乙個向量,比如 x = [x 1 ,x 2 ,x 3 ]⊤ .

標量可以看作是只有乙個元素的矩陣。 因此,標量的轉置等於它本身,a = a⊤。

只要矩陣的形狀一樣,我們可以把兩個矩陣相加。 兩個矩陣相加是指對應位置的元素相加,比如c = a + b,其中 ci,j = ai,j + bi,j。

標量和矩陣相乘,或是和矩陣相加時,我們只需將其與矩陣的每個元素相乘或相加,比如d = a · b + c,其中 di,j = a · bi,j + c。

在深度學習中,我們也使用一些不那麼常規的符號。 我們允許矩陣和向量相加,產生另乙個矩陣:c = a + b,其中 ci,j = ai,j + bj 。 換言之,向量b和矩陣a的每一行相加。 這個簡寫方法使我們無需在加法操作前定義乙個將向量b複製到每一行而生成的矩陣。 這種隱式地複製向量b到很多位置的方式,被稱為廣播。

如果矩陣 a 的形狀是 m×n,矩陣 b 的形狀是 n×p,那麼矩陣c的形狀是 m × p

c = ab     

具體地,該乘法操作定義為:

需要注意的是,兩個矩陣的標準乘積不是指兩個矩陣中對應元素的乘積,那樣的矩陣操作確實是存在的,被稱為元素對應乘積 (element-wise product) 或者哈達瑪乘積 (hadamard product),表示為 a ⊙ b。

兩個相同維數的向量 x 和 y 的點積 (dot product) 可看作是矩陣乘積 x⊤ y

矩陣乘法的性質:

ax  = b其中a是乙個已知矩陣,b是乙個已知向量x 是乙個我們要求解的未知向量

或者,更明確地,寫作:

為了描述矩陣逆,我們首先需要定義單位矩陣的概念。 任意向量和單位矩陣相乘,都不會改變。 我們將保持n維向量不變的單位矩陣記作 i n。 形式上,i n ∈ r n×n ,

單位矩陣的結構很簡單:所有沿主對角線的元素都是1,而所有其他位置的元素都是0:

矩陣a的矩陣逆記作 a −1,其定義的矩陣滿足如下條件:

現在我們可以通過以下步驟求解:

當然,這取決於我們能否找到乙個逆矩陣 a −1 。 在接下來的章節中,我們會討論逆矩陣a −1 存在的條件。當逆矩陣a −1 存在時,有幾種不同的演算法都能找到它的閉解形式。 理論上,相同的逆矩陣可用於多次求解不同向量b的方程。 然而,逆矩陣a −1 主要是作為理論工具使用的,並不會在大多數軟體應用程式中實際使用。 這是因為逆矩陣a −1 在數字計算機上只能表現出有限的精度,有效使用向量b的演算法通常可以得到更精確的x

如果逆矩陣a −1 存在,那麼ax = b肯定對於每乙個向量b恰好存在乙個解。 但是,對於方程組而言,對於向量b的某些值,有可能不存在解,或者存在無限多個解。 存在多於乙個解但是少於無限多個解的情況是不可能發生的;因為如果x和y都是某方程組的解,則

z=αx+(1−α)y

(其中$\alpha$取任意實數)也是該方程組的解。

為了分析方程有多少個解,我們可以將a的列向量看作從原點(元素都是零的向量)出發的不同方向,確定有多少種方法可以到達向量b。 在這個觀點下,向量x中的每個元素表示我們應該沿著這些方向走多遠,即 xi表示我們需要沿著第$\si$個向量的方向走多遠:

一般而言,這種操作被稱為線性組合。 形式上,一組向量的線性組合,是指每個向量乘以對應標量係數之後的和,即:                                              

一組向量的生成子空間 (span)是原始向量線性組合後所能抵達的點的集合

確定 ax = b 是否有解相當於確定向量 b 是否在 a 列向量的生成子空間中,這個特殊的生成子空間被稱為 a 的列空間 (column space) 或者 a 的值域 (range)。

為了讓方程 ax = b 對於任意的向量 b ∈ r m 都有解的話,我們要求 a 的列空間構成整個 r m 。如果 r m 中的某個點不在 a 的列空間中,那麼該點對應的 b 會使得該方程沒有解。矩陣 a 的列空間是整個 r m 的要求,意味著 a 至少有 m 列,即n ≥ m。否則,a 列空間的維數會小於 m。例如,假設 a 是乙個 3 × 2 的矩陣。目標 b 是 3 維的,但是 x 只有 2 維。所以無論如何修改 x 的值,也只能描繪出 r 3 空間中的二維平面。當且僅當向量 b 在該二維平面中時,該方程有解。

不等式 n ≥ m 僅是方程對每一點都有解的必要條件。這不是乙個充分條件,因為有些列向量可能是冗餘的。假設有乙個 r 2×2 中的矩陣,它的兩個列向量是相同的。那麼它的列空間和它的乙個列向量作為矩陣的列空間是一樣的。換言之,雖然該矩陣有 2 列,但是它的列空間仍然只是一條線,不能涵蓋整個 r 2 空間

正式地,這種冗餘被稱為線性相關 (linear dependence)。如果一組向量中的任意乙個向量都不能表示成其他向量的線性組合,那麼這組向量被稱為線性無關 (linearlyindependent)。如果某個向量是一組向量中某些向量的線性組合,那麼我們將這個向量加入到這組向量後不會增加這組向量的生成子空間。這意味著,如果乙個矩陣的列空間涵蓋整個 r m ,那麼該矩陣必須包含至少一組 m 個線性無關的向量。這是式ax = b 對於每乙個向量 b 的取值都有解的充分必要條件。值得注意的是,這個條件是說該向量集恰好有 m 線性無關的列向量,而不是至少 m 個。不存在乙個 m 維向量的集合具有多於 m 個彼此線性不相關的列向量,但是乙個有多於 m 個列向量的矩陣卻有可能擁有不止乙個大小為 m 的線性無關向量集。

要想使矩陣可逆,我們還需要保證式ax = b 對於每乙個 b 值至多有乙個解。為此,我們需要確保該矩陣至多有 m 個列向量。否則,該方程會有不止乙個解。

綜上所述,這意味著該矩陣必須是乙個方陣(square),即m = n,並且所有列向量都是線性無關的。乙個列向量線性相關的方陣被稱為奇異的 (singular)。如果矩陣 a 不是乙個方陣或者是乙個奇異的方陣,該方程仍然可能有解。但是我們不能使用逆矩陣去求解。目前為止,我們已經討論了逆矩陣左乘。我們也可以定義逆矩陣右乘:

aa−1 = i.

對於方陣而言,它的左逆和右逆是相等的

posted @

2018-05-30 10:17

田灣第一帥 閱讀(

...)

編輯收藏

1 線性代數

本文借鑑至 轉置是矩陣的重要操作之一。矩陣的轉置是以對角線為軸的映象,這條從左上角到右下角的對角線被稱為主對角線。下圖顯示了這個操作。我們將矩陣 a的轉置表示為 a 定義如下 向量可以看作只有一列的矩陣。對應地,向量的轉置可以看作是只有一行的矩陣。有時,我們通過將向量元素作為行矩陣寫在文字行中,然後...

線性代數入門 1 什麼是線性代數?

線性代數幾乎是每個學理工科的大學生都會學的一門課,然而我感覺大家對這門課的感覺都不怎麼好,很多人都覺得不知道線性代數是做什麼的,或者為了應付考試學會了一些計算和解題的方法。但在其他課程學習中卻常常看到那些矩陣 向量等等,便頭疼萬分,對線性代數更是深惡痛絕。最後乙個大學學下來,還是沒明白線性代數是什麼...

線性代數入門 1 什麼是線性代數?

線性代數幾乎是每個學理工科的大學生都會學的一門課,然而我感覺大家對這門課的感覺都不怎麼好,很多人都覺得不知道線性代數是做什麼的,或者為了應付考試學會了一些計算和解題的方法。但在其他課程學習中卻常常看到那些矩陣 向量等等,便頭疼萬分,對線性代數更是深惡痛絕。最後乙個大學學下來,還是沒明白線性代數是什麼...