神经网络——西瓜书笔记
-
神经元模型
神经网络中最基本的成分是神经模型,即“简单”单元。现在一直沿用的是“M-P神经元模型“,在这个模型中, 神经元接收到来自 n n n个其他神经元传递过来的输入信号, 这些输入信号通过带权重的连接进行传递, 神经元接收到的中输入值与神经元的阈值进行比较,然后通过激活函数处理产生神经元的输出。
理想的激活函数是 阶跃函数, 但是由于阶跃函数 不连续、不光滑的性质, 因此实际常用 Sigmoid 函数作为 激活 函数。
-
感知机和多层网络
感知机由两层神经元组成, 输入层接收外界信号后传递给输出层, 输出层是 M-P神经元, 也称“阈值逻辑单元”。
感知机容易地实现逻辑与、或、非运算。注意到 y = f ( ∑ i w i x i − θ ) y=f(\sum_i w_ix_i -\theta) y=f(∑iwixi−θ),假设 f f f是上图中的阶跃函数,有:
- ”与“:令 w 1 = w 2 = 1 , θ = 2 w_1= w_2 = 1 , \theta=2 w1=w2=1,θ=2,则 y = f ( 1 ∗ x 1 + 1 ∗ x 2 − 2 ) y=f(1*x_1+1*x_2 -2) y=f(1∗x1+1∗x2−2), 仅当 x 1 = x 2 = 1 x_1=x_2=1 x1=x2=1时, y = 1 y=1 y=1;
- “或”:令 w 1 = w 2 = 1 , θ = 0.5 w_1= w_2 = 1 , \theta=0.5 w1=w2=1,θ=0.5, 则 y = f ( 1 ∗ x 1 + 1 ∗ x 2 − 0.5 ) y=f(1*x_1+1*x_2 -0.5) y=f(1∗x1+1∗x2−0.5)仅当 x 1 = 1 x_1=1 x1=1或 x 2 = 1 x_2=1 x2=1时, y = 1 y=1 y=1;
- “非”:令 , w 1 = 0.6 , w 2 = 0 , θ = − 0.5 ,w_1=0.6, \ w_2 = 0 , \theta=-0.5 ,w1=0.6, w2=0,θ=−0.5,则 y = f ( − 0.6 ∗ x 1 + 0 ∗ x 2 + 0.5 ) y=f(-0.6*x_1+0*x_2 +0.5) y=f(−0.6∗x1+0∗x2+0.5), 仅当 x 1 = 1 x_1=1 x1=1时, y = 0 y=0 y=0; x 2 = 0 x_2=0 x2=0时, y = 1 y=1 y=1;
感知机学习规则非常简单, 对训练样例 ( x , y ) (x, y) (x,y), 若当前感知机的输出为 y ^ \hat{y} y^, 则感知机权重将这样调整:
(1) w i ← w i + Δ w i w_i \gets w_i+\Delta w_i \tag{1} wi←wi+Δwi(1)(2) Δ w i = η ( y − y ^ ) x i \Delta w_i = \eta(y - \hat{y})x_i\tag{2}