首发:吴恩达的 CS229的数学基础(线性代数),有人把它做成了在线翻译版本!...
本文是斯坦福大學(xué) CS 229 機(jī)器學(xué)習(xí)課程的基礎(chǔ)材料,是斯坦福各大人工智能課程的數(shù)學(xué)基礎(chǔ),本文為線性代數(shù)部分,原始文件下載[1]
原文作者:Zico Kolter,修改:Chuong Do, Tengyu Ma
翻譯:黃海廣[2]
備注:請(qǐng)關(guān)注github[3]的更新,線性代數(shù)和概率論已經(jīng)更新完畢。
線性代數(shù)復(fù)習(xí)和參考
1. 基礎(chǔ)概念和符號(hào)
線性代數(shù)提供了一種緊湊地表示和操作線性方程組的方法。例如,以下方程組:
這是兩個(gè)方程和兩個(gè)變量,正如你從高中代數(shù)中所知,你可以找到??和??的唯一解(除非方程以某種方式退化,例如,如果第二個(gè)方程只是第一個(gè)的倍數(shù),但在上面的情況下,實(shí)際上只有一個(gè)唯一解)。在矩陣表示法中,我們可以更緊湊地表達(dá):
我們可以看到,這種形式的線性方程有許多優(yōu)點(diǎn)(比如明顯地節(jié)省空間)(備注:此處筆誤,b應(yīng)該是-13和9)。
1.1 基本符號(hào)
我們使用以下符號(hào):
,表示??為由實(shí)數(shù)組成具有行和列的矩陣。
,表示具有個(gè)元素的向量。 通常,向量將表示列向量: 即,具有行和列的矩陣。 如果我們想要明確地表示行向量: 具有??行和列的矩陣 - 我們通常寫(這里的轉(zhuǎn)置)。
表示向量的第個(gè)元素
我們使用符號(hào)?(或,等)來(lái)表示第??行和第列中的??的元素:
我們用或者表示矩陣的第列:
我們用或者表示矩陣的第行:
在許多情況下,將矩陣視為列向量或行向量的集合非常重要且方便。 通常,在向量而不是標(biāo)量上操作在數(shù)學(xué)上(和概念上)更清晰。只要明確定義了符號(hào),用于矩陣的列或行的表示方式并沒(méi)有通用約定。
2.矩陣乘法
兩個(gè)矩陣相乘,其中??and??,則:
其中:
請(qǐng)注意,為了使矩陣乘積存在,中的列數(shù)必須等于中的行數(shù)。有很多方法可以查看矩陣乘法,我們將從檢查一些特殊情況開(kāi)始。
2.1 向量-向量乘法
給定兩個(gè)向量,通常稱為向量?jī)?nèi)積或者點(diǎn)積,結(jié)果是個(gè)實(shí)數(shù)。
注意:?始終成立。
給定向量?,??(他們的維度是否相同都沒(méi)關(guān)系),叫做向量外積?, 當(dāng)??的時(shí)候,它是一個(gè)矩陣。
舉一個(gè)外積如何使用的一個(gè)例子:讓表示一個(gè)維向量,其元素都等于 1,此外,考慮矩陣,其列全部等于某個(gè)向量?。我們可以使用外積緊湊地表示矩陣?:
2.2 矩陣-向量乘法
給定矩陣?,向量??, 它們的積是一個(gè)向量?。有幾種方法可以查看矩陣向量乘法,我們將依次查看它們中的每一種。
如果我們按行寫,那么我們可以表示為:
換句話說(shuō),第個(gè)是的第行和的內(nèi)積,即:。
同樣的, 可以把 A 寫成列的方式,則公式如下:,
換句話說(shuō),是的列的線性組合,其中線性組合的系數(shù)由的元素給出。
到目前為止,我們一直在右側(cè)乘以列向量,但也可以在左側(cè)乘以行向量。這是寫的,?表示,,。和以前一樣,我們可以用兩種可行的方式表達(dá),這取決于我們是否根據(jù)行或列表達(dá).
第一種情況,我們把用列表示:
這表明的第個(gè)元素等于和的第列的內(nèi)積。
最后,根據(jù)行表示,我們得到了向量-矩陣乘積的最終表示:
所以我們看到是的行的線性組合,其中線性組合的系數(shù)由的元素給出。
2.3 矩陣-矩陣乘法
有了這些知識(shí),我們現(xiàn)在可以看看四種不同的(形式不同,但結(jié)果是相同的)矩陣-矩陣乘法:也就是本節(jié)開(kāi)頭所定義的的乘法。
首先,我們可以將矩陣 - 矩陣乘法視為一組向量-向量乘積。從定義中可以得出:最明顯的觀點(diǎn)是的,元素等于的第行和的的列的內(nèi)積。如下面的公式所示:
這里的?,,??,, 這里的,?,?,,所以它們可以計(jì)算內(nèi)積。我們用通常用行表示而用列表示。或者,我們可以用列表示,用行表示,這時(shí)是求外積的和。公式如下:
換句話說(shuō),等于所有的的第列和第行的外積的和。因此,在這種情況下,?和, 外積的維度是,與的維度一致。
其次,我們還可以將矩陣 - 矩陣乘法視為一組矩陣向量積。如果我們把用列表示,我們可以將的列視為和的列的矩陣向量積。公式如下:
這里的第列由矩陣向量乘積給出,右邊的向量為。 這些矩陣向量乘積可以使用前一小節(jié)中給出的兩個(gè)觀點(diǎn)來(lái)解釋。 最后,我們有類似的觀點(diǎn),我們用行表示,的行作為和行之間的矩陣向量積。公式如下:
這里第行的由左邊的向量的矩陣向量乘積給出:
將矩陣乘法剖析到如此大的程度似乎有點(diǎn)過(guò)分,特別是當(dāng)所有這些觀點(diǎn)都緊跟在我們?cè)诒竟?jié)開(kāi)頭給出的初始定義(在一行數(shù)學(xué)中)之后。
這些不同方法的直接優(yōu)勢(shì)在于它們?cè)试S您在向量的級(jí)別/單位而不是標(biāo)量上進(jìn)行操作。 為了完全理解線性代數(shù)而不會(huì)迷失在復(fù)雜的索引操作中,關(guān)鍵是要用盡可能多的概念進(jìn)行操作。
實(shí)際上所有的線性代數(shù)都處理某種矩陣乘法,花一些時(shí)間對(duì)這里提出的觀點(diǎn)進(jìn)行直觀的理解是非常必要的。
除此之外,了解一些更高級(jí)別的矩陣乘法的基本屬性是很有必要的:
矩陣乘法結(jié)合律:?
矩陣乘法分配律:?
矩陣乘法通常不是可交換的; 也就是說(shuō),通常。 (例如,假設(shè),?,如果和不相等,矩陣乘積甚至不存在!)
如果您不熟悉這些屬性,請(qǐng)花點(diǎn)時(shí)間自己驗(yàn)證它們。 例如,為了檢查矩陣乘法的相關(guān)性,假設(shè),?,。 注意,所以。 類似地,,所以。 因此,所得矩陣的維度一致。 為了表明矩陣乘法是相關(guān)的,足以檢查的第個(gè)元素是否等于的第個(gè)元素。 我們可以使用矩陣乘法的定義直接驗(yàn)證這一點(diǎn):
3 運(yùn)算和屬性
在本節(jié)中,我們介紹矩陣和向量的幾種運(yùn)算和屬性。希望能夠?yàn)槟鷱?fù)習(xí)大量此類內(nèi)容,這些筆記可以作為這些主題的參考。
3.1 單位矩陣和對(duì)角矩陣
單位矩陣,,它是一個(gè)方陣,對(duì)角線的元素是 1,其余元素都是 0:
對(duì)于所有,有:
注意,在某種意義上,單位矩陣的表示法是不明確的,因?yàn)樗鼪](méi)有指定的維數(shù)。通常,的維數(shù)是從上下文推斷出來(lái)的,以便使矩陣乘法成為可能。例如,在上面的等式中,中的 I 是矩陣,而中的是矩陣。
對(duì)角矩陣是一種這樣的矩陣:對(duì)角線之外的元素全為 0。對(duì)角陣通常表示為:,其中:
很明顯:單位矩陣。
3.2 轉(zhuǎn)置
矩陣的轉(zhuǎn)置是指翻轉(zhuǎn)矩陣的行和列。
給定一個(gè)矩陣:
, 它的轉(zhuǎn)置為的矩陣?,其中的元素為:
事實(shí)上,我們?cè)诿枋鲂邢蛄繒r(shí)已經(jīng)使用了轉(zhuǎn)置,因?yàn)榱邢蛄康霓D(zhuǎn)置自然是行向量。
轉(zhuǎn)置的以下屬性很容易驗(yàn)證:
3.3 對(duì)稱矩陣
如果,則矩陣是對(duì)稱矩陣。如果,它是反對(duì)稱的。很容易證明,對(duì)于任何矩陣,矩陣是對(duì)稱的,矩陣是反對(duì)稱的。由此得出,任何方矩陣可以表示為對(duì)稱矩陣和反對(duì)稱矩陣的和,所以:
上面公式的右邊的第一個(gè)矩陣是對(duì)稱矩陣,而第二個(gè)矩陣是反對(duì)稱矩陣。事實(shí)證明,對(duì)稱矩陣在實(shí)踐中用到很多,它們有很多很好的屬性,我們很快就會(huì)看到它們。通常將大小為的所有對(duì)稱矩陣的集合表示為,因此意味著是對(duì)稱的矩陣;
3.4 矩陣的跡
方矩陣的跡,表示為(或者只是,如果括號(hào)顯然是隱含的),是矩陣中對(duì)角元素的總和:
如CS229講義中所述,跡具有以下屬性(如下所示):
對(duì)于矩陣,則:
對(duì)于矩陣,則:
對(duì)于矩陣,,則:.
對(duì)于矩陣?,?,?為方陣, 則:
對(duì)于矩陣?,?,?,?為方陣, 則:, 同理,更多矩陣的積也是有這個(gè)性質(zhì)。
這里,第一個(gè)和最后兩個(gè)等式使用跡運(yùn)算符和矩陣乘法的定義,重點(diǎn)在第四個(gè)等式,使用標(biāo)量乘法的可交換性來(lái)反轉(zhuǎn)每個(gè)乘積中的項(xiàng)的順序,以及標(biāo)量加法的可交換性和相關(guān)性,以便重新排列求和的順序。
3.5 范數(shù)
向量的范數(shù)是非正式度量的向量的“長(zhǎng)度” 。例如,我們有常用的歐幾里德或范數(shù),
注意:
更正式地,范數(shù)是滿足 4 個(gè)屬性的函數(shù)():
對(duì)于所有的?,?(非負(fù)).
當(dāng)且僅當(dāng)?時(shí),?(明確性).
對(duì)于所有,,則??(正齊次性).
對(duì)于所有?,??(三角不等式)
其他范數(shù)的例子是范數(shù):
和范數(shù):
事實(shí)上,到目前為止所提出的所有三個(gè)范數(shù)都是范數(shù)族的例子,它們由實(shí)數(shù)參數(shù)化,并定義為:
也可以為矩陣定義范數(shù),例如Frobenius范數(shù):
許多其他更多的范數(shù),但它們超出了這個(gè)復(fù)習(xí)材料的范圍。
3.6 線性相關(guān)性和秩
一組向量, 如果沒(méi)有向量可以表示為其余向量的線性組合,則稱稱該向量是線性無(wú)相關(guān)的。相反,如果屬于該組的一個(gè)向量可以表示為其余向量的線性組合,則稱該向量是線性相關(guān)的。也就是說(shuō),如果:
對(duì)于某些標(biāo)量值,要么向量是線性相關(guān)的; 否則,向量是線性無(wú)關(guān)的。例如,向量:
是線性相關(guān)的,因?yàn)?#xff1a;。
矩陣的列秩是構(gòu)成線性無(wú)關(guān)集合的的最大列子集的大小。由于術(shù)語(yǔ)的多樣性,這通常簡(jiǎn)稱為的線性無(wú)關(guān)列的數(shù)量。同樣,行秩是構(gòu)成線性無(wú)關(guān)集合的的最大行數(shù)。對(duì)于任何矩陣,事實(shí)證明的列秩等于的行秩(盡管我們不會(huì)證明這一點(diǎn)),因此兩個(gè)量統(tǒng)稱為的秩,用?表示。以下是秩的一些基本屬性:
對(duì)于?,,如果,則:??被稱作滿秩。
對(duì)于?,?
對(duì)于?,?,
對(duì)于?,
3.7 方陣的逆
方陣的倒數(shù)表示為,并且是這樣的獨(dú)特矩陣:
請(qǐng)注意,并非所有矩陣都具有逆。例如,非方形矩陣根據(jù)定義沒(méi)有逆。然而,對(duì)于一些方形矩陣,可能仍然存在可能不存在的情況。特別是,如果存在,我們說(shuō)是可逆的或非奇異的,否則就是不可逆或奇異的。為了使方陣 A 具有逆,則必須是滿秩。我們很快就會(huì)發(fā)現(xiàn),除了滿秩之外,還有許多其它的充分必要條件。以下是逆的屬性; 假設(shè),而且是非奇異的:
因此,該矩陣通常表示為。作為如何使用逆的示例,考慮線性方程組,,其中,, 如果是非奇異的(即可逆的),那么。(如果不是方陣,這公式還有用嗎?)
3.8 正交陣
如果?,則兩個(gè)向量?是正交的。如果,則向量?被歸一化。如果一個(gè)方陣的所有列彼此正交并被歸一化(這些列然后被稱為正交),則方陣是正交陣(注意在討論向量時(shí)的意義不一樣)。
它可以從正交性和正態(tài)性的定義中得出:
換句話說(shuō),正交矩陣的逆是其轉(zhuǎn)置。注意,如果不是方陣 :即,,?,但其列仍然是正交的,則,但是。我們通常只使用術(shù)語(yǔ)"正交"來(lái)描述先前的情況 ,其中是方陣。正交矩陣的另一個(gè)好的特性是在具有正交矩陣的向量上操作不會(huì)改變其歐幾里德范數(shù),即:
對(duì)于任何??,?是正交的。
3.9 矩陣的值域和零空間
一組向量是可以表示為的線性組合的所有向量的集合。即:
可以證明,如果是一組個(gè)線性無(wú)關(guān)的向量,其中每個(gè),則。換句話說(shuō),任何向量都可以寫成到的線性組合。
向量投影到(這里我們假設(shè))得到向量,由歐幾里德范數(shù)可以得知,這樣盡可能接近。
我們將投影表示為,并且可以將其正式定義為:
矩陣的值域(有時(shí)也稱為列空間),表示為,是列的跨度。換句話說(shuō),
做一些技術(shù)性的假設(shè)(即是滿秩且),向量到的范圍的投影由下式給出:
這個(gè)最后的方程應(yīng)該看起來(lái)非常熟悉,因?yàn)樗鼛缀跖c我們?cè)谡n程中(我們將很快再次得出)得到的公式:用于參數(shù)的最小二乘估計(jì)一樣。看一下投影的定義,顯而易見(jiàn),這實(shí)際上是我們?cè)谧钚《藛?wèn)題中最小化的目標(biāo)(除了范數(shù)的平方這里有點(diǎn)不一樣,這不會(huì)影響找到最優(yōu)解),所以這些問(wèn)題自然是非常相關(guān)的。
當(dāng)只包含一列時(shí),,這給出了向量投影到一條線上的特殊情況:
一個(gè)矩陣的零空間??是所有乘以時(shí)等于 0 向量的集合,即:
注意,中的向量的大小為,而??中的向量的大小為,因此和??中的向量的大小均為。事實(shí)上,還有很多例子。證明:
換句話說(shuō),和??是不相交的子集,它們一起跨越的整個(gè)空間。這種類型的集合稱為正交補(bǔ),我們用表示。
3.10 行列式
一個(gè)方陣的行列式是函數(shù):,并且表示為。或者(有點(diǎn)像跡運(yùn)算符,我們通常省略括號(hào))。從代數(shù)的角度來(lái)說(shuō),我們可以寫出一個(gè)關(guān)于行列式的顯式公式。因此,我們首先提供行列式的幾何解釋,然后探討它的一些特定的代數(shù)性質(zhì)。
給定一個(gè)矩陣:
考慮通過(guò)采用行向量的所有可能線性組合形成的點(diǎn)的集合,其中線性組合的系數(shù)都在 0 和 1 之間; 也就是說(shuō),集合是受到系數(shù)的限制的線性組合,滿足。從形式上看,
事實(shí)證明,的行列式的絕對(duì)值是對(duì)集合的“體積”的度量。
比方說(shuō):一個(gè)的矩陣(4):
它的矩陣的行是:
對(duì)應(yīng)于這些行對(duì)應(yīng)的集合如圖 1 所示。對(duì)于二維矩陣,通常具有平行四邊形的形狀。在我們的例子中,行列式的值是(可以使用本節(jié)后面顯示的公式計(jì)算),因此平行四邊形的面積為 7。(請(qǐng)自己驗(yàn)證!)
在三維中,集合對(duì)應(yīng)于一個(gè)稱為平行六面體的對(duì)象(一個(gè)有傾斜邊的三維框,這樣每個(gè)面都有一個(gè)平行四邊形)。行定義的矩陣 S 的行列式的絕對(duì)值給出了平行六面體的三維體積。在更高的維度中,集合是一個(gè)稱為維平行切的對(duì)象。
圖 1:(4)中給出的矩陣的行列式的圖示。這里,和是對(duì)應(yīng)于行的向量,并且集合對(duì)應(yīng)于陰影區(qū)域(即,平行四邊形)。這個(gè)行列式的絕對(duì)值,,即平行四邊形的面積。
在代數(shù)上,行列式滿足以下三個(gè)屬性(所有其他屬性都遵循這些屬性,包括通用公式):
恒等式的行列式為 1,?(幾何上,單位超立方體的體積為 1)。
給定一個(gè)矩陣?, 如果我們將中的一行乘上一個(gè)標(biāo)量,那么新矩陣的行列式是
幾何上,將集合的一個(gè)邊乘以系數(shù),體積也會(huì)增加一個(gè)系數(shù)。
如果我們交換任意兩行在和,那么新矩陣的行列式是,例如:
你一定很奇怪,滿足上述三個(gè)屬性的函數(shù)的存在并不多。事實(shí)上,這樣的函數(shù)確實(shí)存在,而且是唯一的(我們?cè)谶@里不再證明了)。
從上述三個(gè)屬性中得出的幾個(gè)屬性包括:
對(duì)于?,?
對(duì)于?,?
對(duì)于?, 有且只有當(dāng)是奇異的(比如不可逆) ,則:
對(duì)于??同時(shí),為非奇異的,則:
在給出行列式的一般定義之前,我們定義,對(duì)于,是由于刪除第行和第列而產(chǎn)生的矩陣。行列式的一般(遞歸)公式是:
對(duì)于?,初始情況為。如果我們把這個(gè)公式完全展開(kāi)為?,就等于(階乘)不同的項(xiàng)。因此,對(duì)于大于的矩陣,我們幾乎沒(méi)有明確地寫出完整的行列式方程。然而,大小的矩陣的行列式方程是相當(dāng)常見(jiàn)的,建議好好地了解它們:
矩陣的經(jīng)典伴隨矩陣(通常稱為伴隨矩陣)表示為,并定義為:
(注意索引中的變化)。可以看出,對(duì)于任何非奇異,
雖然這是一個(gè)很好的“顯式”的逆矩陣公式,但我們應(yīng)該注意,從數(shù)字上講,有很多更有效的方法來(lái)計(jì)算逆矩陣。
3.11 二次型和半正定矩陣
給定方矩陣和向量,標(biāo)量值被稱為二次型。寫得清楚些,我們可以看到:
注意:
第一個(gè)等號(hào)的是因?yàn)槭菢?biāo)量的轉(zhuǎn)置與自身相等,而第二個(gè)等號(hào)是因?yàn)槭俏覀兤骄鶅蓚€(gè)本身相等的量。由此,我們可以得出結(jié)論,只有的對(duì)稱部分有助于形成二次型。出于這個(gè)原因,我們經(jīng)常隱含地假設(shè)以二次型出現(xiàn)的矩陣是對(duì)稱陣。我們給出以下定義:
對(duì)于所有非零向量,,對(duì)稱陣為正定(positive definite,PD)。這通常表示為(或),并且通常將所有正定矩陣的集合表示為。
對(duì)于所有向量,對(duì)稱矩陣是半正定(positive semidefinite ,PSD)。這寫為(或僅),并且所有半正定矩陣的集合通常表示為。
同樣,對(duì)稱矩陣是負(fù)定(negative definite,ND),如果對(duì)于所有非零,則表示為(或)。
類似地,對(duì)稱矩陣是半負(fù)定(negative semidefinite,NSD),如果對(duì)于所有,則表示為(或)。
最后,對(duì)稱矩陣是不定的,如果它既不是正半定也不是負(fù)半定,即,如果存在,那么且。
很明顯,如果是正定的,那么是負(fù)定的,反之亦然。同樣,如果是半正定的,那么是是半負(fù)定的,反之亦然。如果果是不定的,那么是也是不定的。
正定矩陣和負(fù)定矩陣的一個(gè)重要性質(zhì)是它們總是滿秩,因此是可逆的。為了了解這是為什么,假設(shè)某個(gè)矩陣不是滿秩。然后,假設(shè)的第列可以表示為其他列的線性組合:
對(duì)于某些。設(shè),則:
但這意味著對(duì)于某些非零向量,,因此必須既不是正定也不是負(fù)定。如果是正定或負(fù)定,則必須是滿秩。最后,有一種類型的正定矩陣經(jīng)常出現(xiàn),因此值得特別提及。給定矩陣(不一定是對(duì)稱或偶數(shù)平方),矩陣(有時(shí)稱為Gram 矩陣)總是半正定的。此外,如果(同時(shí)為了方便起見(jiàn),我們假設(shè)是滿秩),則是正定的。
3.12 特征值和特征向量
給定一個(gè)方陣,我們認(rèn)為在以下條件下,是的特征值,是相應(yīng)的特征向量:
直觀地說(shuō),這個(gè)定義意味著將乘以向量會(huì)得到一個(gè)新的向量,該向量指向與相同的方向,但按系數(shù)縮放。值得注意的是,對(duì)于任何特征向量和標(biāo)量,,也是一個(gè)特征向量。因此,當(dāng)我們討論與相關(guān)的特征向量時(shí),我們通常假設(shè)特征向量被標(biāo)準(zhǔn)化為長(zhǎng)度為 1(這仍然會(huì)造成一些歧義,因?yàn)楹投际翘卣飨蛄?#xff0c;但我們必須接受這一點(diǎn))。
我們可以重寫上面的等式來(lái)說(shuō)明是的特征值和特征向量的組合:
但是只有當(dāng)有一個(gè)非空零空間時(shí),同時(shí)是奇異的,才具有非零解,即:
現(xiàn)在,我們可以使用行列式的先前定義將表達(dá)式擴(kuò)展為中的(非常大的)多項(xiàng)式,其中,的度為。它通常被稱為矩陣的特征多項(xiàng)式。
然后我們找到這個(gè)特征多項(xiàng)式的(可能是復(fù)數(shù))根,并用表示。這些都是矩陣的特征值,但我們注意到它們可能不明顯。為了找到特征值對(duì)應(yīng)的特征向量,我們只需解線性方程,因?yàn)槭瞧娈惖?#xff0c;所以保證有一個(gè)非零解(但也可能有多個(gè)或無(wú)窮多個(gè)解)。
應(yīng)該注意的是,這不是實(shí)際用于數(shù)值計(jì)算特征值和特征向量的方法(記住行列式的完全展開(kāi)式有項(xiàng)),這是一個(gè)數(shù)學(xué)上的爭(zhēng)議。
以下是特征值和特征向量的屬性(所有假設(shè)在具有特征值的前提下):
的跡等于其特征值之和
的行列式等于其特征值的乘積
的秩等于的非零特征值的個(gè)數(shù)
假設(shè)非奇異,其特征值為和特征向量為。那么是具有相關(guān)特征向量的的特征值,即。(要證明這一點(diǎn),取特征向量方程,,兩邊都左乘)
對(duì)角陣的特征值,實(shí)際上就是對(duì)角元素,
3.13 對(duì)稱矩陣的特征值和特征向量
通常情況下,一般的方陣的特征值和特征向量的結(jié)構(gòu)可以很細(xì)微地表示出來(lái)。值得慶幸的是,在機(jī)器學(xué)習(xí)的大多數(shù)場(chǎng)景下,處理對(duì)稱實(shí)矩陣就足夠了,其處理的對(duì)稱實(shí)矩陣的特征值和特征向量具有顯著的特性。
在本節(jié)中,我們假設(shè)是實(shí)對(duì)稱矩陣, 具有以下屬性:
的所有特征值都是實(shí)數(shù)。我們用用表示。
存在一組特征向量,,對(duì)于所有,是具有特征值和的特征向量。,是單位向量并且彼此正交。
設(shè)是包含作為列的正交矩陣:
設(shè)是包含作為對(duì)角線上的元素的對(duì)角矩陣。使用 2.3 節(jié)的方程(2)中的矩陣 - 矩陣向量乘法的方法,我們可以驗(yàn)證:
考慮到正交矩陣滿足,利用上面的方程,我們得到:
這種的新的表示形式為,通常稱為矩陣的對(duì)角化。術(shù)語(yǔ)對(duì)角化是這樣來(lái)的:通過(guò)這種表示,我們通常可以有效地將對(duì)稱矩陣視為對(duì)角矩陣 , 這更容易理解。關(guān)于由特征向量定義的基礎(chǔ), 我們將通過(guò)幾個(gè)例子詳細(xì)說(shuō)明。
背景知識(shí):代表另一個(gè)基的向量。
任何正交矩陣定義了一個(gè)新的屬于的基(坐標(biāo)系),意義如下:對(duì)于任何向量都可以表示為,的線性組合,其系數(shù)為:
在第二個(gè)等式中,我們使用矩陣和向量相乘的方法。實(shí)際上,這種是唯一存在的:
換句話說(shuō),向量可以作為向量的另一種表示,與定義的基有關(guān)。
“對(duì)角化”矩陣向量乘法。通過(guò)上面的設(shè)置,我們將看到左乘矩陣可以被視為左乘以對(duì)角矩陣關(guān)于特征向量的基。假設(shè)是一個(gè)向量,表示的基。設(shè)為矩陣向量積。現(xiàn)在讓我們計(jì)算關(guān)于的基:然后,再利用和方程,我們得到:
我們可以看到,原始空間中的左乘矩陣等于左乘對(duì)角矩陣相對(duì)于新的基,即僅將每個(gè)坐標(biāo)縮放相應(yīng)的特征值。在新的基上,矩陣多次相乘也變得簡(jiǎn)單多了。例如,假設(shè)。根據(jù)的元素導(dǎo)出的分析形式,使用原始的基可能是一場(chǎng)噩夢(mèng),但使用新的基就容易多了:
“對(duì)角化”二次型。作為直接的推論,二次型也可以在新的基上簡(jiǎn)化。
(回想一下,在舊的表示法中,涉及一個(gè)項(xiàng)的和,而不是上面等式中的項(xiàng)。)利用這個(gè)觀點(diǎn),我們還可以證明矩陣的正定性完全取決于其特征值的符號(hào):
如果所有的,則矩陣正定的,因?yàn)閷?duì)于任意的,
如果所有的,則矩陣是為正半定,因?yàn)閷?duì)于任意的,
同樣,如果所有或,則矩陣分別為負(fù)定或半負(fù)定。
最后,如果同時(shí)具有正特征值和負(fù)特征值,比如 λ和,那么它是不定的。這是因?yàn)槿绻覀冏対M足和,同時(shí)所有的,那么?,我們讓滿足和,同時(shí)所有的,那么
特征值和特征向量經(jīng)常出現(xiàn)的應(yīng)用是最大化矩陣的某些函數(shù)。特別是對(duì)于矩陣,考慮以下最大化問(wèn)題:
也就是說(shuō),我們要找到(范數(shù) 1)的向量,它使二次型最大化。假設(shè)特征值的階數(shù)為,此優(yōu)化問(wèn)題的最優(yōu)值為,且與對(duì)應(yīng)的任何特征向量都是最大值之一。(如果,那么有一個(gè)與特征值對(duì)應(yīng)的唯一特征向量,它是上面那個(gè)優(yōu)化問(wèn)題的唯一最大值。) 我們可以通過(guò)使用對(duì)角化技術(shù)來(lái)證明這一點(diǎn):注意,通過(guò)公式推出,并利用公式:
,我們可以將上面那個(gè)優(yōu)化問(wèn)題改寫為:
然后,我們得到目標(biāo)的上界為:
此外,設(shè)置可讓上述等式成立,這與設(shè)置相對(duì)應(yīng)。
4.矩陣微積分
雖然前面章節(jié)中的主題通常包含在線性代數(shù)的標(biāo)準(zhǔn)課程中,但似乎很少涉及(我們將廣泛使用)的一個(gè)主題是微積分?jǐn)U展到向量設(shè)置展。盡管我們使用的所有實(shí)際微積分都是相對(duì)微不足道的,但是符號(hào)通常會(huì)使事情看起來(lái)比實(shí)際困難得多。 在本節(jié)中,我們將介紹矩陣微積分的一些基本定義,并提供一些示例。
4.1 梯度
假設(shè)是將維度為的矩陣作為輸入并返回實(shí)數(shù)值的函數(shù)。 然后的梯度(相對(duì)于)是偏導(dǎo)數(shù)矩陣,定義如下:
即,矩陣:
請(qǐng)注意,的維度始終與的維度相同。特殊情況,如果只是向量,則
重要的是要記住,只有當(dāng)函數(shù)是實(shí)值時(shí),即如果函數(shù)返回標(biāo)量值,才定義函數(shù)的梯度。例如,相對(duì)于,我們不能取的梯度,因?yàn)檫@個(gè)量是向量值。 它直接從偏導(dǎo)數(shù)的等價(jià)性質(zhì)得出:
對(duì)于?,
原則上,梯度是偏導(dǎo)數(shù)對(duì)多變量函數(shù)的自然延伸。然而,在實(shí)踐中,由于符號(hào)的原因,使用梯度有時(shí)是很困難的。例如,假設(shè)是一個(gè)固定系數(shù)矩陣,假設(shè)是一個(gè)固定系數(shù)向量。設(shè)為定義的函數(shù),因此。但現(xiàn)在考慮表達(dá)式,
該表達(dá)式應(yīng)該如何解釋? 至少有兩種可能性: 1.在第一個(gè)解釋中,回想起。 在這里,我們將解釋為評(píng)估點(diǎn)處的梯度,因此:
2.在第二種解釋中,我們將數(shù)量視為輸入變量的函數(shù)。 更正式地說(shuō),設(shè)。 然后在這個(gè)解釋中:
在這里,我們可以看到這兩種解釋確實(shí)不同。 一種解釋產(chǎn)生維向量作為結(jié)果,而另一種解釋產(chǎn)生維向量作為結(jié)果! 我們?cè)趺唇鉀Q這個(gè)問(wèn)題?
這里,關(guān)鍵是要明確我們要區(qū)分的變量。 在第一種情況下,我們將函數(shù)與其參數(shù)進(jìn)行區(qū)分,然后替換參數(shù)。 在第二種情況下,我們將復(fù)合函數(shù)直接與 x 進(jìn)行微分。
我們將第一種情況表示為,第二種情況表示為。
保持符號(hào)清晰是非常重要的,以后完成課程作業(yè)時(shí)候你就會(huì)發(fā)現(xiàn)。
這是黑塞矩陣第行(列),所以:
簡(jiǎn)單地說(shuō):我們可以說(shuō)由于:,只要我們理解,這實(shí)際上是取的每個(gè)元素的梯度,而不是整個(gè)向量的梯度。
最后,請(qǐng)注意,雖然我們可以對(duì)矩陣取梯度,但對(duì)于這門課,我們只考慮對(duì)向量取黑塞矩陣。 這會(huì)方便很多(事實(shí)上,我們所做的任何計(jì)算都不要求我們找到關(guān)于矩陣的黑森方程),因?yàn)殛P(guān)于矩陣的黑森方程就必須對(duì)矩陣所有元素求偏導(dǎo)數(shù),將其表示為矩陣相當(dāng)麻煩。
4.2 黑塞矩陣
假設(shè)是一個(gè)函數(shù),它接受中的向量并返回實(shí)數(shù)。那么關(guān)于的黑塞矩陣(也有翻譯作海森矩陣),寫做:,或者簡(jiǎn)單地說(shuō),是矩陣的偏導(dǎo)數(shù):
換句話說(shuō),,其:
注意:黑塞矩陣通常是對(duì)稱陣:
與梯度相似,只有當(dāng)為實(shí)值時(shí)才定義黑塞矩陣。
很自然地認(rèn)為梯度與向量函數(shù)的一階導(dǎo)數(shù)的相似,而黑塞矩陣與二階導(dǎo)數(shù)的相似(我們使用的符號(hào)也暗示了這種關(guān)系)。 這種直覺(jué)通常是正確的,但需要記住以下幾個(gè)注意事項(xiàng)。 首先,對(duì)于一個(gè)變量的實(shí)值函數(shù),它的基本定義:二階導(dǎo)數(shù)是一階導(dǎo)數(shù)的導(dǎo)數(shù),即:
然而,對(duì)于向量的函數(shù),函數(shù)的梯度是一個(gè)向量,我們不能取向量的梯度,即:
上面這個(gè)表達(dá)式?jīng)]有意義。 因此,黑塞矩陣不是梯度的梯度。 然而,下面這種情況卻這幾乎是正確的:如果我們看一下梯度的第個(gè)元素,并取關(guān)于于的梯度我們得到:
這是黑塞矩陣第行(列),所以:
簡(jiǎn)單地說(shuō):我們可以說(shuō)由于:,只要我們理解,這實(shí)際上是取的每個(gè)元素的梯度,而不是整個(gè)向量的梯度。
最后,請(qǐng)注意,雖然我們可以對(duì)矩陣取梯度,但對(duì)于這門課,我們只考慮對(duì)向量取黑塞矩陣。 這會(huì)方便很多(事實(shí)上,我們所做的任何計(jì)算都不要求我們找到關(guān)于矩陣的黑森方程),因?yàn)殛P(guān)于矩陣的黑塞方程就必須對(duì)矩陣所有元素求偏導(dǎo)數(shù),將其表示為矩陣相當(dāng)麻煩。
4.3 二次函數(shù)和線性函數(shù)的梯度和黑塞矩陣
現(xiàn)在讓我們嘗試確定幾個(gè)簡(jiǎn)單函數(shù)的梯度和黑塞矩陣。 應(yīng)該注意的是,這里給出的所有梯度都是CS229講義中給出的梯度的特殊情況。
對(duì)于, 設(shè)?的某些已知向量?,則:
所以:
由此我們可以很容易地看出。 這應(yīng)該與單變量微積分中的類似情況進(jìn)行比較,其中。 現(xiàn)在考慮的二次函數(shù)。 記住這一點(diǎn):
為了取偏導(dǎo)數(shù),我們將分別考慮包括和因子的項(xiàng):
最后一個(gè)等式,是因?yàn)槭菍?duì)稱的(我們可以安全地假設(shè),因?yàn)樗远涡问匠霈F(xiàn))。 注意,的第個(gè)元素是和的第行的內(nèi)積。 因此,。 同樣,這應(yīng)該提醒你單變量微積分中的類似事實(shí),即。
最后,讓我們來(lái)看看二次函數(shù)黑塞矩陣(顯然,線性函數(shù)的黑塞矩陣為零)。在這種情況下:
因此,應(yīng)該很清楚,這應(yīng)該是完全可以理解的(同樣類似于的單變量事實(shí))。
簡(jiǎn)要概括起來(lái):
?(如果是對(duì)稱陣)
?(如果是對(duì)稱陣)
4.4 最小二乘法
讓我們應(yīng)用上一節(jié)中得到的方程來(lái)推導(dǎo)最小二乘方程。假設(shè)我們得到矩陣(為了簡(jiǎn)單起見(jiàn),我們假設(shè)是滿秩)和向量,從而使。在這種情況下,我們將無(wú)法找到向量,由于,因此我們想要找到一個(gè)向量,使得盡可能接近?,用歐幾里德范數(shù)的平方來(lái)衡量。
使用公式“,我們可以得到:
根據(jù)的梯度,并利用上一節(jié)中推導(dǎo)的性質(zhì):
將最后一個(gè)表達(dá)式設(shè)置為零,然后解出,得到了正規(guī)方程:
這和我們?cè)谡n堂上得到的相同。
4.5 行列式的梯度
現(xiàn)在讓我們考慮一種情況,我們找到一個(gè)函數(shù)相對(duì)于矩陣的梯度,也就是說(shuō),對(duì)于,我們要找到。回想一下我們對(duì)行列式的討論:
所以:
從這里可以知道,它直接從伴隨矩陣的性質(zhì)得出:
現(xiàn)在我們來(lái)考慮函數(shù),。注意,我們必須將的域限制為正定矩陣,因?yàn)檫@確保了,因此的對(duì)數(shù)是實(shí)數(shù)。在這種情況下,我們可以使用鏈?zhǔn)椒▌t(沒(méi)什么奇怪的,只是單變量演算中的普通鏈?zhǔn)椒▌t)來(lái)看看:
從這一點(diǎn)可以明顯看出:
我們可以在最后一個(gè)表達(dá)式中刪除轉(zhuǎn)置,因?yàn)槭菍?duì)稱的。注意與單值情況的相似性,其中。
4.6 特征值優(yōu)化
最后,我們使用矩陣演算以直接導(dǎo)致特征值/特征向量分析的方式求解優(yōu)化問(wèn)題。 考慮以下等式約束優(yōu)化問(wèn)題:
對(duì)于對(duì)稱矩陣。求解等式約束優(yōu)化問(wèn)題的標(biāo)準(zhǔn)方法是采用拉格朗日形式,一種包含等式約束的目標(biāo)函數(shù),在這種情況下,拉格朗日函數(shù)可由以下公式給出:
其中,被稱為與等式約束關(guān)聯(lián)的拉格朗日乘子。可以確定,要使?成為問(wèn)題的最佳點(diǎn),拉格朗日的梯度必須在處為零(這不是唯一的條件,但它是必需的)。也就是說(shuō),
請(qǐng)注意,這只是線性方程。 這表明假設(shè),可能最大化(或最小化)的唯一點(diǎn)是的特征向量。
參考資料
[1]
原始文件下載:?http://cs229.stanford.edu/summer2019/cs229-linalg.pdf
[2]黃海廣:?https://github.com/fengdu78
[3]github:?https://github.com/fengdu78/Data-Science-Notes/tree/master/0.math
關(guān)于本站
“機(jī)器學(xué)習(xí)初學(xué)者”公眾號(hào)由是黃海廣博士創(chuàng)建,黃博個(gè)人知乎粉絲23000+,github排名全球前110名(32000+)。本公眾號(hào)致力于人工智能方向的科普性文章,為初學(xué)者提供學(xué)習(xí)路線和基礎(chǔ)資料。原創(chuàng)作品有:吳恩達(dá)機(jī)器學(xué)習(xí)個(gè)人筆記、吳恩達(dá)深度學(xué)習(xí)筆記等。
往期精彩回顧
那些年做的學(xué)術(shù)公益-你不是一個(gè)人在戰(zhàn)斗
適合初學(xué)者入門人工智能的路線及資料下載
吳恩達(dá)機(jī)器學(xué)習(xí)課程筆記及資源(github標(biāo)星12000+,提供百度云鏡像)
吳恩達(dá)深度學(xué)習(xí)筆記及視頻等資源(github標(biāo)星8500+,提供百度云鏡像)
《統(tǒng)計(jì)學(xué)習(xí)方法》的python代碼實(shí)現(xiàn)(github標(biāo)星7200+)
精心整理和翻譯的機(jī)器學(xué)習(xí)的相關(guān)數(shù)學(xué)資料
首發(fā):深度學(xué)習(xí)入門寶典-《python深度學(xué)習(xí)》原文代碼中文注釋版及電子書(shū)
備注:加入本站微信群或者qq群,請(qǐng)回復(fù)“加群”
加入知識(shí)星球(4300+用戶,ID:92416895),請(qǐng)回復(fù)“知識(shí)星球”
總結(jié)
以上是生活随笔為你收集整理的首发:吴恩达的 CS229的数学基础(线性代数),有人把它做成了在线翻译版本!...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ML 自学者周刊:第 5 期
- 下一篇: BERT论文总结