M.1.1 神經網路的數學基礎-從空間、長度到張量
與應用相關的名詞解釋
標量、向量、矩陣都可以看作是張量(Tensor)的概念的特化(這個說法可能不準確)。
標量即0維張量,是單純的一個數字
向量即1維張量,書本里一般用粗體或者上方箭頭表示,注意區分坐標向量和速度向量:
二維矩陣即二維張量,一般書里用黑體表示。
長度的定義是基於速度和積分的,在歐式空間中可以簡單的表示為:
閔可夫斯基空間下的長度見本文最後。
從坐標開始解釋
笛卡爾空間:空間中的每個點建立一組對應的實數,稱為其坐標,不同點對應不同的坐標組,反之不同坐標組對應不同的點。具有這樣性質的笛卡爾坐標的空間為n維笛卡爾空間記為
我們生活的空間是一個四維空間,其中的每一個點稱之為「事件」,t是時間,x是位置坐標,在經典的幾何中,t看作是一個常數,這是我們熟悉的三維空間。
假設在同一空間中建立不同的笛卡爾坐標:,二者之間的坐標有一定的函數關係:
註:這裡以後並不會進一步討論函數的連續可微性質
對於線性變換:
可以將其寫成矩陣的形式:
一些書本中可以寫成約定求和的方式,省略Sigma符號
線段長度和交線的角度是空間中最基本的概念,但這個兩個概念定義是與空間坐標系相關的。
如果空間中兩點長度為:
則稱這個空間中的坐標為歐式坐標。用這個空間去描述問題是很方便的。
如果將原點與空間內一點連線,此時得到的這個向量就可以稱為坐標向量,在用歐式坐標表示函數的過程中就可以表示成坐標向量的形式:
。
定義歐幾里得內積:
或者表示成約定求和的形式
定義向量夾角:
將曲線長度定義為關於速度的量:
歐式空間中曲線由參數形式給出:
那麼速度定義為:
注意此處t並非時空定義中的時間,僅僅是一個自變數是曲線的參數。曲線長度與時間和坐標系選取無關。
速度定義之後其在不同坐標系之下的變換以及依託於速度(長度)等一系列的方程也發生了變化。
坐標變換之下,空間內某一點處的速度分量數值變化方式:
或寫成約定求和形式
其中A稱為雅克比矩陣。
但是注意速度作為空間中的基本定義其是不發生變化的,只是分量數值方向發生了變化。
再來看函數的梯度定義為:
再看一下梯度的坐標變換形式:
梯度的變換形式與速度向量的變換形式不同,此稱為余向量。
那麼如果一個向量的長度定義方式為:
如果矩陣是正定的,那麼成其為黎曼度量。
再看速度的內積,或稱為點乘,在歐式坐標之下,向量內積:
坐標變換之下的內積:
再經歷一次坐標變換:
此時:
這是度量在不同坐標之下的變換方式。
上述方式定義的種種變換不依賴於坐標系的選取。由於偏微分方程也好其他連續函數也好,都是定義在微分形式之下的。而微分形式都是定義空間坐標點以及其鄰域的一些性質,所以空間內某一點向量的變化形式由上述方程給出。而G則代表了這種變化的形式。所以一些人提到張量(Tensor)定義為空間變換的某種形式。同時黎曼度量定義的過程中提到了正定的概念,那麼大概可以理解《線性代數》中一些奇怪的名詞從何而來了。這也是為什麼本文想從現代幾何開始去闡述,知其然也要知其所以然才是學習的態度。當然說了這麼多依然感覺知識很難成一個體系。以後會一一說明。
最後再提一下閔可夫斯基度量:
如果矩陣G非正定,則稱其是一個偽黎曼度量,此種度量下的空間記為q 為負數個數。
閔可夫斯基空間下的長度為:
大部分民科所謂的相對論就源於此。
推薦閱讀:
※比二次代價函數學習更快的Cross-entropy
※多類分類下為什麼用softmax而不是用其他歸一化方法?
※等什麼, 趕快抱緊 PyTorch 的大腿!
※為什麼你需要計算神經科學
※有人說機器學習近些年的發展只是依賴於「大數據」和「高計算」,在演算法上並沒有突破,這是在影射深度學習么?
TAG:神经网络 | 机器学习 | TensorFlow |