【参考资料】
1.B站:机器学习-白板推导系列(二十三)-前馈神经网络(Feedforward Neural Network)
关于非线性问题 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
⊕) 是一个典型的线性不可分的问题
而基本运算 AND:
∧
\land
∧, OR:
∨
\lor
∨, NOT:
¬
\neg
¬ 都是线性可分的
将基本运算符进行组合,我们可以表示出符合运算符 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)
如果把以上推导以图的形式展现,就得到了一个最简单的神经网络
如果在给每层都加上一个 bias unit,就可以得到一个简单的多层感知机 MLP,也叫前馈神经网络 FNN