一种基于核极限学习机奶牛日粮消化能预测方法与流程

文档序号:17929336发布日期:2019-06-15 00:41阅读:278来源:国知局
一种基于核极限学习机奶牛日粮消化能预测方法与流程

本发明属于畜禽日粮营养价值评价领域,具体涉及一种基于核极限学习机奶牛日粮消化能预测方法。



背景技术:

全面和准确评价日粮营养与饲喂价值是畜牧养殖者、饲料供应商和动物营养专家长期关注的问题,其中,对奶牛日粮能量消化的预测和评估是衡量饲料营养与饲喂价值的重要方面。通过建立奶牛日粮消化能预测模型,能够提前较为精准地掌握奶牛日粮能量消化情况,以便优化饲料配合与管理,进而提升养殖效益,同时也符合现代畜牧精细养殖的发展需要。

传统预测奶牛日粮能量消化指标的数学模型主要是基于线性回归(linearregression,lr)方法,基于lr的模型是典型的参数模型,其特点是建模简单、快速,能够在一定范围内反映被预测数据的变化趋势,但参数模型通常对被预测数据所遵循的目标函数的形式进行了假设,并在训练的过程中对目标函数的参数进行估计,进而确定之前提出的假设模型。然而,由于包括奶牛在内的动物机体本身是一个复杂的系统,这种对预测模型的假设并非总是成立,当不成立时就会出现很大的误差。

极限学习机(extremelearningmachine,elm)是一种基于非参数模型的机器学习算法,在建模时通常不需要预先对目标函数做任何假设,能够仅通过对训练样本数据的学习,便能拟合出最接近实际的函数,特别是核极限学习机(kernelextremelearningmachine,kelm),与其它非参数模型相比,具有快速的学习能力和强泛化特性,目前在各类预测领域有着广泛的应用,本发明专利即是将kelm技术用于奶牛日粮消化能的预测。



技术实现要素:

本发明目的是提供一种基于核极限学习机奶牛日粮消化能预测方法。

上述目的可以通过以下的技术方案实现:

1、一种基于核极限学习机奶牛日粮消化能预测方法,其特征在于,该方法包括以下步骤:

(1)实测奶牛日粮养分摄入量与消化能数据,产生奶牛日粮消化能预测样本,并分为训练样本集和测试样本集两个部分;

(2)对步骤(1)产生的奶牛日粮消化能预测样本,构建奶牛日粮消化能预测训练样本集其中,xi∈rn代表第i个n维输入向量,ti∈rm代表对应的输出向量,n代表训练样本的个数;

(3)对步骤(2)建立的训练样本集,构造极限学习机网络输出,目标是使得输出的误差最小,即:其中,为隐含层节点的个数,wi=[wi1,wi2,…,win]t为连接第i个隐含层节点与输入层节点的权向量,βi=[βi1,βi2,…,βim]t为连接第i个隐含层节点与输出层节点的权向量,g(·)为激活函数,bi为第i个隐含层节点的偏置;

(4)将步骤(3)中的方程改写成矩阵形式,即:hb=t,且有,

其中,h为隐含层节点的输出矩阵,其第j行隐含层特征映射b为输出权值矩阵,t为期望输出矩阵;

(5)对步骤(4)中的矩阵求解,定义核函数k(xi,xj)=h(xi)·h(xj),同时,定义核矩阵形成核极限学习机(kelm),此外,选择将参数i/c填加到hht,使其特征根不为零,用于提高kelm的稳定性和泛化能力,其中i为单位矩阵,c为惩罚因子,则kelm的网络输出权值矩阵b为:b=ht(i/c+hht)-1t=ht(i/c+ω)-1t;

(6)将步骤(5)中定义的核函数和参数i/c带入,得到基于kelm预测模型的输出函数:

(7)对步骤(6)中的kelm预测模型,将奶牛日粮消化能预测测试样本作为输入x,计算预测模型的输出函数f(x),并通过计算预测结果与真实值的平均绝对误差mae、平均绝对百分比误差mape以及均方根误差rmse,评价基于核极限学习机奶牛日粮消化能预测方法的有效性。

