贝叶斯正则化逆产
网。trainFcn = 'trainbr'
设置网络trainFcn
财产。
[
用以下方法训练网络trainedNet
,tr
] =火车(净
,……)trainbr
.
trainbr
是一个网络训练函数,根据Levenberg-Marquardt优化更新权值和偏差值。它将平方误差和权值的组合最小化,然后确定正确的组合,从而生成一个具有良好泛化能力的网络。这个过程叫做贝叶斯正则化。
培训是根据trainbr
培训参数,此处以其默认值显示:
net.trainparam.echs.
-需要训练的最大纪元数。默认值为1000。
net.trainParam.goal
- 绩效目标。默认值为0。
net.trainparam.mu.
- Marquardt调整参数。默认值为0.005。
net.trainParam.mu_dec
- 减少因素穆
.默认值为0.1。
net.trainParam.mu_inc
-增加因子穆
.缺省值是10。
net.trainParam.mu_max
—mu的最大值。默认值为1E10
.
net.trainParam.max_fail
—最大验证失败。默认值为INF.
.
net.trainParam.min_grad
—性能梯度最小。默认值为1 e -
.
net.trainParam.show
-显示之间的年代(南
没有显示)。默认值为25。
net.trainparam.showcommandline.
- 生成命令行输出。默认值为假
.
net.trainparam.showwindow.
-显示训练GUI。默认值为真实
.
net.trainParam.time
最长训练时间,以秒为单位。默认值为INF.
.
默认情况下禁用验证停止(max_fail = Inf.
),以便继续训练,直到找到误差和权重的最佳组合。然而,如果通过设置启用验证,在较短的训练时间内仍然可以实现一些重量/偏差最小化max_fail.
到6或其他严格为正的值。
此函数使用Jacobian进行计算,这假设性能是平方错误的均值或总和。因此,使用此功能培训的网络必须使用MSE
或者上交所
性能功能。
trainbr
可以训练任何网络,只要它的权值、净输入和传递函数都有导数函数。
贝叶斯正则化使平方误差和权值的线性组合最小化。它还对线性组合进行修正,使训练结束时得到的网络具有良好的泛化品质。看到麦凯(神经计算,第4卷,第3期,1992年,415至447页)和预见和哈根(神经网络国际联席会议的诉讼程序, 1997年6月),以更详细地讨论贝叶斯正则化。
该贝叶斯正则化在Levenberg-Marquardt算法中进行。backpropagation用于计算雅各比亚jX
的性能性能
关于重量和偏置变量X
.根据Levenberg-Marquardt调整每个变量,
jj = jX * jX je = jX * E dX = -(jj+I*mu) \ je
在哪里E
都是错误和我
是单位矩阵。
自适应值穆
是增加了mu_inc
直到上面所示的变化导致性能值降低。然后对网络进行更改,穆
减少了mu_dec
.
当发生任何这些条件时,培训停止:
最大数量时代
(重复)已达到。
最大数量时间
是超过。
性能被最小化到目标
.
性能梯度下降min_grad
.
穆
超过mu_max
.
大卫·j·C·麦凯“贝叶斯插值”。神经计算。卷。4,第392号,第392页,第415-447页。
[2]预见,F. Dan和Martin T. Hagan。“高斯 - 牛顿逼近贝叶斯学习。”神经网络国际联席会议的诉讼程序, 1997年6月。
cascadeforwardnet.
|feedforwardnet
|训练博夫
|TrainCGB.
|TrainCGF.
|TrainCGP.
|traingda
|traingdm
|traingdx
|Trainlm.
|trainrp
|trainscg