天天看點

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

作者:mistlike

如果您喜歡這篇文章或者希望及時看到系列文章的下一篇内容,請點選右上方的“關注”。感謝您的支援和鼓勵!

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

該系列曆史文章如下,點選連結可檢視:

「算法」深度學習中必須知道的數學知識 - 1. 概述

「算法」深度學習中必須知道的數學知識 - 2. 神經元的數學表示

「算法」深度學習中必須知道的數學知識 - 3. 激活函數 神經元的工作

「算法」深度學習中必須知道的數學知識 - 4. 什麼是神經網絡

「算法」深度學習中必須知道的數學知識 - 5. 講解神經網絡的結構

「算法」深度學習中必須知道的數學知識 - 6. 翻譯為神經網絡的語言

「算法」深度學習中必須知道的數學知識 - 7. 網絡自學習的神經網絡

本節我們來看一下神經網絡世界中頻繁出現的函數。雖然它們都是基本的函數,但是對于神經網絡是不可缺少的。

一次函數

在數學函數中最基本、最重要的就是一次函數。它在神經網絡的世界裡也同樣重要。這個函數可以用下式表示。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

a 稱為斜率, b 稱為截距。

當兩個變量 x、 y 滿足式 (1) 的關系時,稱變量 y 和變量 x 是一次函數關系。

一次函數的圖像如下圖的直線所示。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

例1 一次函數 y = 2x + 1 的圖像如下圖所示,截距為 1,斜率為 2。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

以上是一個自變量的情形。這個一次函數關系也同樣适用于多個自變量的情形。例如,有兩個變量 x1、 x2,當它們滿足下式的關系時,稱 y和 x1、 x2 是一次函數關系。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

我們将會在後面講到,在神經網絡中,神經單元的權重輸入可以表示為一次函數關系。例如,神經單元有三個來自下層的輸入,其權重輸入 z 的式子如下所示。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

如果把作為參數的權重 w1、 w2、 w3 與偏置 b 看作常數,那麼權重輸入 z 和 x1、 x2、 x3 是一次函數關系。另外,在神經單元的輸入 x1、 x2、 x3作為資料值确定了的情況下,權重輸入 z 和權重 w1、 w2、 w3 以及偏置 b是一次函數關系。用誤差反向傳播法推導計算式時,這些一次函數關系使得計算可以簡單地進行。

問題1: 作出一次函數 y = - 2x - 1 的圖像。

解 如下圖所示,截距是 - 1,斜率是 - 2。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

備注 自變量

有兩個變量 x 和 y,如果對每個 x 都有唯一确定的 y 與它對應,則稱 y 是 x 的函數,用 y = f (x) 表示。此時,稱 x 為自變量, y 為因變量。

二次函數

在數學函數中, 二次函數與一次函數同樣重要。我們所說的代價函數使用了二次函數。二次函數由下式表示。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

二次函數的圖像是把物體抛出去時物體所經過的軌迹,也就是抛物線(下圖)。這個圖像中重要的一點是, a 為正數時圖像向下凸,進而存在最小值。這個性質是後面講到的最小二乘法的基礎。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

例2 二次函數 y = (x - 1)2 + 2 的圖像如下圖所示。從圖像中可以看到,當 x = 1 時,函數取得最小值 2。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

以上考察了一個自變量的情形。這裡考察的性質在推廣到多個自變量的情形時也是不變的。例如,有兩個自變量 x1、 x2 時,稱下面的函數為關于 x1、 x2 的二次函數。

例3

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

這裡, a、 b、 c、 p、 q、 r 為常數, a ≠ 0, c ≠ 0。

對于有兩個以上的自變量的情形,就難以在紙面上畫出圖像了。例如,隻能像下圖那樣畫出式 (3) 的圖像。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

實際的神經網絡需要處理更多變量的二次函數。不過,記住這裡考察的二次函數的圖像後,在了解多變量的情形時應該不難。

注:式 (3) 所示的圖像并不僅限于上圖所示的抛物面。

問題2 試作出二次函數 y = 2x^2 的圖像。

解 圖像如右圖所示。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

機關階躍函數

神經網絡的原型模型是用機關階躍函數作為激活函數的,它的圖像如下所示。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

我們用式子來表示機關階躍函數。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

從這個式子我們可以知道,機關階躍函數在原點處不連續,也就是在原點不可導。由于這個不可導的性質,機關階躍函數不能成為主要的激活函數。

問題3: 在機關階躍函數 u(x) 中,求下面的值。

① u( - 1) ② u(1) ③ u(0)

解: 答案依次為 0、 1、 1。

指數函數與 Sigmoid 函數

具有以下形狀的函數稱為指數函數。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

常數 a 稱為指數函數的底數。 e 是一個特别重要的底數,其近似值如下。

e = 2.71828 ...

這個指數函數包含在以下的 Sigmoid 函數 σ(x) 的分母中。 Sigmoid 函數是神經網絡中具有代表性的激活函數。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

注:exp 是 exponential function(指數函數)的簡略記法,exp(x) 表示指數函數 ex。

這個函數的圖像如右圖所示。可以看出,這個函數是光滑的,也就是處處可導。函數的取值在 0 和 1 之間,是以函數值可以用機率來解釋。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

問題4: 在 Sigmoid 函數 σ(x) 中,求以下函數值的近似值。

① σ( - 1) ② σ(0) ③ σ(1)

解: 取 e = 2.7 作為近似值,答案依次為 0.27、 0.5、 0.73。

正态分布的機率密度函數

用計算機實際确定神經網絡時,必須設定權重和偏置的初始值。求初始值時, 正态分布( normal distribution)是一個有用的工具。使用服從這個分布的随機數,容易取得好的結果。

正态分布是服從以下機率密度函數 f(x) 的機率分布

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

其中常數 µ 稱為期望值( 平均值), σ 稱為标準差。它的圖像如下圖所示,由于形狀像教堂的鐘,是以稱為鐘形曲線。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

問題5: 試作出期望值 µ 為 0、标準差 σ 為 1 的正态分布的機率密度函數的圖像。

解: 如下圖所示,這個正态分布稱為标準正态分布。

「算法」深度學習中必須知道的數學知識 - 8. 神經網絡中的數學函數

按照正态分布産生的随機數稱為正态分布随機數。在神經網絡的計算中,經常用到正态分布随機數作為初始值。

備注: Excel中的正态分布随機數

在 Excel 中,可以像下面這樣産生正态分布随機數。

= NORM.INV(RAND(), µ, σ) ( µ、 σ 是期望值和标準差)

繼續閱讀