2、根据权利要求1所述的基于核极限学习机奶牛日粮消化能预测方法,其特征在于,对步骤(2)中的奶牛日粮消化能预测训练样本集数据,按照cncps标准的要求,以奶牛日粮cncps组分(pa、pb1、pb2、pb3、pc、ca、cb1、cb2、cc)的摄入量作为输入量xi,以日粮消化能作为对应的输出量ti,i=1,…,n,n为训练样本的个数。

3、根据权利要求1所述的基于核极限学习机奶牛日粮消化能预测方法,其特征在于,步骤(5)中选取的核函数为高斯核函数:k(xi,xj)=exp(-‖xi-xj‖2/2σ2)。

4、根据权利要求1所述的基于核极限学习机奶牛日粮消化能预测方法,其特征在于,对步骤(5)中选取的核函数,采用5折交叉验证网络法确定核函数的参数集{c,σ}。

本发明的有益效果:

通过本发明基于非参数模型核极限学习机方法代替传统基于参数模型线性回归方法预测奶牛日粮消化能,无需事先对预测模型做出任何假设,仅通过对训练样本的学习即可进行有效预测,与传统的人工神经网络、支持向量机预测模型相比,能够获得更高的预测精度,特别适合于奶牛日粮能量消化之类的复杂系统预测问题。

附图说明:

附图1为本发明基于核极限学习机奶牛日粮消化能预测方法流程示意图。

附图2为不同方法预测奶牛日粮消化能对比图。

附图3为训练样本不同方法预测日粮消化能性能比较图。

附图4为测试样本不同方法预测日粮消化能性能比较图。

具体实施方式:

下面结合附图和实施例对本发明的具体实施方式做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明提供的一种基于核极限学习机奶牛日粮消化能预测方法,主要包括如下步骤:

1、实测奶牛日粮养分摄入量与消化能数据,产生奶牛日粮消化能预测样本,并分为训练样本集和测试样本集两个部分。

2、构建奶牛日粮消化能预测训练样本集同时,按照cncps标准的要求,以奶牛日粮cncps组分(pa、pb1、pb2、pb3、pc、ca、cb1、cb2、cc)的摄入量作为输入量xi,以日粮消化能作为对应的输出量ti,i=1,…,n,其中,xi∈rn代表第i个n维输入向量,ti∈rm代表对应的输出向量,n代表训练样本的个数。

3、构造极限学习机网络输出,目标是使得输出的误差最小,即:其中,为隐含层节点的个数,wi=[wi1,wi2,…,win]t为连接第i个隐含层节点与输入层节点的权向量,βi=[βi1,βi2,…,βim]t为连接第i个隐含层节点与输出层节点的权向量,g(·)为激活函数,bi为第i个隐含层节点的偏置。上述方程用矩阵形式可表示为:hb=t,且有,

其中,h为隐含层节点的输出矩阵,其第j行隐含层特征映射b为输出权值矩阵,t为期望输出矩阵。

4、对上述矩阵求解,定义核函数k(xi,xj)=h(xi)·h(xj),其中,选取的核函数为高斯核函数:k(xi,xj)=exp(-‖xi-xj‖2/2σ2),同时,定义核矩阵形成核极限学习机(kelm),此外,选择将参数i/c填加到hht,使其特征根不为零,用于提高kelm的稳定性和泛化能力,其中i为单位矩阵,c为惩罚因子,则kelm的网络输出权值矩阵b为:b=ht(i/c+hht)-1t=ht(i/c+ω)-1t。

5、采用5折交叉验证网络法确定核函数的参数集{c,σ},根据确定的核函数和参数i/c,最后得到基于kelm预测模型的输出函数:

6、将奶牛日粮消化能预测测试样本输入分量作为输入x,计算预测模型的输出函数f(x),并通过计算预测结果与测测试样本输出分量(真实值)的平均绝对误差mae、平均绝对百分比误差mape以及均方根误差rmse,评价基于核极限学习机奶牛日粮消化能预测方法的有效性。

以上步骤整体流程图如图1所示,训练与测试基于matlabr2010b平台完成,不同方法预测对比如图2所示,对于训练样本和测试样本不同方法预测性能比较如图3和图4所示。

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