从异或问题到前馈神经网络 (from XOR problem to FNN)

【参考资料】
1.B站:机器学习-白板推导系列(二十三)-前馈神经网络(Feedforward Neural Network)
从异或问题到前馈神经网络 (from XOR problem to FNN)_第1张图片

关于非线性问题 Non-Linear Problem
有以下三种常见的解决方法

1 Non-Linear Transformation 非线性转化

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

即构造函数 ϕ \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)_第2张图片

而基本运算 AND: ∧ \land , OR: ∨ \lor , NOT: ¬ \neg ¬ 都是线性可分的
从异或问题到前馈神经网络 (from XOR problem to FNN)_第3张图片 从异或问题到前馈神经网络 (from XOR problem to FNN)_第4张图片

将基本运算符进行组合,我们可以表示出符合运算符 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) x1x2=(¬x1x2)(x1¬x2)

推导
x 1 ⊕ x 2 → 1 x_1\oplus x_2\to1 x1x21
那么 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) x1x2=(1)(2)
对于 ( 1 ) : 1 , 0 → 1 (1):1,0\to1 (1):1,01 可以类比于 AND ( 1 , 1 → 1 1,1\to1 1,11) (这里只有一种对应情况,和 AND 很类似,而 OR 则有三种对应情况)
因此 ( 1 ) : x 1 ∧ ¬    x 2 → 1 (1):x_1\land \neg \;x_2\to1 (1):x1¬x21
同理 ( 2 ) : ¬    x 1 ∧ x 2 → 1 (2):\neg\;x_1\land x_2\to1 (2):¬x1x21
最终可得 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) x1x2=(¬x1x2)(x1¬x2)

如果把以上推导以图的形式展现,就得到了一个最简单的神经网络
从异或问题到前馈神经网络 (from XOR problem to FNN)_第5张图片
如果在给每层都加上一个 bias unit,就可以得到一个简单的多层感知机 MLP,也叫前馈神经网络 FNN
从异或问题到前馈神经网络 (from XOR problem to FNN)_第6张图片

你可能感兴趣的:(机器学习,#,神经网络,前馈神经网络,机器学习)