【算法】BP神经网络(BP,Back Propagation)

参考资料:来自于老哥数学建模课程。

BP神经网络的背景

1986年,Rumelhart等提出了误差反向传播神经网络,简称BP网络(Back Propagation),该网络是一种单向传播的多层前向网络。误差反向传播的学习算法简称BP算法,其基本思想是梯度下降法,BP神经网络是到目前为止使用最多、最成熟、采用最速下降的学习方式,在训练过程中通过误差的反向传播不断调整网络的权值和阈值,使得网络的误差平方和最小。BP神经网络可以全局逼近任意非线性的映射,具有良好的泛化性能。除此只挖掘,BP神经网络还具有强大的容错能力、鲁棒性好,具有自学习、自组织和自适应性等优点。因此,该神经网络自提出之后就得到了众多研究人员关注,并已经应用于语言综合、语言识别、自适应控制等领域。

输入层、隐含层、输出层

输入层:指的就是我们输入数据的种类数量,输入几类,输入层神经元就有几层

隐含层:夹在输入层和输出层之间的神经元,数量可以自行设置,不过一般通过经验公式来确定:

h = m + n + a h=\sqrt{m+n+a} h=m+n+a

其中,m,n分别为输入、输出层节点个数,a为1-10之间的调节常数。

输出层:指的就是我们相应得到的指标,一般就一个

权值

权值(Weight):输入层与隐含层之间

权值是神经元之间连接的强度,标示量一个神经元的输出与其输入直接的关联程度,在神经网络的每个连接中,都会有一个对应的权值。当一个神经元与另一个神经元连接时,输入信号会乘以对应的权值,然后传递给下一个神经元。权值可以看作是输入信号的重要性或权重,它决定了输入信号对神经元激活状态的影响程度。权值是神经网络训练的主要目标,通过反向传播算法等优化方法,调整权值使得神经网络能够更好地拟合训练数据,准确预测。

阈值

阈值(Biases):隐含层和输出层之间

阈值是神经元的激活门限值,用于控制神经元是否被激活。在神经元接收到加权输入后,会将输入值与对应的权值相加,然后与阈值进行比较。如果加权输入超过了阈值,神经元将被激活,产生输出。否则将保持非激活状态。阈值可以看作是神经元的敏感度,调整阈值可以改变神经元的激活情况。在神经网络的训练过程中,也会优化阈值,以使神经元的激活情况更符合预期输出。

需要注意的是,权值和阈值都是可以学习更新的,神经网络会自动调整,以优化神经网络的性能、准确性。

激活函数

常用的激活函数有两个:

  1. tanh(双曲正切)激活函数:

tanh函数的定义是:

f ( x ) = e x − e − x e x + e − x f(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} f(x)=ex+exexex

这个函数的输出范围在-1到1之间,即在输入较大或较小时,都能产生较大的输出值,因此相对于Sigmoid函数,它的输出更接近于零中心化,有时能帮助神经网络更快地收敛。

  1. Sigmoid激活函数:

Sigmoid函数的定义是:

f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1

这个函数的输出范围是0-1之间,当输入值较大/较小时,输出值接近于0/1,容易导致梯度消失问题,即在反向传播过程中梯度接近于0,使得网络难以更新权重。

这两种激活函数主要用于在神经元之间传递信号并引入非线性特性,它们的主要作用在于增加网络的表达能力,使得神经网络可以学习非线性函数。

Tanh函数的求导过程:

d tanh ⁡ ( x ) d x = 1 − tanh ⁡ 2 ( x ) \frac{d\tanh(x)}{dx} = 1 - \tanh^{2}(x) dxdtanh(x)=1tanh2(x)

Sigmoid函数的求导过程:

d σ ( x ) d x = σ ( x ) ⋅ ( 1 − σ ( x ) ) \frac{d\sigma(x)}{dx} = \sigma(x) \cdot (1 - \sigma(x)) dx

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

城主_全栈开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值