基础理论

“一种难以解释的黑箱模型”

一般使用Sigmoid(x) = 1/(1+ e^-z)作为神经元激活函数

感知机由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元

单层感知机能解决线性可分的 与,或,非问题,但不能解决非线性可分的抑或


多层神经网络: 多层前馈神经网络

前馈并不意味着网路中的信号不能向后传,而是指网络拓扑结构中不存在环或回路


误差拟传播算法(BackPropagation)

最小化训练集上的累积误差,假设样本有N个,每一轮迭代进行N次参数调整

迄今为止最成功的神经网络学习算法

BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整,根据链式法则推导

详见西瓜书P103

学习率控制了算法每一轮的更新步长,太大容易振荡,太小则收敛过慢


累积BP算法

标准BP算法每次针对一个训练样例进行权重调整,如果基于累积误差最小更新规则,得到累积BP算法。

标准BP算法的缺点:参数更新频繁,可能出现抵消现象,因此需要大量迭代

累积BP算法的做法是一轮迭代只作一次参数调整

但在很多任务中,累积误差下降到一定程度后,进一步下降会非常缓慢,这时标准BP往往会更快获得较好的解,尤其是在训练集D非常大的时候


Hornik证明,只需一个包含足够多神经元的隐层,M-P神经网络就能以任意精度逼近任意复杂度的连续函数。


用“试错法”调整隐层神经元的个数


BP神经网络经常过拟合,其训练误差持续下降,但测试误差却有可能上升。

两种策略:

‘’早停” :若发现训练误差下降但测试误差上升,则停止训练

”正则化”:类似于L1,L2范数,在误差目标中增加一个用于描述网络复杂度的部分,如连接权与阈值的平方和

使得E = λ/m*ΣEk + (1-λ)Σwi^2


全局最小与局部最小

一些策略来接近全局最小:

1.以多组初始参数,训练多个神经网络取最优

2.使用模拟退火,在每一步都以一定概率接收比当前解更差的结果,接收次优解的概率随着时间的推移而逐渐降低,从而保证算法稳定

3.使用随机梯度下降

4.遗传算法

你可能感兴趣的:(基础理论)