一种基于PNN网络的温室环境评估方法转让专利

申请号 : CN202010678726.6

文献号 : CN111797937A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 关守平方秋杨陈旭涛

申请人 : 东北大学

摘要 :

本发明提供一种基于PNN网络的温室环境评估方法,涉及设施农业技术领域。该方法首先建立一个的温室环境参数样本库,并对样本分类后分为训练样本和测试样本;然后使用改进的K-means聚类算法对训练样本进行聚类处理,根据代表性样本选择阈值,选择出一批代表性样本作为PNN网络新的训练样本;对新的训练样本归一化后训练PNN网络,利用训练后的PNN网络对归一化后的测试样本进行等级评估,并计算对测试样本进行分类的错误率;最后令PNN中相同类别的模式层神经元采用相同的平滑因子,不同类别的模式层神经元采用不同的平滑因子,再将分类的错误率作为粒子群优化算法的目标函数来修改PNN网络的平滑因子,得到一个最优的PNN分类模型。

权利要求 :

1.一种基于PNN网络的温室环境评估方法,其特征在于:包括以下步骤:步骤1:建立一个大小为n的温室环境参数样本库,并对样本库中每一组样本按照M个等级进行质量评估,进而将n个样本分为M类;所述样本库中每一组样本的维数为q,分别表示对植物生长有着重要影响的温室环境参数;

步骤2:从样本库中选择出m个样本作为训练样本,其他l=n-m个样本作为测试样本;

步骤3:初始化改进的K-means聚类算法和粒子群优化算法中的参数;

步骤4:使用改进的K-means聚类算法对选出的m个训练样本进行聚类处理,得到k个聚类簇以及k个聚类中心,每一个簇中样本的个数为mg,g=1,2,…k;根据代表性样本选择阈值α,从每一个聚类簇中选择出一批代表性样本作为PNN网络新的训练样本;

步骤5:对新的训练样本进行归一化处理;

步骤6:根据归一化后的训练样本矩阵来训练PNN网络,并利用训练后的PNN网络对归一化后的测试样本进行等级评估,同时计算对测试样本进行分类的错误率;

步骤7:令PNN网络中相同类别的模式层神经元采用相同的平滑因子而不同类别的模式层神经元采用不同的平滑因子,然后将PNN网络对测试样本进行分类的错误率作为粒子群优化算法的目标函数,通过粒子群优化算法修改PNN网络中平滑因子参数,实现对PNN网络的优化,最终得到一个最优的PNN分类模型;

步骤8:采集待评估的温室环境数据,并采用步骤7得到的最优的PNN分类模型对温室环境质量进行评估。

2.根据权利要求1所述的一种基于PNN网络的温室环境评估方法,其特征在于:所述步骤3初始化的参数具体为:初始化改进的K-means聚类算法中聚类数目k及初始聚类中心迭代停止阈值ε,代表性样本选择阈值α,最大迭代次数J,当前迭代次数j;初始化粒子群优化算法中粒子数目N,解空间维数为D,最大迭代次数max_iter,粒子的初始位置向量px和初始速度向量pv;设粒子的位置向量表示为pxi=[pxi1,pxi2,…,pxiD],i∈[1,N],粒子的速度向量表示为pvi=[pvi1,pvi2,…,pviD],当前迭代中使得目标函数最小时的个体最优位置为pbesti=[pbesti1,pbesti1,…,pbestiD],种群最优位置为gbext=[gbest1,gbest2,…,gbestD],迭代过程中个体和种群所经历过的目标函数最小值分别为p_fitnessi,g_fitness;初始化PNN网络中所有平滑因子取值均为0.1。

3.根据权利要求2所述的一种基于PNN网络的温室环境评估方法,其特征在于:所述步骤4的具体方法为:步骤4.1:在m个训练样本中随机选择k个样本点作为K-means聚类算法的初始聚类中心步骤4.2:设定当前迭代次数为j,对训练样本中每一个样本点pt,t=1、2、…、m依次计算到各个聚类中心 的欧式距离d(t,g),如下公式所示:步骤4.3:找出每个样本点关于各个聚类中心 的最小欧式距离,并将对应的样本点pt划分到与聚类中心 距离最小的聚类簇中;

步骤4.4:用平均值的方法重新计算每个聚类簇的聚类中心 如下公式所示:其中,pgw表示的是第g个聚类簇中的第w个样本点;

步骤4.5:计算各聚类簇内样本与新的聚类中心的距离的平方和,如下公式所示:其中,Ej+1表示各聚类簇中样本与新的聚类中心的距离平方和;

