一种东南太平洋茎柔鱼中心渔场预测方法与流程

文档序号:11953157阅读:472来源:国知局

本发明涉及中心渔场预报方法,尤其是东南太平洋茎柔鱼中心渔场预测方法。



背景技术:

中心渔场预报是渔况速报的一种,准确的中心渔场预报可以为捕捞生产提高渔获产量并降低燃油成本,渔况速报是对未来24h或几天内的中心渔场位置、鱼群动向及旺发的可能性进行预测,由渔讯指挥单位每天定时将预报内容通过电讯系统迅速而准确地传播给生产船只,达到指挥现场生产的目的。

目前已有多种方法预报大洋性经济柔鱼类的中心渔场,这些方法的基础是鱼类行动和生物学状况与环境条件之间的关系及其规律,本质都是根据生产统计数据样本获取“经验知识”用于预报,但以往对样本的时空尺度和环境因子的选择均没有深入研究,基本是根据经验(如大渔区小渔区等)设定,没有考虑不同时空尺度和环境因子对中心渔场预测模型的影响;在模型的选择上,也很少考虑海洋环境因子的实时性问题。



技术实现要素:

本发明研究了大洋性经济柔鱼类的样本时空尺度和环境因子的选择对其中心渔场预测模型的影响,提出一种东南太平洋茎柔鱼中心渔场预测方法。

本发明的技术方案包括时空尺度设置、环境因子设置、建立中心渔场预测模型,其特征是时空尺度设置采用三个级别的空间尺度,经纬度分别为0.25°×0.25°、0.5°×0.5°、1.0°×1.0°,周和月两个级别的时间尺度;环境因子设置采用SST为主要环境因子,再辅以SSH、Chl-a两种环境因子,在建立中心渔场预测模型时将环境因子分为四种情况:ⅠSST;ⅡSST,SSH;ⅢSST,Chl-a;ⅣSST,SSH,Chl-a;根据时空尺度和环境因子设置情况,建立24种情况的样本方案集;中心渔场预测模型采用经典的误差反向传播BP神经网络模型,BP神经网络模型为三层结构,即输入层、隐藏层和输出层,输入层输入渔场的时空因子和环境因子,输出层输出CPUE或是由CPUE转化而成的渔场等级指标;BP神经网络模型正向传播时,样本从输入层进入,经隐藏层激活函数处理,传向输出层,如输出层的实际输出与期望的输出不符合误差要求,则转入误差的反向传播阶段,反向传播是将误差通过隐藏层向输入层逐层反向传播,将误差分摊给各层所有节点,从而获得各层节点的误差信号,此误差信号作为修正的依据,这种信号的正向传播与误差的反向传播周而复始地进行,权值不断调整,此过程一直进行到网络输出的误差减少到可接受的程度或进行到预先设定的学习次数为止,通过学习训练获得到最佳模型,供预报使用。

本发明考虑不同时空尺度和环境因子的选择对中心渔场预测模型的影响,采用经典的误差反向传播神经网络(Error Backpropagation Network,BP),BP神经网络属于多层前向神经网络,使用误差反向传播的监督算法,BP神经网络能够学习和存储大量的模式映射模式,用于主要(高产)作业时间,最佳的作业海域范围,茎柔鱼栖息适宜的SST范围,SSH范围,Chl-a范围预报,为捕捞生产提高渔获产量并降低燃油成本提供技术支撑,建立的渔场预测模型的预报精度70%,具有较高的精度和较小的ARV值。

附图说明

图1是BP神经网络模型结构图。

具体实施方式

为了能够比较大洋性经济柔鱼类的中心渔场预测模型的最适时空尺度,设置三个级别的空间尺度,经纬度分别为0.25°×0.25°、0.5°×0.5°、1.0°×1.0°,两个级别的时间尺度为周和月。

大洋性经济柔鱼类的渔场的资源丰度不但受时空因子的影响,而且受栖息地的环境因子影响。其中,SST是被广泛研究且最为重要的影响因子,因此选定SST为主要环境因子,再辅以SSH、Chl-a两种环境因子,所以在建立中心渔场预测模型时将环境因子分为四种情况(表1)。

表1环境因子设置

因此,根据样本的时空尺度和环境因子设置情况,建立大洋性经济柔鱼类中心渔场预测模型的样本方案集有如下24种情况:

表2BP预测模型样本集方案

中心渔场预测模型采用经典的误差反向传播神经网络(Error Backpropagation Network,BP),BP神经网络属于多层前向神经网络,使用误差反向传播的监督算法,BP神经网络能够学习和存储大量的模式映射模式。

