大白話深度學(xué)習(xí)中的Sigmoid函數(shù)
【寫在前面】
無論是自己實現(xiàn)一個神經(jīng)網(wǎng)絡(luò),還是使用一個內(nèi)置的庫來學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),了解 Sigmoid函數(shù)的意義是至關(guān)重要的。Sigmoid函數(shù)是理解神經(jīng)網(wǎng)絡(luò)如何學(xué)習(xí)復(fù)雜問題的關(guān)鍵 。這個函數(shù)也是學(xué)習(xí)其他函數(shù)的基礎(chǔ),這些函數(shù)可以為深度學(xué)習(xí)架構(gòu)中的監(jiān)督學(xué)習(xí)提供高效的解決方案。本文分為三個部分:
1、Sigmoid函數(shù)
2、線性與非線性可分性
3、為什么神經(jīng)網(wǎng)絡(luò)可以通過使用Sigmoid函數(shù),作出復(fù)雜的決策邊界
1. Sigmoid Function
1.1. ?Sigmoid函數(shù)的性質(zhì)和恒等式
Sigmoid函數(shù)是 Logistic函數(shù)的一種特殊形式,通常用 σ (x)或 sig (x)來表示。如下所示:
Sigmoid 函數(shù)是一條 s 形曲線,如下圖中的綠線所示。該圖還顯示了粉紅色的導(dǎo)數(shù)圖形:

1.2. ?Sigmoid——壓縮函數(shù)
Sigmoid函數(shù)也可以作為壓縮函數(shù),因為它的域是所有實數(shù)的集合,它的范圍是(0,1)。因此,如果函數(shù)的輸入是一個非常大的負(fù)數(shù)或非常大的正數(shù),則輸出總是介于0和1之間。在-∞和 + ∞之間的任何數(shù)字也是如此。
1.3. ?Sigmoid——激活函數(shù)
Sigmoid函數(shù)被用作神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)。為了回顧什么是激活函數(shù)神經(jīng)元,下面的圖顯示了激活函數(shù)神經(jīng)元在神經(jīng)網(wǎng)絡(luò)的一個層中所起的作用。輸入的加權(quán)和通過一個激活函數(shù),這個輸出作為下一層的輸入。

當(dāng)一個神經(jīng)元的激活函數(shù)是一個 Sigmoid函數(shù)時,這個單元的輸出保證總是介于0和1之間。此外,由于 Sigmoid是一個非線性函數(shù),這個單元的輸出將是一個非線性函數(shù)的加權(quán)和的輸入。這種以Sigmoid函數(shù)為激活函數(shù)的神經(jīng)元被稱為sigmoid unit 。
2. 線性與非線性可分性?
假設(shè)我們有一個典型的分類問題,我們在空間中有一組點,每個點被分配一個類標(biāo)簽。如果一條直線(或 n 維空間中的一個超平面)可以將這兩類分開,那么我們就有一個線性可分問題。另一方面,如果一條直線不足以劃分這兩類,那么我們就有一個非線性可分問題。下圖顯示了二維空間中的數(shù)據(jù)。每個點被分配一個紅色或藍(lán)色的類標(biāo)簽。左圖顯示了一個線性可分問題,該問題需要一個線性邊界來區(qū)分兩類問題。右圖顯示了一個非線性可分問題,需要一個非線性決策邊界。

對于三維空間,線性決策邊界可以用平面方程來描述。對于 n 維空間,線性決策邊界由超平面方程描述。
3. 為什么 Sigmoid函數(shù)在神經(jīng)網(wǎng)絡(luò)中很重要?
如果我們在神經(jīng)網(wǎng)絡(luò)中使用線性激活函數(shù),那么這個模型只能學(xué)習(xí)線性可分問題。然而,只要在隱藏層中增加一個隱藏層和一個 Sigmoid激活函數(shù),神經(jīng)網(wǎng)絡(luò)就可以很容易地學(xué)習(xí)一個非線性可分問題 。使用非線性函數(shù)產(chǎn)生非線性邊界,因此,Sigmoid函數(shù)可以用于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)復(fù)雜的決策函數(shù)。
在神經(jīng)網(wǎng)絡(luò)中,可以用作激活函數(shù)的非線性函數(shù)必須是一個單調(diào)遞增 的函數(shù)。例如,sin (x)或 cos (x)不能用作激活函數(shù)。另外,激活函數(shù)應(yīng)該定義為任意處 ,并且在實數(shù)空間中任意處都是連續(xù)的 。這個函數(shù)還要求在整個實數(shù)空間上是可微 的。
通常,反向傳播算法使用梯度下降法學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的權(quán)重。為了得到這個算法,需要對激活函數(shù)進(jìn)行求導(dǎo)數(shù)。而由于Sigmoid函數(shù)是單調(diào)的,連續(xù)的,到處可微的 ,再加上它的導(dǎo)數(shù)可以用它自己來表示 的特性,使得當(dāng)使用反向傳播算法時,很容易推導(dǎo)出學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)中的權(quán)重的更新方程。
