1. 关键词
,,,
2. 导读
3. 神经网络
3.1 来源
神经网络灵感来自于生物大脑,由大量的神经元和突触组成。引入神经网络,旨在解决非线性问题。
Neuron
3.2 组成
neuron-network
上图是一个典型的3层结构神经网络:输入层、隐含层和输出层。每层都有1个或多个神经元构成,神经元之间由边连接。边对应于权重。
输入层:4个神经元,其中x0是偏置单元;
隐含层:4个神经元,其中a0是偏置单元;
输出层:1个神经元。
3.2.1 神经元
rtificial Neuron
上图是一个典型的神经元,包含:输入、权重、求和、激活函数、输出。公式如下:
formula1
并非每个神经元都包含全部,见下表。
其中,偏置单元相当于引入的一个常数项,类似于方程的截距(y=ax+b中的b)。
3.2.2 激活函数
激活函数可以理解为输入加权求和后,到输出的一个阈值。这也是模仿了生物神经系统,神经脉冲传导需要达到一定的电平。比如常用的 sigmoid 激活函数,公式如下:
formula3
曲线如下:
sigmoid
从图中可以看出,只有当z超过一定值时,输出才会是1。
4. 多层感知器
实际问题中通常需要多层、很多神经元构成的神经网络,比如下图中的4层神经网络。
MLP
常用的图像识别,输入层神经元的数量和图像的像素数等同。
5. 前向传播
在第2个部分介绍了单个神经元的数据传播,那么对于整个网络呢?数据从输入层传递到输出层,这个过程叫做前向传播。以上面的4层网络为例,写成向量形式,前向传播步骤如下:
formula3
神经网络的目的是在已知输入和正确输出数据的情况下,用数据训练模型,得到一组权重参数,使得模型输出和正确输出一致。之后,再利用这个模型,对新的数据进行预测。在前向传播时,很难去求解这组参数,因此引入了反向传播。
下面通过一个例子,进一步熟悉计算过程,所有参数已列在图上。
example
可以手动计算,或者运行博客Python代码。
输出结果:
6. 附录
6.1 中英文对照表
领取专属 10元无门槛券
私享最新 技术干货