BP模型采用三层结构,即输入层、隐藏层和输出层(图1)。输入层为渔场的时空因子和海洋环境因子,输出层是CPUE或是由CPUE转化而成的渔场等级指标,不同渔场等级的划分方法参考渔业专家的领域知识。隐藏层节点个数由经验公式(1)确定。

Pnum=2Nnum+1 (1)

式中:Pnum为隐藏层节点个数,Nnum为输入层节点个数。

BP算法主要包括学习过程信号的正向传播与误差的反向传播两个过程组成。正向传播时,样本从输入层进入,经隐藏层激活函数处理,传向输出层,如输出层的实际输出与期望的输出不符合误差要求,则转入误差的反向传播阶段。反向传播是将误差以某种形式通过隐藏层向输入层逐层反向传播,将误差分摊给各层所有节点,从而获得各层节点的误差信号,此误差信号作为修正的依据。这种信号的正向传播与误差的反向传播是周而复始地进行,权值不断调整,也就是网络学习的过程。此过程一直进行到网络输出的误差减少到可接受的程度或进行到预先设定的学习次数为止。

训练方法采用最速下降法。假设输入神经元个数为M,隐藏层神经元个数为I,输出层神经元个数为J。输入层第m个神经元记为xm,隐藏层第i个神经元记为ki,输出层第j个神经元记为yj。从xm到ki的链接权值为wmi,从ki到yj的连接权值为wij。隐藏层传递函数为Sigmoid函数,输出层传递函数为线性函数。u和v分别表示每一层的输入和输出,如表示I层(隐藏层)第一个神经元的输入,网络的实际输出可表示为:

<mrow> <mi>Y</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mo>&lsqb;</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mn>1</mn> </msubsup> <mo>,</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mn>2</mn> </msubsup> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mi>J</mi> </msubsup> <mo>&rsqb;</mo> </mrow>

网络的期望输出为:

d(n)=[d1,d2,...,dJ]

n为迭代次数。第n次迭代的误差信号定义为:

ej(n)=dj(n)-Yj(n)

将误差能量定义为:

<mrow> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>J</mi> </munderover> <msubsup> <mi>e</mi> <mi>j</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

训练过程即是将误差能量减小的过程。

在权值调整阶段,沿着网络逐层反向进行调整。首先调整隐藏层与输出层之间的权值wij,根据最速下降法,应计算误差对wij的梯度再沿着该方向的反方向进行调整:

<mrow> <msub> <mi>&Delta;w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <mi>&eta;</mi> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

wij(n+1)=Δwij(n)+wij(n)

梯度可由求偏导得到,根据微分的链式规则,有

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

由于e(n)是ej(n)的二次函数,其微分为一次函数:

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

<mrow> <mfrac> <mrow> <mo>&part;</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mn>1</mn> </mrow>

输出层传递函数的导数:

<mrow> <mfrac> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <msup> <mi>g</mi> <mo>&prime;</mo> </msup> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

<mrow> <mfrac> <mrow> <mo>&part;</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

因此,梯度值为

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msup> <mi>g</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>i</mi> </msubsup> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>)</mo> </mrow> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

权值的修正量为

<mrow> <msub> <mi>&Delta;w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&eta;e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msup> <mi>g</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>)</mo> </mrow> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

引入局部梯度的定义:

<mrow> <msubsup> <mi>&delta;</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mo>=</mo> <mo>-</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <msub> <mi>e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msup> <mi>g</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>)</mo> </mrow> </mrow>

所以权值的修正量为:

<mrow> <msub> <mi>&Delta;w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>&eta;&delta;</mi> <mi>J</mi> <mi>j</mi> </msubsup> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

在输出层,传递函数为线性函数,因此其导数为1,即

<mrow> <msup> <mi>g</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msubsup> <mi>u</mi> <mi>J</mi> <mi>j</mi> </msubsup> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mn>1</mn> </mrow>

所以可得

<mrow> <msub> <mi>&Delta;w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&eta;e</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

误差信号向前传播,对输入层与隐藏层之间的权值wmi进行调整,与上一步类似应有

<mrow> <msub> <mi>&Delta;w</mi> <mrow> <mi>m</mi> <mi>i</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>&eta;&delta;</mi> <mi>J</mi> <mi>j</mi> </msubsup> <msubsup> <mi>v</mi> <mi>M</mi> <mi>m</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

为输入神经元的输出,即

为局部梯度,定义为

