[DataAnalysis]机器学习算法——BP神经网络原理简介

M-P神经元模型

[DataAnalysis]机器学习算法——BP神经网络原理简介

神经元接收到来自[DataAnalysis]机器学习算法——BP神经网络原理简介个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收的总输入值将于神经元的阈值进行比较,然后通过“**函数”处理以产生神经元的输出。

感知机与多层网络

[DataAnalysis]机器学习算法——BP神经网络原理简介

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

感知机能容易地实现与、或、非运算

感知机只能解决线性可分问题。要解决非线性可分问题需要使用多层功能神经元。输出层和输入层之间的一层神经元,被称为隐藏层,其中隐藏层和输出层神经元都是拥有**函数的功能神经元。

多层前馈神经网络

1、每层神经元与下一层神经元全互连

2、神经元之间不存在同层连接

3、神经元之间不存在隐层连接

[DataAnalysis]机器学习算法——BP神经网络原理简介

神经网路学习的内容

1、连接权

2、阈值

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

给定训练集[DataAnalysis]机器学习算法——BP神经网络原理简介,即输入示例由[DataAnalysis]机器学习算法——BP神经网络原理简介个属性描述,输出[DataAnalysis]机器学习算法——BP神经网络原理简介维实值向量。

下面给出具体的一个例子:

[DataAnalysis]机器学习算法——BP神经网络原理简介

其中输出层第[DataAnalysis]机器学习算法——BP神经网络原理简介个神经元的阈值用[DataAnalysis]机器学习算法——BP神经网络原理简介表示,隐藏层第[DataAnalysis]机器学习算法——BP神经网络原理简介个神经元的阈值用[DataAnalysis]机器学习算法——BP神经网络原理简介表示。

1、模型评价

[DataAnalysis]机器学习算法——BP神经网络原理简介

均方误差:[DataAnalysis]机器学习算法——BP神经网络原理简介

2、模型参数

输入层到隐藏层的[DataAnalysis]机器学习算法——BP神经网络原理简介个权值、隐藏层到输出层的[DataAnalysis]机器学习算法——BP神经网络原理简介个权值、[DataAnalysis]机器学习算法——BP神经网络原理简介个隐藏神经元的阈值、[DataAnalysis]机器学习算法——BP神经网络原理简介个输出层神经元的阈值。

3、参数估计方法

任意参数[DataAnalysis]机器学习算法——BP神经网络原理简介的更新估计式为:

[DataAnalysis]机器学习算法——BP神经网络原理简介

BP神经网络基于梯度下降,以目标的负梯度方向对参数进行调整,对误差[DataAnalysis]机器学习算法——BP神经网络原理简介,给定学习率[DataAnalysis]机器学习算法——BP神经网络原理简介,以[DataAnalysis]机器学习算法——BP神经网络原理简介为例,有:

[DataAnalysis]机器学习算法——BP神经网络原理简介

[DataAnalysis]机器学习算法——BP神经网络原理简介

4、学习率[DataAnalysis]机器学习算法——BP神经网络原理简介

学习率[DataAnalysis]机器学习算法——BP神经网络原理简介,控制着算法每一轮迭代的更新步长,若太大则容易震荡,若太小则收敛速度又过慢。

5、目标函数

BP算法的目标函数是最小化训练集[DataAnalysis]机器学习算法——BP神经网络原理简介上的累计误差。

[DataAnalysis]机器学习算法——BP神经网络原理简介

防止BP神经网络过拟合的方法

1、early stopping:

将数据分成训练集和测试集,训练集用来计算梯度、更新连接权和阈值,验证集用于估计误差,当训练集误差降低但测试集误差升高则停止更新。

2、正则化:

在目标函数中添加描述神经网络复杂度的部分。

[DataAnalysis]机器学习算法——BP神经网络原理简介