步骤4.6:判断迭代次数j是否等于最大迭代次数J或|Ej+1-Ej|<ε,若是,则执行步骤

4.7,否则重新执行步骤4.2;

步骤4.7:统计每个聚类簇中的样本个数mg,并根据样本选择阈值α,选择每一个聚类中心最近邻的mg·α个样本作为最具有代表性的训练样本输出,得到p=m·α个新的训练样本。

4.根据权利要求3所述的一种基于PNN网络的温室环境评估方法,其特征在于:步骤5所述对新的训练样本进行归一化处理的具体方法为:设定新的训练样本矩阵X如下公式所示

其中,p表示的是新的训练样本的个数,q表示的是新的训练样本的维数;

通过归一化因子矩阵B将新的训练样本矩阵X进行归一化处理得到矩阵C,矩阵B和矩阵C的表达式如下公式所示:

5.根据权利要求6所述的一种基于PNN网络的温室环境评估方法,其特征在于:所述PNN网络的结构包括输入层、模式层、求和层以及输出层;输入层对数据不做任何处理并将数据送入模式层中;模式层神经元的个数等于训练样本的个数,其激活函数是高斯函数;求和层和模式层的连接方式为稀疏连接,求和层神经元数等于训练样本的类别数;输出层根据贝叶斯决策规则,选择最大的后验概率对应的类别进行输出。

6.根据权利要求5所述的一种基于PNN网络的温室环境评估方法,其特征在于:所述步骤6的具体方法为:步骤6.1:用归一化之后训练样本矩阵C构建PNN网络的模式层;

新的训练样本矩阵X归一化之后得到训练样本矩阵C,如下公式所示:

训练矩阵C中存在p个训练样本,并且分为M类,设定M类的训练样本个数分别为h1,h2,…,hM,则有:p=h1+h2+…+hM    (8)

设定M类样本在样本矩阵C中依次排列,则将模式层的各个神经元依次编号为1至p;编号1到h1的神经元对应的是第1类训练样本,编号h1+1依次到h1+h2+1的神经元对应的是第2类训练样本,依次类推,编号p-hM+1依次到编号p的神经元属于第M类样本;

步骤6.2:计算测试样本矩阵中每一个测试样本与训练集中每一个训练样本之间的欧式距离;

由l=n-m个测试样本组成并经过归一化之后的测试样本矩阵T如下公式所示:则每一个测试样本与每一个训练样本之间的欧式距离矩阵Ed如下公式所示:步骤6.3:对模式层神经元利用径向基函数进行激活;

选择高斯函数作为模式层神经元的激活函数,计算激活后的概率矩阵U,如下公式所示:其中,σ1、σ2、…σp分别表示的是p个模式层神经元的平滑因子,初始时设定所有的平滑因子取值都相同即σ1=σ2=…σp=0.1;

步骤6.4:通过求和层求解各待测样本属于各类别的初始概率和矩阵S,如下公式所示:步骤6.5:根据各待测样本属于各类别的初始概率和,计算第α个待测样本属于第b类的概率probab,如下公式所示:其中,a∈[1,l],b∈[1,M];

步骤6.6:根据贝叶斯决策定理及各待测样本属于各类的概率,决策出第a个待测样本对应的类别,如下公式所示:ya=arg max(proba6)    (14)

其中,ya表示的是PNN网络对第a个测试样本的预测结果,即第a个待测样本对应的类别;

步骤6.7:计算PNN网络对测试样本进行分类的错误率,如下公式所示:其中,ER表示的是PNN网络对测试样本进行分类的错误率,ne表示的是PNN网络错误分类的样本个数,l=n-m表示的是测试样本的个数。

7.根据权利要求6所述的一种基于PNN网络的温室环境评估方法,其特征在于:步骤7.1:设定在粒子群优化算法优化PNN网络参数的第β次的迭代过程中,首先对粒子群优化算法中的粒子进行速度向量pvi和位置向量pxi的更新,如下公式所示:pviβ+1=w·pviβ+c1μ1(pbestiβ-pxiβ)+c2μ2(gbestβ-pxiβ)    (16)pxiβ+1=pxiβ+pviβ+1          (17)其中,ω为惯性权重,表示的是粒子群优化算法的搜索能力;c1,c2分别为个体极值点和全局极值点的学习因子;μ1,μ2分别表示的是0到1之间的随机数;由于PSO算法优化对象是各类别模式层神经元采用的平滑因子,所以粒子解空间维数D=M;

