吃瓜-TASK04 神经网络/1

1 神经元模型

神经网络概念:

由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物种所作出的交互反应

M-P神经元模型:

每个神经元收到nn个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接传递,神经元接收到的总输入值与该神经元阈值进行比较,然后通过激活函数处理,产生神经元的输出。

激活函数常采用Sigmoid函数:\displaystyle \text{sigmoid}(x)=\frac{1}{1 + e^{-x}}sigmoid(x)=1+e−x1

2 感知机与多层网络

感知机概念:

由两层神经元组成,输入层接收外界信号后传递给输出层,输出层是M-P神经元(阈值逻辑单元)

感知机学习规则:

对训练样例(x,y)(x,y),若当前感知机的输出为\hat{y}y^,则感知机权重进行如下调整:\begin{array}{cc} w_i \leftarrow w_i + \Delta w_i \\ \Delta w_i = \eta(y-\hat{y})x_i \end{array}wi←wi+ΔwiΔwi=η(y−y^)xi其中\eta \in (0,1)η∈(0,1)称为学习率。

多层神经网络:目的是解决非线性可分问题,输出层和输入层之间的被称为隐含层,隐含层和输出层神经元都是拥有激活函数的功能神经元。

3 误差逆传播算法(BP算法)

BP算法思路:

首先将误差反向传播给隐含层神经元,调节隐含层到输出层的连接权重与输出层神经元的阈值;接着根据隐含层神经元的均方误差,来调节输入层到隐含层的连接权值与隐含层神经元的阈值。

BP算法基本流程:

输入: 训练集D=\{(x_k,y_k)\}_{k=1}^mD={(xk,yk)}k=1m

学习率\etaη

过程:

(1) 在(0,1)(0,1)范围内随机初始化网络中所有连接权和阈值;

(2) repeat

(3)for all (x_k,y_k) \in D(xk,yk)∈D do

(4)   根据当前参数和\hat{y}_j^k = f(\beta_j-\theta_j)y^jk=f(βj−θj)计算当前样本的输出\hat{y}_ky^k;

(5)   根据g_j= \hat{y}_j^k (1-\hat{y}_j^k )(y_j^k-\hat{y}_j^k)gj=y^jk(1−y^jk)(yjk−y^jk)计算输出层神经元的梯度项g_jgj;

(6)   根据\displaystyle e_h=b_h(1-b_h)\sum_{j=1}^l w_{hj} g_jeh=bh(1−bh)j=1∑lwhjgj隐藏层神经元的梯度项e_heh;

(7)   更新连接权w_{hj},v_{ih}whj,vih与阈值\theta_j,\gamma_hθj,γh;

(8)end for

(9) until 达到停止条件

输出: 连接权与阈值确定的多层前馈神经网络

BP算法更新规则:

基于每个样本的预测值与真实类标的均方误差来进行权值调节,即每次更新只针对单个样例。其最终目标是要最小化整个训练集DD上的累积误差,即:\displaystyle E=\frac{1}{m} \sum_{k=1}^m E_kE=m1k=1∑mEk

通过“试错法”设置隐含层神经元个数,使得多层前馈网络能够逼近连续函数。

解决BP网络的过拟合:

早停(early stopping):将数据分为训练集与验证集,训练集用于计算梯度、更新连接权重和阈值,验证集用于评估误差,若在训练过程中,训练集误差降低,而验证集误差升高,则停止训练。

正则化(regularization):在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权重与阈值的平方和,其中\lambda \in (0,1)λ∈(0,1)用于对经验误差与网络复杂度这两项进行折中,常通过交叉验证法来估计。E=\lambda \frac{1}{m} \sum_{k=1}^m E_k+(1-\lambda) \sum_{i} w_i^2E=λm1k=1∑mEk+(1−λ)i∑wi2

你可能感兴趣的:(吃瓜-TASK04 神经网络/1)