<mrow> <msubsup> <mi>&delta;</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mo>=</mo> <mo>-</mo> <mo>-</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>u</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&CenterDot;</mo> <mfrac> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>u</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mo>-</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msubsup> <mi>u</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>)</mo> </mrow> </mrow>

f(g)为sigmoid函数,同时又上一步计算可见,

<mrow> <mfrac> <mrow> <mo>&part;</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <msubsup> <mi>v</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>J</mi> </munderover> <msubsup> <mi>&delta;</mi> <mi>J</mi> <mi>j</mi> </msubsup> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow>

故有

<mrow> <msubsup> <mi>&delta;</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mo>=</mo> <msup> <mi>f</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <msubsup> <mi>u</mi> <mi>I</mi> <mi>i</mi> </msubsup> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>)</mo> </mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>J</mi> </munderover> <msubsup> <mi>&delta;</mi> <mi>J</mi> <mi>j</mi> </msubsup> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mrow>

到此,三层BP网络的学习权值调整过程结束,可归结为:

权值调整量Δw=学习率η·局部梯度δ·上一层输出信号v。至于学习率η、误差范围等的设定,在不过拟合的状态下进行逐步调优。

BP神经网络的建立过程在matlab(2010b)软件中完成,使用神经网络工具箱的拟合工具,将样本集分为训练样本、验证样本和测试样本三部分。网络设计的参数为:学习速率0.1,动量参数0.5,输入层与隐藏层、隐藏层与输出层神经元之间的传递函数分别是S型正切函数tansig、线性函数purelin;网络训练的终止参数为:最大训练次数为1000,最大误差给定为0.001。模型通过多次训练获得到最佳模型,取权重供预报使用。

模型从预报精度、稳定性和可解释性三方面评价BP预报模型:

(1)预报精度评价

当模型的输出为CPUE等级时,根据模型预报出的正确等级百分比,比较各种模型的精度;当模型的输出为CPUE数值时,计算模型的均方误差(MSE),比较各个模型的精度。

<mrow> <mi>M</mi> <mi>S</mi> <mi>E</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mover> <mi>y</mi> <mo>^</mo> </mover> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>

其中,yk为CPUE的实际值,为CPUE的预报值。

(2)稳定性评价

评价不同样本建立的BP模型精度的稳定性,计算平均相对变动值(Average Relative Variance,ARV),其定义为

<mrow> <mi>A</mi> <mi>R</mi> <mi>V</mi> <mo>=</mo> <mfrac> <mrow> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msup> <mrow> <mo>&lsqb;</mo> <mi>x</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>-</mo> <mover> <mi>x</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow> <mn>2</mn> </msup> </mrow> <mrow> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </msubsup> <msup> <mrow> <mo>&lsqb;</mo> <mi>x</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>-</mo> <mover> <mi>x</mi> <mo>&OverBar;</mo> </mover> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow> <mn>2</mn> </msup> </mrow> </mfrac> </mrow>

其中,N为比较数据的个数,x(i)为渔场等级实际值,为渔场等级实际平均值,为渔场等级预测值。平均相对变动值ARV越小,表明预测效果越好,ARV=0表示达到了理想预测效果,当ARV=1时,表明模型仅达到了平均值的预测效果。

(3)可解释性评价

用变量相关性(Independent variable relevance)和灵敏度分析(Sensitivity Analyses)评价在不同时空尺度和环境因子样本上建立的预报模型的可解释性。

变量相关用来比较各输入变量对CPUE的贡献率,计算方法是输入变量与隐藏层连接的权重平方和与所有输入层变量到隐藏层连接权重平方和之比。

灵敏度分析是探究输入变量变化与输出变量之间的关系,其过程是:首先计算各个输入变量的最大值、最小值、中值、平均值、众数特殊值;然后选择其中一个输入变量,使其从最小值到最大值逐渐变化,其他输入变量都确定为四个特殊值中的一个,轮流改变变化的输入变量,观察输出变量的变化情况。

东南太平洋茎柔鱼的鱿钓生产数据处理成时间分辨率为“月”,空间分辨率为0.5°×0.5°的样本,计算小渔区内的Nominal CPUE,并根据渔业专家知识(表3)将Nominal CPUE划分为不同的渔场等级(fishing ground levels),在MarineStar软件中绘制基于渔场等级的作业分布图。

表3基于CPUE的东南太平洋茎柔鱼渔场等级

本方法所建立的渔场预测模型的预报精度70%,具有较高的精度和较小的ARV值。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1