步骤7.2:更新后的粒子位置向量表示的是PNN网络平滑因子的一个可行解;将粒子的位置向量pxiβ+1代替PNN网络平滑因子的取值,然后计算出PNN网络对pxiβ+1对应的测试样本进行分类的错误率 并按照如下更新规则对粒子经历过的个体最优位置信息pbesti以及目标函数最小值p_fitnessi进行更新,同时更新种群经历过的最优位置信息gbest和目标函数最小值g_fitness;

更新规则如下:

若 则pbesti=pxiβ+1, 否则pbesti和p_fitnessi保持不变;

若p_fitnessi<g_fitness,则gbest=pbesti,g_fitness=p_fitnessi,否则gbest和g_fitness保持不变;

步骤7.3:当迭代次数达到最大迭代次数max_iter时,粒子群优化算法终止,此时,gbest表示的是PNN网络关于平滑因子的一个最优解,g_fitness表示的是采用gbest作为最优平滑因子的PNN网络对测试样本进行分类的错误率;否则重新执行步骤7.1。

说明书 :

一种基于PNN网络的温室环境评估方法

技术领域

[0001] 本发明涉及设施农业技术领域,尤其涉及一种基于PNN网络的温室环境评估方法。

背景技术

[0002] 随着农业技术的发展以及气候环境的变化,温室种植技术在农业生产中扮演着越来越重要的角色。温室种植技术主要的作用是在恶劣的室外环境下为农作物提供一个适宜的生长环境,因此,为了保证温室环境满足作物生长的要求,对温室环境进行在线或者离线监测,并根据专家经验进行温室环境质量评估,指导农业生产就具有非常重要的意义。
[0003] 目前,市场上的温室环境综合检测仪普遍存在的问题是:温室环境综合检测仪不能够根据检测到的数据来判断温室环境质量的好坏,缺少对使用者的指导意义,温室环境质量的评估主要还是依赖人类专家经验知识。
[0004] 概率神经网络(Probabilistic Neural Network,PNN)是由D.F.Specht博士在1988年提出的一种结构简单、应用广泛的神经网络,其基本的思想为:利用贝叶斯最小风险准则,在多维输入空间中分离出决策空间。PNN网络是一种基于统计原理以及以Parzen窗口函数为激活函数的前馈神经网络,它吸收了径向基神经网络与经典的概率密度估计原理的优点,与传统的前馈神经网络相比,在模式分类方面具有较为显著的优势。但传统的PNN网络存在两个方面缺陷:(1)当训练样本过多时,PNN网络对硬件的存储空间以及计算能力有着较高的要求,这会增加硬件设计的难度以及成本;(2)在传统的PNN网络中,平滑因子对网络的分类准确性有着至关重要的影响,但是平滑因子的取值通常都是人为给定,缺少具体的选择依据。
[0005] 在PNN网络的结构优化以及参数优化上,通常选择的做法有:首先用聚类算法如K-means算法等对训练样本进行聚类处理,利用具有代表性的聚类中心作为PNN网络新的训练样本,从而简化PNN网络结构;然后假设PNN网络模式层神经元的平滑因子取值相同,以PNN网络分类错误率为目标函数,利用优化算法如粒子群算法(Particle  Swarm Optimization,PSO)对平滑因子进行参数寻优以提高网络的分类准确性。但是这种方法存在如下两方面的不足:(1)当聚类中心数较少时,利用聚类中心作为PNN网络新的训练样本会导致PNN网络分类准确性因训练样本数少而下降的现象;(2)假设PNN网络模式层神经元参数相同,PNN网络在执行分类任务时,对样本之间差异性的把控能力较差,可能会忽略测试样本的细节。

发明内容

