入门介绍

神经元

神经元是神经网络中最基本的结构,也可以说是神经网络的基本单元,它的设计灵感完全来源于生物学上神经元的信息传播机制。我们学过生物的同学都知道,神经元有两种状态:兴奋和抑制。一般情况下,大多数的神经元是处于抑制状态,但是一旦某个神经元收到刺激,导致它的电位超过一个阈值,那么这个神经元就会被激活,处于“兴奋”状态,进而向其他的神经元传播化学物质(其实就是信息)。

感知机(perceptron)

感知机(perceptron)是由两层神经元组成的结构,输入层用于接受外界输入信号,输出层(也被称为是感知机的功能层)就是M-P神经元。

反向传播——BackPropagation

入门介绍 - 图1

其中:

  • 1.输入数据: i1=0.05, i2=0.10
  • 2.输出数据: o1=0.01, o2=0.99
  • 3.初始权重:
    • w1=0.15, w2=0.20, w3=0.25, w4=0.30
    • w5=0.40, w6=0.45, w7=0.50, w8=0.55

前向传播

1.输入层——>隐含层:

计算神经元h1的输入加权和:


\begin{align}
net_{h1}&=w_1 i_1 + w_2 i_2 + w_3 * i_3
\end{align}

神经元h1的输出o1:(此处用到激活函数为sigmoid函数):


\begin{align}
out{h1}&=\frac{1}{1+e^{-net{h1}}}
\end{align}

2.隐含层——>输出层:

计算输出层神经元o1和o2的值:(可上面计算方式类似)


\begin{align}
net{h1}&=w_5 * out{h1} + w6 * out{h2} + b_2 * 1
\end{align}


\begin{align}
out{o1}&=\frac{1}{1+e^{-net{o1}}}
\end{align}

  • 这样前向传播的过程就结束了,我们得到输出值为[0.75136079 , 0.772928465],与实际值[0.01 , 0.99]相差还很远,现在我们对误差进行反向传播,更新权值,重新计算输出。

反向传播

1.计算总误差:


\begin{align}
E_{total}&=\sum{\frac{1}{2}*(target-output)^2}
\end{align}

2.隐含层——>输出层的权值更新:

入门介绍 - 图2

3.隐含层——>隐含层的权值更新:

入门介绍 - 图3