人工神经网络发展史
1943年,心理学家McCulloch和逻辑学家Pitts建立神经网络的数学模型,MP模型
每个神经元都可以抽象为一个圆圈,每个圆圈都附带特定的函数称之为激活函数,每两个神经元之间的连接的大小的加权值即为权重。
1960年代,人工网络得到了进一步地发展感知机和自适应线性元件等被提出。M.Minsky仔细分析了以感知机为代表的神经网络的局限性,指出了感知机不能解决非线性问题,这极大影响了神经网络的研究。
1982年,加州理工学院J.J.Hopfield教授提出了Hopfield神经网络模型,引入了计算能量概念,给出了网络稳定性判断。
1986年,Rumelhart和McClelland为首的科学家提出了BP(Back Propagation)神经网络的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,目前是应用最广泛的神经网络。
极限学习机(Extreme Learning Machine, ELM),是由黄广斌提出的用于处理单隐层神经网络的算法
随机初始化输入权重𝛼𝑖和偏置,只求解输出权重值𝛽𝑖。
优点:
1.学习精度有保证
2.学习速度快
感知机算法(Perceptron Algorithm)
- 感知机算法流程:
随机选择模型参数的(𝑤0, 𝑏0)初始值。
选择一个训练样本(𝑥𝑛, 𝑦𝑛)。
若判别函数𝑤T𝑥𝑛 + 𝑏 > 0,且𝑦𝑛 = −1,则𝑤 = 𝑤 − 𝑥𝑛,𝑏 = 𝑏 − 1。
若判别函数𝑤T𝑥𝑛 + 𝑏 < 0,且𝑦𝑛 = +1,则𝑤 = 𝑤+𝑥𝑛,𝑏 = 𝑏+1。
再选取另一个训练样本(𝑥𝑚, 𝑦𝑚),回到2。
终止条件:直到所有数据的输入输出对都不满足2中的(i)和(ii)中之一,则退出循环。
BP算法
-
最常用Sigmoid函数的优缺点:
优点:
1.函数处处连续,便于求导
2.可将函数值的范围压缩至[0,1],可用于压缩数据,且幅度不变
3.便于前向传输
缺点:
1.在趋向无穷的地方,函数值变化很小,容易出现梯度消失,不利于深层神经
的反馈传输
2.幂函数的梯度计算复杂
3.收敛速度比较慢 -
BP算法主要步骤
第一步,对样本明确预测输出值与损失函数
第二步,明确参数调整策略
第三步,计算输出层阈值的梯度
第四步,计算隐层到输出层连接权值的梯度
第五步,计算隐层阈值的梯度
第六步,计算输入层到隐层连接权值的梯度
第七步,引出归纳结论
只要知道上一层神经元的阈值梯度,即可计算当前层神经元阈值梯度和连接权值梯度。
随后可以计算输出层神经元阈值梯度,从而计算出全网络的神经元阈值和连接权值梯度。
最终达到训练网络的目的
-
BP算法的优缺点
优点:
1.能够自适应、自主学习。BP可以根据预设参数更新规则,通过不断调整神经网络中的参数,已达到最符合期望的输出。
2.拥有很强的非线性映射能力。
3.误差的反向传播采用的是成熟的链式法则,推导过程严谨且科学。
4.算法泛化能力很强。
缺点:
1.BP神经网络参数众多,每次迭代需要更新较多数量的阈值和权值,故收敛速度比较慢。
2.网络中隐层含有的节点数目没有明确的准则,需要不断设置节点数字试凑,根据网络误差结果最终确定隐层节点个数
3.BP算法是一种速度较快的梯度下降算法,容易陷入局部极小值的问题。