在機(jī)器學(xué)習(xí)(ML)中,最重要的線性代數(shù)概念之一是奇異值分解(SVD)和主成分分析(PCA)。在收集到所有原始數(shù)據(jù)后,我們?nèi)绾伟l(fā)現(xiàn)其中的結(jié)構(gòu)?例如,通過(guò)過(guò)去6天的利率,我們能否理解其組成并發(fā)現(xiàn)趨勢(shì)?
對(duì)于高維原始數(shù)據(jù),這變得更加困難,就像在一堆干草中找針一樣。SVD使我們能夠提取和解開(kāi)信息。在本文中,我們將詳細(xì)介紹SVD和PCA。我們假設(shè)您具備基本的線性代數(shù)知識(shí),包括秩和特征向量。如果您在閱讀本文時(shí)遇到困難,我建議您先刷新這些概念。在本文末尾,我們將回答上面的利率示例中的一些問(wèn)題。本文還包含可選部分。根據(jù)您的興趣程度隨意跳過(guò)。
誤解
我發(fā)現(xiàn)一些非初學(xué)者可能會(huì)問(wèn)這樣的問(wèn)題。PCA是降維嗎?PCA確實(shí)可以降維,但它遠(yuǎn)遠(yuǎn)不止于此。我喜歡維基百科的描述:
主成分分析(PCA)是一種統(tǒng)計(jì)過(guò)程,它使用正交變換將一組可能存在相關(guān)性的變量(每個(gè)實(shí)體都具有各種數(shù)值)的觀測(cè)值轉(zhuǎn)換為一組線性不相關(guān)變量的值,這些變量稱為主成分。
從一個(gè)簡(jiǎn)化的角度來(lái)看,PCA將數(shù)據(jù)線性轉(zhuǎn)換為彼此不相關(guān)的新屬性。對(duì)于機(jī)器學(xué)習(xí)而言,將PCA定位為特征提取,可能比將其定位為降維更能充分發(fā)揮其潛力。
SVD和PCA的區(qū)別是什么?SVD將矩陣對(duì)角化為易于操作和分析的特殊矩陣,從而為將數(shù)據(jù)分解成獨(dú)立成分奠定了基礎(chǔ)。PCA跳過(guò)了較不重要的成分。顯然,我們可以使用SVD來(lái)找到PCA,方法是在原始SVD矩陣中截?cái)噍^不重要的基向量。
矩陣對(duì)角化
在特征值和特征向量的文章中,我們描述了一種將n×n方陣A分解為以下形式的方法:
例如,
如果A是一個(gè)方陣并且A具有n個(gè)線性無(wú)關(guān)的特征向量,則可以將矩陣對(duì)角化。現(xiàn)在,是時(shí)候使用SVD為所有矩陣開(kāi)發(fā)解決方案了。
奇異向量和奇異值
在線性代數(shù)中,矩陣AA?和A?A非常特殊。考慮任何m×n矩陣A,我們可以分別將其與A?相乘以形成AA?和A?A。這些矩陣:
- 對(duì)稱的,
- 方陣,
- 至少是半正定的(特征值為零或正),
- 這兩個(gè)矩陣具有相同的正特征值,
- 這兩個(gè)矩陣的秩與A的秩相同,均為r。
此外,我們?cè)跈C(jī)器學(xué)習(xí)中經(jīng)常使用的協(xié)方差矩陣也處于這種形式。由于它們是對(duì)稱的,我們可以選擇其特征向量為正交的(彼此垂直且長(zhǎng)度為1)——這是對(duì)稱矩陣的基本性質(zhì)。
現(xiàn)在,讓我們介紹一些在SVD中經(jīng)常使用的術(shù)語(yǔ)。我們?cè)谶@里將AA?的特征向量稱為u?,將A?A的特征向量稱為v?,并將這些特征向量集合u和v稱為A的奇異向量。這兩個(gè)矩陣具有相同的正特征值。這些特征值的平方根被稱為奇異值。
到目前為止還沒(méi)有太多解釋,但讓我們先把所有東西放在一起,解釋將在接下來(lái)給出。我們將向量u?連接成U,將向量v?連接成V,以形成正交矩陣。
由于這些向量是正交的,很容易證明U和V遵循以下關(guān)系:
SVD
我們先從難的部分開(kāi)始。SVD表明,任何矩陣A都可以分解為:
其中U和V是正交矩陣,其特征向量分別從AA?和A?A中選擇。S是一個(gè)對(duì)角矩陣,其r個(gè)元素等于AA?或A?A的正特征值的平方根(這兩個(gè)矩陣具有相同的正特征值)。對(duì)角線元素由奇異值組成。
即一個(gè)m×n矩陣可以分解為:
我們可以按不同的順序排列特征向量來(lái)產(chǎn)生U和V。為了標(biāo)準(zhǔn)化解決方案,我們將特征值較大的向量排在較小的值的前面。
與特征值分解相比,SVD適用于非方陣。對(duì)于SVD中的任何矩陣,U和V都是可逆的,并且它們是正交的,這是我們所喜歡的。在這里不提供證明,我們還告訴您,奇異值比特征值更具數(shù)值穩(wěn)定性。
示例
在進(jìn)一步深入之前,讓我們用一個(gè)簡(jiǎn)單的例子來(lái)演示一下。這將使事情變得非常容易理解。
計(jì)算:
這些矩陣至少是半正定的(所有特征值均為正或零)。如圖所示,它們共享相同的正特征值(25和9)。下面的圖還顯示了它們對(duì)應(yīng)的特征向量。
奇異值是正特征值的平方根,即5和3。因此,SVD分解為:
證明(可選)
為了證明SVD,我們要解出U、S和V,使得:
我們有三個(gè)未知數(shù)。希望我們可以使用上面的三個(gè)方程解決它們。A的轉(zhuǎn)置為:
已知
計(jì)算 A?A,
最后一個(gè)方程相當(dāng)于矩陣(A?A)的特征向量定義。我們只是將所有特征向量放入一個(gè)矩陣中。
其中VS2等于
V保存A?A的所有特征向量v?,而S保存A?A的所有特征值的平方根。我們可以對(duì)AA?重復(fù)相同的過(guò)程,并得到類似的方程式。
現(xiàn)在,我們只需要解出U、V和S,使其符合以下條件:
總結(jié)
以下是SVD的總結(jié)。
其中
重新表述SVD
由于矩陣V是正交的,V?V等于I。我們可以將SVD方程重寫為:
這個(gè)方程式建立了u?和v?之間的重要關(guān)系。
回顧
應(yīng)用AV = US,
這可以推廣為:
回顧
and
SVD分解可以被認(rèn)為是u?和v?的一系列外積。
這種SVD的公式化是理解A的構(gòu)成要素的關(guān)鍵。它提供了一種將糾纏在一起的m×n數(shù)據(jù)數(shù)組分解為r個(gè)組件的重要方法。由于u?和v?是單位向量,我們甚至可以忽略具有非常小奇異值σ?的項(xiàng)(σ?u?v??)。 (稍后我們會(huì)回到這個(gè)問(wèn)題。)
讓我們先重用之前的例子,展示一下它是如何工作的。
上面的矩陣A可以分解為:
列空間,行空間,左零空間和零空間(可選-高級(jí)用戶)
接下來(lái),我們將看看U和V由什么組成。假設(shè)A是一個(gè)秩為r的m×n矩陣。A?A將是一個(gè)n×n的對(duì)稱矩陣。所有對(duì)稱矩陣都可以選擇n個(gè)正交的特征向量v?。由于Av? = σ?u?,而v?是A?A的正交特征向量,我們可以計(jì)算u??u?的值:
它等于零,即u?和u?互相正交。如前所述,它們也是AA?的特征向量。
由于Av? = σu?,我們可以認(rèn)識(shí)到u?是A的列向量。
由于A的秩為r,所以我們可以選擇這r個(gè)u?向量為正交基。那么AA?的剩余m-r個(gè)正交特征向量是什么呢?由于A的左零空間與列空間正交,因此將其選為剩余的特征向量非常自然。(左零空間N(A?)是由A?x = 0定義的空間。)對(duì)于A?A的特征向量,類似的論證也是適用的。因此,我們有:
從前面的SVD方程式回到原來(lái)的方程式,我們有:
我們只需將特征向量放回左零空間和零空間中。
對(duì)于線性方程組,我們可以計(jì)算一個(gè)方陣A的逆來(lái)求解x。
但并非所有矩陣都可逆。而且,在機(jī)器學(xué)習(xí)中,由于數(shù)據(jù)中存在噪聲,很難找到精確的解。我們的目標(biāo)是找到最適合數(shù)據(jù)的模型。為了找到最佳擬合解,我們需要計(jì)算一個(gè)偽逆。
該偽逆最小化以下最小二乘誤差:
解x的估計(jì)值為:
在線性回歸問(wèn)題中,x是我們的線性模型,A包含訓(xùn)練數(shù)據(jù),b包含相應(yīng)的標(biāo)簽。我們可以通過(guò)以下方式解決x:
下面是一個(gè)例子
方差和協(xié)方差
在機(jī)器學(xué)習(xí)中,我們識(shí)別模式和關(guān)系。我們?nèi)绾未_定數(shù)據(jù)中屬性之間的相關(guān)性?讓我們從一個(gè)例子開(kāi)始討論。我們隨機(jī)抽取了12個(gè)人的身高和體重,并計(jì)算它們的均值。我們通過(guò)將原始值減去其均值來(lái)將其零中心化。例如,下面的矩陣A保存了調(diào)整后的零中心化身高和體重。
當(dāng)我們繪制數(shù)據(jù)點(diǎn)時(shí),我們可以看出身高和體重是正相關(guān)的。但是我們?nèi)绾瘟炕@種關(guān)系呢?
首先,一個(gè)屬性如何變化?我們可能在高中就學(xué)過(guò)方差。讓我們介紹一下它的近親。樣本方差的定義為:
注意,它的分母為n-1而不是n。由于樣本數(shù)量有限,樣本均值存在偏差并與樣本相關(guān)。相對(duì)于總體,平均平方距離會(huì)更小。樣本協(xié)方差S2除以n-1來(lái)抵消這個(gè)偏差,可以被證明是方差σ2的無(wú)偏估計(jì)。
-
ML
+關(guān)注
關(guān)注
0文章
149瀏覽量
34658 -
SVD
+關(guān)注
關(guān)注
0文章
21瀏覽量
12173 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8418瀏覽量
132646
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論