天天看點

從異或問題到前饋神經網絡 (from XOR problem to FNN)

【參考資料】

1.B站:機器學習-白闆推導系列(二十三)-前饋神經網絡(Feedforward Neural Network)

從異或問題到前饋神經網絡 (from XOR problem to FNN)

關于非線性問題 Non-Linear Problem

有以下三種常見的解決方法

1 Non-Linear Transformation 非線性轉化

ϕ : X → Z \phi:\mathcal{X}\to \mathcal{Z} ϕ:X→Z

即構造函數 ϕ \phi ϕ,将 input space X \mathcal{X} X 轉化成 feature space Z \mathcal{Z} Z

通常是由低維至高維的裝換 (高維特征往往更加容易線性可分)

2 Kernel Method

κ ( x , x ′ ) = < ϕ ( x ) , ϕ ( x ′ ) > \kappa(x,x')=<\phi(x),\phi(x')> κ(x,x′)=<ϕ(x),ϕ(x′)>

核方法可以視作隐藏的非線性轉化

3 Neural Network

以異或問題為例

異或問題 (XOR ⊕ \oplus ⊕) 是一個典型的線性不可分的問題

從異或問題到前饋神經網絡 (from XOR problem to FNN)

而基本運算 AND: ∧ \land ∧, OR: ∨ \lor ∨, NOT: ¬ \neg ¬ 都是線性可分的

從異或問題到前饋神經網絡 (from XOR problem to FNN)
從異或問題到前饋神經網絡 (from XOR problem to FNN)

将基本運算符進行組合,我們可以表示出符合運算符 XOR

x 1 ⊕ x 2 = ( ¬    x 1 ∧ x 2 ) ∨ ( x 1 ∧ ¬    x 2 ) x_1\oplus x_2=(\neg\; x_1 \land x_2)\lor(x_1 \land \neg\; x_2) x1​⊕x2​=(¬x1​∧x2​)∨(x1​∧¬x2​)

推導

令 x 1 ⊕ x 2 → 1 x_1\oplus x_2\to1 x1​⊕x2​→1

那麼 x 1 , x 2 = { 1 , 0 ( 1 ) 0 , 1 ( 2 ) x_1, x_2=\begin{cases} 1, 0 &(1)\\ 0, 1 &(2) \end{cases} x1​,x2​={1,00,1​(1)(2)​, 是以 x 1 ⊕ x 2 = ( 1 ) ∨ ( 2 ) x_1\oplus x_2=(1)\lor (2) x1​⊕x2​=(1)∨(2)

對于 ( 1 ) : 1 , 0 → 1 (1):1,0\to1 (1):1,0→1 可以類比于 AND ( 1 , 1 → 1 1,1\to1 1,1→1) (這裡隻有一種對應情況,和 AND 很類似,而 OR 則有三種對應情況)

是以 ( 1 ) : x 1 ∧ ¬    x 2 → 1 (1):x_1\land \neg \;x_2\to1 (1):x1​∧¬x2​→1

同理 ( 2 ) : ¬    x 1 ∧ x 2 → 1 (2):\neg\;x_1\land x_2\to1 (2):¬x1​∧x2​→1

最終可得 x 1 ⊕ x 2 = ( ¬    x 1 ∧ x 2 ) ∨ ( x 1 ∧ ¬    x 2 ) x_1\oplus x_2=(\neg\; x_1 \land x_2)\lor(x_1 \land \neg\; x_2) x1​⊕x2​=(¬x1​∧x2​)∨(x1​∧¬x2​)

如果把以上推導以圖的形式展現,就得到了一個最簡單的神經網絡

從異或問題到前饋神經網絡 (from XOR problem to FNN)

如果在給每層都加上一個 bias unit,就可以得到一個簡單的多層感覺機 MLP,也叫前饋神經網絡 FNN

從異或問題到前饋神經網絡 (from XOR problem to FNN)

繼續閱讀