[0006] 本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于PNN网络的温室环境评估方法,实现对温室环境的评估。
[0007] 为解决上述技术问题,本发明所采取的技术方案是:一种基于PNN网络的温室环境评估方法,包括以下步骤:
[0008] 步骤1:建立一个大小为n的温室环境参数样本库,并对样本库中每一组样本按照M个等级进行质量评估,进而将n个样本分为M类;所述样本库中每一组样本的维数为q,分别表示对植物生长有着重要影响的温室环境参数;
[0009] 步骤2:从样本库中选择出m个样本作为训练样本,其他l=n-m个样本作为测试样本;
[0010] 步骤3:初始化改进的K-means聚类算法和粒子群优化算法中的参数;
[0011] 初始化的参数具体为:初始化改进的K-means聚类算法中聚类数目k及初始聚类中心 迭代停止阈值ε,代表性样本选择阈值α,最大迭代次数J,当前迭代次数j;初始化粒子群优化算法(Partical Swarm Optimization,即PSO)中粒子数目N,解空间维数为D,PSO算法的最大迭代次数max_iter,粒子的初始位置向量px和初始速度向量pv;
设粒子的位置向量表示为pxi=[pxi1,pxi2,…,pxiD],i∈[1,N],粒子的速度向量表示为pvi=[pvi1,pvi2,…,pviD],当前迭代中使得目标函数最小时的个体最优位置为pbesti=[pbesti1,pbesti2,…,pbestiD],种群最优位置为gbest=[gbest1,gbest2,…,gbestD],迭代过程中个体和种群所经历过的目标函数最小值分别为p_fitnessi,g_fitness;初始化PNN网络中所有平滑因子取值均为0.1;
[0012] 步骤4:使用改进的K-means聚类算法对选出的m个训练样本进行聚类处理,得到k个聚类簇以及k个聚类中心,每一个簇中样本的个数为mg,g=1,2,…k;根据代表性样本选择阈值α,从每一个聚类簇中选择出一批代表性样本作为PNN网络新的训练样本;
[0013] 步骤4.1:在m个训练样本中随机选择k个样本点作为K-means聚类算法的初始聚类中心
[0014] 步骤4.2:设定当前迭代次数为j,对训练样本中每一个样本点pt,t=1、2、…、m依次计算到各个聚类中心 的欧式距离d(t,g),如下公式所示:
[0015]
[0016] 步骤4.3:找出每个样本点关于各个聚类中心 的最小欧式距离,并将对应的样本点pt划分到与聚类中心 距离最小的聚类簇中;
[0017] 步骤4.4:用平均值的方法重新计算每个聚类簇的聚类中心 如下公式所示:
[0018]
[0019] 其中,pgw表示的是第g个聚类簇中的第w个样本点;
[0020] 步骤4.5:计算各聚类簇内样本与新的聚类中心的距离的平方和,如下公式所示:
[0021]
[0022] 其中,Ej+1表示各聚类簇中样本与新的聚类中心的距离平方和;
[0023] 步骤4.6:判断迭代次数j是否等于最大迭代次数J或|Ej+1-Ej|<ε,若是,则执行步骤4.7,否则重新执行步骤4.2;
[0024] 步骤4.7:统计每个聚类簇中的样本个数mg,并根据样本选择阈值α,选择每一个聚类中心最近邻的mg·α个样本作为最具有代表性的训练样本输出,得到p=m·α个新的训练样本;
[0025] 步骤5:对新的训练样本进行归一化处理;
[0026] 设定新的训练样本矩阵X如下公式所示:
[0027]
[0028] 其中,p表示的是新的训练样本的个数,q表示的是新的训练样本的维数;
[0029] 通过归一化因子矩阵B将新的训练样本矩阵X进行归一化处理得到矩阵C,矩阵B和矩阵C的表达式如下公式所示:
[0030]
[0031]
[0032] 步骤6:根据归一化后的训练样本矩阵C来训练PNN网络,并利用训练后的PNN网络对归一化后的测试样本进行等级评估,同时计算对测试样本进行分类的错误率;
[0033] 所述PNN网络的结构包括输入层、模式层、求和层以及输出层;输入层对数据不做任何处理并将数据送入模式层中;模式层神经元的个数等于训练样本的个数,其激活函数是高斯函数;求和层和模式层的连接方式为稀疏连接,求和层神经元数等于训练样本的类别数;输出层根据贝叶斯决策规则,选择最大的后验概率对应的类别进行输出;
[0034] 步骤6.1:用归一化之后训练样本矩阵C构建PNN网络的模式层;
[0035] 新的训练样本矩阵X归一化之后得到训练样本矩阵C,如下公式所示:
[0036]
[0037] 训练矩阵C中存在p个训练样本,并且分为M类,设定M类的训练样本个数分别为h1,h2,…,hM,则有:
[0038] p=h1+h2+…+hM   (8)
[0039] 设定M类样本在样本矩阵C中依次排列,则将模式层的各个神经元依次编号为1至p;编号1到h1的神经元对应的是第1类训练样本,编号h1+1依次到h1+h2+1的神经元对应的是第2类训练样本,依次类推,编号p-hM+1依次到编号p的神经元属于第M类样本;
[0040] 步骤6.2:计算测试样本矩阵中每一个测试样本与训练集中每一个训练样本之间的欧式距离;
[0041] 由l=n-m个测试样本组成并经过归一化之后的测试样本矩阵T如下公式所示:
[0042]
[0043] 则每一个测试样本与每一个训练样本之间的欧式距离矩阵Ed如下公式所示:
[0044]
[0045] 步骤6.3:对模式层神经元利用径向基函数进行激活;
[0046] 选择高斯函数作为模式层神经元的激活函数,计算激活后的概率矩阵U,如下公式所示:
[0047]
[0048] 其中,σ1、σ2、…σp分别表示的是p个模式层神经元的平滑因子,初始时设定所有的平滑因子取值都相同即σ1=σ2=…σp=0.1;
[0049] 步骤6.4:通过求和层求解各待测样本属于各类别的初始概率和矩阵S,如下公式所示:
[0050]
[0051] 步骤6.5:根据各待测样本属于各类别的初始概率和,计算第α个待测样本属于第b类的概率probab,如下公式所示:
[0052]
[0053] 其中,a∈[1,l],b∈[1,M];
[0054] 步骤6.6:根据贝叶斯决策定理及各待测样本属于各类的概率,决策出第a个待测样本对应的类别,如下公式所示:
[0055] ya=arg max(probab)   (14)
[0056] 其中,ya表示的是PNN网络对第a个测试样本的预测结果,即第a个待测样本对应的类别;
[0057] 步骤6.7:计算PNN网络对测试样本进行分类的错误率,如下公式所示:
[0058]
[0059] 其中,ER表示的是PNN网络对测试样本进行分类的错误率,ne表示的是PNN网络错误分类的样本个数,l=n-m表示的是测试样本的个数;
[0060] 步骤7:令PNN网络中相同类别的模式层神经元采用相同的平滑因子而不同类别的模式层神经元采用不同的平滑因子,然后将PNN网络对测试样本进行分类的错误率ER作为PSO算法的目标函数,通过PSO算法修改PNN网络中平滑因子参数,实现对PNN网络的优化,最终得到一个最优的PNN分类模型;
[0061] 步骤7.1:设定在PSO算法优化PNN网络参数的第β次的迭代过程中,首先对PSO算法中的粒子进行速度向量pvi和位置向量pxi的更新,如下公式所示:
[0062]
[0063]
[0064] 其中,ω为惯性权重,表示的是粒子群优化算法的搜索能力;c1,c2分别为个体极值点和全局极值点的学习因子;μ1,μ2分别表示的是0到1之间的随机数;由于PSO算法优化对象是各类别模式层神经元采用的平滑因子,所以粒子解空间维数D=M;
[0065] 步骤7.2:更新后的粒子位置向量表示的是PNN网络平滑因子的一个可行解;将粒子的位置向量 代替PNN网络平滑因子的取值,然后计算出PNN网络对 对应的测试样本进行分类的错误率 并按照如下更新规则对粒子经历过的个体最优位置信息
pbesti以及目标函数最小值p_fitnessi进行更新,同时更新种群经历过的最优位置信息gbest和目标函数最小值g_fitness;
[0066] 更新规则如下:
[0067] 若 则 否则pbesti和p_fitnessi保持不变;
[0068] 若p_fitnessi<g_fitness,则gbest=pbesti,g_fitness=p_fitnessi,否则gbest和g_fitness保持不变;
[0069] 步骤7.3:当迭代次数达到最大迭代次数max_iter时,PSO算法终止,此时,gbest表示的是PNN网络关于平滑因子的一个最优解,g_fitness表示的是采用gbest作为最优平滑因子的PNN网络对测试样本进行分类的错误率;否则重新执行步骤7.1;
[0070] 步骤8:采集待评估的温室环境数据,并采用步骤7得到的最优的PNN分类模型对温室环境质量进行评估。
[0071] 采用上述技术方案所产生的有益效果在于:本发明提供的一种基于PNN网络的温室环境评估方法,提出了将PNN分类模型应用于温室环境质量评估中,弥补了温室环境综合检测仪缺乏评估能力的现状;利用了改进后的K-means算法对训练样本进行代表性样本选择,使选择后的训练样本更具有代表性,满足PNN网络对训练样本的要求;降低了PNN网络结构复杂性,降低了硬件实现的难度和存储成本;在降低PNN网络复杂性的同时,避免训练样本过少导致了PNN网络分类准确性大幅度下降的现象。利用改进后的PSO算法对PNN网络中平滑因子进行参数寻优,并设定PNN网络中相同类别的模式层神经元采用相同的平滑因子而不同类别的模式层神经元采用不同的平滑因子,使得PNN网络的分类准确性得到进一步的提升。

