版权声明:转载需注明出处 https://blog.csdn.net/suoxd123/article/details/88900148
转自: https://www.zhenxiangsimple.com/2019/03/29/tech-ml-sjwl/
不论神经网络的模型是否真的跟生物自身的神经网络相似,也不是特别重要,可以不用太关心,能大概理解它的一个构造思想即可。通常大家不会具体到要去通过代码实现神经网络模型,所以不必太在意其数学公式和具体计算,只需要关心其大概原理,本文就说说相关的一些概念。
M-P神经元模型
基本原理就是将输入样本数据,通过赋予不同权值后,将各项输入值求和得到输出值,通过数学公式简单表示如下,其中
为神经元
和
之间的权重。
感知机
感知机或者叫感知器是只有单层功能神经元的模型,是最简单的一种神经网络模型,相当于从输入直接到输出,没有中间隐含层神经元。
BP网络
英文全称是error Back Propagation,中文意思是误差逆传播,其实顾名思义就是有信息可以从输出传递到输入端,而之前简单的感知机是只有输入到输出的计算。核心包含两部分,一部分是从输入到输出对误差的计算,另一部分从输出到输入对神经元之间权重和自身阈值的迭代,其算法流程如下:
输入:训练集
, 学习率:
过程:
- 在(0,1)范围内随机初始化网络中所有连接权和阈值
- repeat
- for all do
- 根据当前参数,计算当前样本输出
- 计算输出层神经元的梯度项
- 计算隐层神经元的梯度项
- 更新连接权 和阈值
- end for
- until 达到停止条件
输出:连接权与阈值确定的多层前馈神经网络
全局最小
对于常规的神经网络模型是使用梯度下降算法进行迭代,但梯度下降可能就会导致达到局部最小值,就好像爬山时候在有多个山头的山脉里,第一次只是先爬到了一个矮的山丘,有一些策略可以跳出局部最优达到全局最优,如下:
- 使用多组不同的起始参数值
- 一定比例上接受次优解(模拟退火算法)
- 对梯度方向加入随机量,即使以及达到了梯度为零,那也因为随机量而还可以继续迭代
其它网络模型
除了BP网络外,还有一些常用的算法如下,具体我也没了解过,供各位自行参考:
- RBF(Radial Basis Function) 径向基函数网络:单隐成前馈神经网络
- ART(Adaptive Resonance Theory)自适应谐振理论网络
- SOM(Self-Organazing Map)自组织映射网络
- 级联相关网络(Cascade-Correlation)
- Elman网络
- Boltzmann机
- 深度学习:很深层的神经网络