通過圖論直觀地解釋線性代數(shù)的基本原理,理解機(jī)器學(xué)習(xí)的數(shù)學(xué)原理(轉(zhuǎn)自網(wǎng)易號老胡說科學(xué))
發(fā)布日期:2022/3/7 14:56:17 瀏覽量:
對很多人來說,數(shù)學(xué)是一門很難學(xué)的學(xué)科,它非常廣泛,在許多領(lǐng)域都有各種各樣的應(yīng)用。線性代數(shù)是數(shù)學(xué)的一部分,理解和應(yīng)用起來尤其困難。在我看來,關(guān)于線性代數(shù)的許多課程和開源工具都需要大量的計(jì)算。對于剛接觸 線代 的新人來說,這可能是個問題。線性代數(shù)在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)中有各種各樣的應(yīng)用——舉幾個例子:自然語言處理、推薦系統(tǒng)、降維、神經(jīng)網(wǎng)絡(luò)等。對線性代數(shù)有較強(qiáng)的基礎(chǔ)理解將有助于理解機(jī)器學(xué)習(xí)的底層邏輯和數(shù)學(xué)方法。
本文將著重于通過圖形的使用來從視覺上理解線性代數(shù)的計(jì)算,這將涵蓋許多核心概念,如矩陣的加法、減法、乘法、除法、轉(zhuǎn)置等。這些是線性代數(shù)中非常基本和常見的概念,這些概念在機(jī)器學(xué)習(xí)中也經(jīng)常出現(xiàn)。
圖論與線性代數(shù)
圖論和線性代數(shù)是相輔相成的,數(shù)學(xué)中有一個完整的 子 范疇叫做代數(shù)圖論,它使用代數(shù)方法來解決有關(guān)圖的問題。這些代數(shù)方法往往包括各種線性代數(shù)。
圖的鄰接矩陣
本文使用的核心概念是鄰接矩陣。鄰接矩陣是指可以將一個圖G轉(zhuǎn)換成一個矩陣,反之亦然。鄰接矩陣總是對稱的,由表示圖G中相鄰頂點(diǎn)對之間連接的元素組成。圖到相關(guān)鄰接矩陣的轉(zhuǎn)換可以很容易地在下面的圖中說明。
· 圖G的鄰接矩陣
如果圖G有任何自循環(huán),在上圖中矩陣的對角線上就會有值。鄰接矩陣封裝了圖的結(jié)構(gòu)和關(guān)系。鄰接矩陣可以表示為稀疏或 密集 矩陣,使其在圖上運(yùn)行實(shí)驗(yàn)的計(jì)算效率非常高。因此,鄰接矩陣是表示圖的最常用方法之一。在本文中,我將把線性代數(shù)中介紹的基本概念應(yīng)用到鄰接矩陣中,并展示與該矩陣相關(guān)聯(lián)的圖是如何相應(yīng)地變化的。
算術(shù)運(yùn)算
對大多數(shù)人來說,對矩陣進(jìn)行算術(shù)運(yùn)算是非常簡單和直觀的。理解基于算法的圖最簡單的方法是通過加權(quán)圖。通過線性代數(shù)中涉及的一般算術(shù),與這些算術(shù)相關(guān)的圖形可能會發(fā)生巨大的變化。新的邊可以形成或移除,與這些邊相關(guān)的影響將增加或減少重要性。這個圖可以從一個連通的網(wǎng)絡(luò)變成一個不連通的網(wǎng)絡(luò)。下面展示的示例可以更好地從視覺上理解圖上的矩陣算術(shù)。
加減圖
· 通過圖直觀地顯示矩陣加法,正如你可以看到的那樣,圖已經(jīng)合并了具有比以前更高權(quán)值的 邊 。
雖然這個例子只介紹了加法,但是應(yīng)該可以很直觀地看出減法對圖形的影響。
乘除法
· 這幅圖顯示了當(dāng)圖形乘以一個常數(shù)時的影響,顯然圖形的形狀沒有改變,但邊的權(quán)值增加了。
點(diǎn)積
點(diǎn)積是一個很難從視覺上理解的概念,特別是當(dāng)你要相乘的矩陣的維數(shù)很大的時候。當(dāng)研究如下所示的圖像時,請記住,當(dāng)取兩個圖的點(diǎn)積時,它幾乎肯定會成為一個有向圖。下圖你將看到取兩個無向圖(鄰接矩陣)的點(diǎn)積的結(jié)果,它是有向圖。在最簡單的形式中,如果一個圖不包含重復(fù)邊和循環(huán),它就是無向圖。這意味著無向圖的鄰接矩陣對角線為零,且矩陣M^T的轉(zhuǎn)值等價于M。
正如你將看到的, 有 向圖是非常不同的。有向圖是由有向邊組成的圖,這意味著只有在有向邊到達(dá)某個節(jié)點(diǎn)時才能從一個節(jié)點(diǎn)到另一個節(jié)點(diǎn)。方向 通常 通過邊上的箭頭來指示。
· 兩個矩陣的 點(diǎn)積 的直觀表示。
點(diǎn)積 得到的圖完全改變了人們對圖的理解。兩個(相對)簡單圖的點(diǎn)積會導(dǎo)致一些相當(dāng)混亂的結(jié)果。正如你所看到的,你可以遍歷具有不同權(quán)值的各個節(jié)點(diǎn)。
轉(zhuǎn)置陣
傳統(tǒng)上,當(dāng)我們要轉(zhuǎn)置一個矩陣時,所要做的就是在它的對角線上翻轉(zhuǎn)這個矩陣。但是這如何影響相關(guān)的 圖 呢?
轉(zhuǎn)置背后最簡單的視覺理解是通過觀察 有 向圖。如上所述,當(dāng)圖G的一個節(jié)點(diǎn)通過一條邊指向另一個節(jié)點(diǎn)時,圖G是有方向的,那么該圖G的轉(zhuǎn)置將表明方向被交換了。這可能是對矩陣轉(zhuǎn)置如何影響網(wǎng)絡(luò)的最直觀的理解。
· 如圖所示,對有向網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)置,只是改變了這些邊所面向的方向。
線性組合
圖的線性組合與向量的線性組合非常相似。線性組合可以用以下定義來概括:
數(shù)學(xué)
常數(shù) : a, b, c, ... z
項(xiàng):G1, G2, G3, ... Gn
線性組合 = a*G1 + b*G2 + c*G3 + ... + z*Gn
現(xiàn)在,當(dāng)在圖的背景下考慮線性組合時,假設(shè)每個向量現(xiàn)在是一個對應(yīng)于圖的對稱矩陣。然后,我們可以直觀地看到,當(dāng)合并網(wǎng)絡(luò)時,每個變化所產(chǎn)生的影響。如下圖所示:
· 3個不同的圖形G1、G2和G3(從左到右)與常數(shù)a1、a2、a3(3,2,1)相乘的線性組合及其對應(yīng)的結(jié)果。
線性代數(shù)在機(jī)器學(xué)習(xí)中的應(yīng)用
線性代數(shù)在機(jī)器學(xué)習(xí)中的應(yīng)用有很多種。獨(dú)熱編碼、多種降維模型等概念從根本上起源于線性代數(shù)。像PCA這樣的模型直觀地使用了線性組合和特征向量背后的思想,以減少輸入數(shù)據(jù),同時盡量減少信息丟失。
線性代數(shù)在機(jī)器學(xué)習(xí)中的更復(fù)雜應(yīng)用表現(xiàn)為推薦系統(tǒng)和深度學(xué)習(xí)。所有形式的推薦系統(tǒng)都使用各種線性代數(shù)來解決所提出的問題。基于內(nèi)容、協(xié)同過濾和混合方法解決推薦系統(tǒng)中的問題,使用線性代數(shù)中的常見概念,如點(diǎn)積、余弦相似度、歐幾里德距離、矩陣分解等。在推薦系統(tǒng)中,即使是像鏈接預(yù)測這樣的復(fù)雜方法,也從根本上使用大量的線性代數(shù)來識別網(wǎng)絡(luò)中缺失的邊。
深度學(xué)習(xí)的本質(zhì)是線性代數(shù),從用于定義神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)結(jié)構(gòu)到它在訓(xùn)練和測試數(shù)據(jù)中的方法。深度學(xué)習(xí)中一個常見的術(shù)語是張量,張量本質(zhì)上是一個超過二維的矩陣。
希望這篇文章能為你提供圖論和線性代數(shù)數(shù)學(xué)背后的直覺和聯(lián)系。這些概念經(jīng)常出現(xiàn)在各種機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)應(yīng)用的幕后。對這些概念有一個更嚴(yán)格和更基礎(chǔ)的理解,將最有可能幫助你學(xué)習(xí)各種機(jī)器學(xué)習(xí)相關(guān)的概念。
馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 聯(lián)系人:石先生/雷先生