附图说明

[0072] 图1本发明实施例提供的一种基于PNN网络的温室环境评估方法的流程图;
[0073] 图2本发明实施例提供的温室黄瓜种植对环境的要求图;
[0074] 图3本发明实施例提供的PNN网络的结构示意图;
[0075] 图4本发明实施例提供的PNN网络对测试样本的分类结果图。

具体实施方式

[0076] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0077] 本实施例以种植黄瓜的温室环境为例,采用本发明的一种基于PNN网络的温室环境评估方法对该温室环境进行评估。
[0078] 一种基于PNN网络的温室环境评估方法,如图1所示,包括以下步骤:
[0079] 步骤1:建立一个大小为n的温室环境参数样本库,并对样本库中每一组样本按照M个等级进行质量评估,进而将n个样本分为M类;所述样本库中每一组样本的维数为q,分别表示对植物生长有着重要影响的温室环境参数;
[0080] 本实例中,样本库中每一组样本的维数为q=7,分别表示空气温度、空气湿度、二氧化碳浓度、光照强度、土壤温度、土壤湿度以及土壤盐分这7种对植物生长有着重要影响的温室环境参数;并对每一组样本数据进行评估后分为优良中差四个等级,分别用1,2,3,4表示。
[0081] 本实施例中,温室黄瓜种植对7种环境参数的要求如图2所示,从图2中可以看出温室黄瓜最适宜的生长的条件为:二氧化碳浓度为1000ppt~1500ppt,光照强度为55KLx~60KLx,空气湿度为70.0%~80.0%,土壤湿度为80.0%~90.0%,空气温度为25℃~30℃,土壤温度为20℃~24℃,土壤盐分为0.5mS/cm~0.8mS/cm。本实施例通过传感器技术测出温室环境的1000组样本,并对每一组样本进行综合评估,部分样本数据如表1所示;
[0082] 表1样本库中部分样本数据
[0083]
[0084] 步骤2:从样本库中选择出m个样本作为训练样本,其他l=n-m个样本作为测试样本;
[0085] 本实施例按照9∶1的比例,从样本库中选择900个样本作为训练样本,剩下的100个样本作为测试样本;
[0086] 步骤3:初始化改进的K-means聚类算法和粒子群优化算法中的参数;
[0087] 初始化的参数具体为:初始化改进的K-means聚类算法中聚类数目k及初始聚类中心 迭代停止阈值ε,代表性样本选择阈值α,最大迭代次数J,当前迭代次数j;初始化粒子群优化算法(Partical Swarm Optimization,即PSO)中粒子数目N,解空间维数为D,PSO算法的最大迭代次数max_iter,粒子的初始位置向量px和初始速度向量pv;
设粒子的位置向量表示为pxi=[pxi1,pxi2,…,pxiD],i∈[1,N],粒子的速度向量表示为pvi=[pvi1,pvi2,…,pviD],当前迭代中使得目标函数最小时的个体最优位置为pbesti=[pbesti1,pbesti2,…,pbestiD],种群最优位置为gbest=[gbest1,gbest2,…,gbestD],迭代过程中个体和种群所经历过的目标函数最小值分别为p_fitnessi,g_fitness;初始化PNN网络中所有平滑因子取值均为0.1;
[0088] 本实施例中,从步骤1和2可知,样本库大小为n=1000,每一个样本的维数为q=7,样本的类别数为M=4,即4种不同类型的训练样本,原始的训练样本数为m=900,测试样本数为l=100;同时,初始化改进的K-means算法中聚类中心数k=8,迭代停止阈值ε=0.001,代表性样本选择阈值α=0.2,当前迭代次数j=1,最大迭代次数J=20;初始化改进的PSO算法中粒子数N=30,解空间维数D=M=4,最大迭代次数max_iter=100,第i个粒子的初始位置向量pxi=[pxi1,pxi2,…,pxiD],初始速度向量pvi=[pvi1,pvi2,…,pviD],个体最优位置为pbesti=[pbesti1,pbesti2,…,pbestiD],种群最优位置为gbest=[gbest1,gbest2,…,gbestD],迭代过程中个体和种群所经历过的目标函数最小值分别为p_fitnessi,g_fitness;初始PNN网络的平滑因子取值相同且σ=0.1;
[0089] 步骤4:使用改进的K-means聚类算法对选出的m个训练样本进行聚类处理,得到k个聚类簇以及k个聚类中心,每一个簇中样本的个数为mg,g=1,2,…k;根据代表性样本选择阈值α,从每一个聚类簇中选择出一批代表性样本作为PNN网络新的训练样本;
[0090] 步骤4.1:在m个训练样本中随机选择k个样本点作为K-means聚类算法的初始聚类中心
[0091] 步骤4.2:设定当前迭代次数为j,对训练样本中每一个样本点pt,t=1、2、…、m依次计算到各个聚类中心 的欧式距离d(t,g),如下公式所示:
[0092]
[0093] 步骤4.3:找出每个样本点关于各个聚类中心 的最小欧式距离,并将对应的样本点pt划分到与聚类中心 距离最小的聚类簇中;
[0094] 步骤4.4:用平均值的方法重新计算每个聚类簇的聚类中心 如下公式所示:
[0095]
[0096] 其中,pgw表示的是第g个聚类簇中的第w个样本点;
[0097] 步骤4.5:计算各聚类簇内样本与新的聚类中心的距离的平方和,如下公式所示:
[0098]
[0099] 其中,Ej+1表示各聚类簇中样本与新的聚类中心的距离平方和,K-means算法的目标可以看作是最小化簇内距离的平方和;
[0100] 步骤4.6:判断迭代次数j是否等于最大迭代次数J=20或|Ej+1-Ej|<ε,ε=0.001,若是,则执行步骤4.7,否则重新执行步骤4.2;
[0101] 步骤4.7:统计每个聚类簇中的样本个数mg,并根据样本选择阈值α,选择每一个聚类中心最近邻的mg·α个样本作为最具有代表性的训练样本输出,得到p=m·α=180个新的训练样本;
[0102] 步骤5:对新的训练样本进行归一化处理;
[0103] 设定新的训练样本矩阵X如下公式所示
[0104]
[0105] 其中,p表示的是新的训练样本的个数,q表示的是新的训练样本的维数,p=180,q=7;
[0106] 通过归一化因子矩阵B将新的训练样本矩阵X进行归一化处理得到矩阵C,矩阵B和矩阵C的表达式如下公式所示:
[0107]
[0108]
[0109] 步骤6:根据归一化后的训练样本矩阵C来训练PNN网络,并利用训练后的PNN网络对归一化后的测试样本进行等级评估,同时计算对测试样本进行分类的错误率;
[0110] 所述PNN网络的结构包括输入层、模式层、求和层以及输出层;输入层对数据不做任何处理并将数据送入模式层中;模式层神经元的个数等于训练样本的个数,其激活函数是高斯函数,主要的作用是计算输入特征向量与训练样本中每一个训练样本的匹配关系;求和层和模式层的连接方式为稀疏连接,求和层神经元数等于训练样本的类别数,主要的作用是根据Parzen窗口函数的计算方法,将模式层神经元的输出进行按类求和并取平均值得到输入向量输入每一类的后验概率;输出层的作用是根据贝叶斯决策规则,选择最大的后验概率对应的类别进行输出;
[0111] 步骤6.1:用归一化之后训练样本矩阵C构建PNN网络的模式层;
[0112] 新的训练样本矩阵X归一化之后得到训练样本矩阵C,如下公式所示:
[0113]
[0114] 训练矩阵C中存在p=180个训练样本,并且分为M=4类,设定4类的训练样本个数分别为h1,h2,h3,h4,则有:
[0115] p=h1+h2+h3+h4   (8)
[0116] 在PNN网络中,模式层神经元数由训练样本决定的。所以当训练集中有p个训练样本时,则PNN的模式层也存在p个神经元。设定M类样本在样本矩阵C中依次排列,则将模式层的各个神经元依次编号为1至p;编号1到h1的神经元对应的是第1类训练样本,编号h1+1依次到h1+h2+1的神经元对应的是第2类训练样本,依次类推,编号p-h4+1依次到编号p的神经元属于第4类样本;
[0117] 本实施例中,PNN网络的结构如图3所示。
[0118] 步骤6.2:计算测试样本矩阵中每一个测试样本与训练集中每一个训练样本之间的欧式距离;
[0119] 由l=n-m=100个测试样本组成并经过归一化之后的测试样本矩阵T如下公式所示:
[0120]
[0121] 则每一个测试样本与每一个训练样本之间的欧式距离矩阵Ed如下公式所示:
[0122]
[0123] 步骤6.3:对模式层神经元利用径向基函数进行激活;
[0124] 选择高斯函数作为模式层神经元的激活函数,计算激活后的概率矩阵U,如下公式所示:
[0125]
[0126] 其中,σ1、σ2、…σp分别表示的是p个模式层神经元的平滑因子,平滑因子的取值对PNN网络的分类准确性有着至关重要的影响。初始时设定所有的平滑因子取值都相同即σ1=σ2=…σp=0.1;
[0127] 步骤6.4:通过求和层求解各待测样本属于各类别的初始概率和矩阵S,如下公式所示:
[0128]
[0129] 步骤6.5:根据各待测样本属于各类别的初始概率和,计算第a个待测样本属于第b类的概率probab,如下公式所示:
[0130]
[0131] 其中,a∈[1,l],b∈[1,M];
[0132] 步骤6.6:根据贝叶斯决策定理及各待测样本属于各类的概率,决策出第a个待测样本对应的类别,如下公式所示:
[0133] ya=arg max(probab)   (14)
[0134] 其中,ya表示的是PNN网络对第a个测试样本的预测结果,即第a个待测样本对应的类别;
[0135] 步骤6.7:计算PNN网络对测试样本进行分类的错误率,如下公式所示:
[0136]
[0137] 其中,ER表示的是PNN网络对测试样本进行分类的错误率,ne表示的是PNN网络错误分类的样本个数,l=n-m表示的是测试样本的个数;
[0138] 步骤7:令PNN网络中相同类别的模式层神经元采用相同的平滑因子而不同类别的模式层神经元采用不同的平滑因子,然后将PNN网络对测试样本进行分类的错误率ER作为PSO算法的目标函数,通过PSO算法修改PNN网络中平滑因子参数,实现对PNN网络的优化,在有限的迭代次数下不断的降低ER的值,达到优化PNN网络参数的目的,最终得到一个最优的PNN分类模型;
[0139] 步骤7.1:设定在PSO算法优化PNN网络参数的第β次的迭代过程中,首先对PSO算法中的粒子进行速度向量pvi和位置向量pxi的更新,如下公式所示:
[0140]
[0141]
[0142] 其中,ω为惯性权重,表示的是粒子群优化算法的搜索能力;c1,c2分别为个体极值点和全局极值点的学习因子;μ1,μ2分别表示的是0到1之间的随机数;由于PSO算法优化对象是各类别模式层神经元采用的平滑因子,所以粒子解空间维数D=M=4;
[0143] 本实施例中,惯性权重ω=0.6,学习因子c1=c2=2;
[0144] 步骤7.2:更新后的粒子位置向量表示的是PNN网络平滑因子的一个可行解;将粒子的位置向量 代替PNN网络平滑因子的取值,然后按照步骤6计算PNN网络对测试样本分类错误率的过程,计算出PNN网络对 对应的测试样本进行分类的错误率 并按照如下更新规则对粒子经历过的个体最优位置信息pbesti以及目标函数最小值p_fitnessi进行更新,同时更新种群经历过的最优位置信息gbest和目标函数最小值g_fitness;
[0145] 更新规则如下:
[0146] 若 则 否则pbesti和p_fitnessi保持不变;
[0147] 若p_fitnessi<g_fitness,则gbest=pbesti,g_fitness=p_fitnessi,否则gbest和g_fitness保持不变;
[0148] 步骤7.3:当迭代次数达到最大迭代次数max_iter=100时,PSO算法终止,此时,gbest表示的是PNN网络关于平滑因子的一个最优解,g_fitness表示的是采用gbest作为最优平滑因子的PNN网络对测试样本进行分类的错误率;否则重新执行步骤7.1;
[0149] 步骤8:采集待评估的温室环境数据,并采用步骤7得到的最优的PNN分类模型对温室环境质量进行评估。
[0150] 本实施例,利用最优的PNN分类模型对测试集样本进行评估,评估的结果如图4所示,整个测试样本的评估准确性达到了85%,其中每一类测试样本的评估准确性如表2所示,本发明的评估方法对第2类测试样本的评估准确性较高为95.2%,对第4类的评估准确性最低为62.5%,出现这样的原因是训练样本中不同类别的样本分布不同。
[0151] 表2本发明评估方法分类结果对照表
[0152]
[0153] 本实施例还从评估准确率、网络结构、训练时间、测试时间、存储空间的角度,将本发明的最优的PNN分类模型与传统的PNN评估模型相对比,如表3所示,本发明的最优的PNN分类模型虽然在训练过程中需要较长的时间,但是在分类准确率、网络结构、测试时间、存储空间上要比传统的PNN网络更优。因此,本发明评估方法的评估速度更快且对硬件设计难度以及存储空间要求较低,为温室环境质量评估提供了一种有效的方法。
[0154] 表3与传统的PNN评估模型对照表
[0155]
[0156]
[0157] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。