CN112132259B - 神经网络模型输入参量降维方法及计算机可读存储介质 - Google Patents
神经网络模型输入参量降维方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112132259B CN112132259B CN202010903848.0A CN202010903848A CN112132259B CN 112132259 B CN112132259 B CN 112132259B CN 202010903848 A CN202010903848 A CN 202010903848A CN 112132259 B CN112132259 B CN 112132259B
- Authority
- CN
- China
- Prior art keywords
- data
- value
- result
- neural network
- sample data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000009467 reduction Effects 0.000 title claims abstract description 32
- 238000003062 neural network model Methods 0.000 title claims abstract description 26
- 238000000547 structure data Methods 0.000 claims abstract description 72
- 238000012360 testing method Methods 0.000 claims abstract description 70
- 230000002068 genetic effect Effects 0.000 claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 210000002569 neuron Anatomy 0.000 claims description 15
- 230000035772 mutation Effects 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 210000000349 chromosome Anatomy 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 229930002875 chlorophyll Natural products 0.000 description 3
- 235000019804 chlorophyll Nutrition 0.000 description 3
- ATNHDLDRLWWWCB-AENOIHSZSA-M chlorophyll a Chemical compound C1([C@@H](C(=O)OC)C(=O)C2=C3C)=C2N2C3=CC(C(CC)=C3C)=[N+]4C3=CC3=C(C=C)C(C)=C5N3[Mg-2]42[N+]2=C1[C@@H](CCC(=O)OC\C=C(/C)CCC[C@H](C)CCC[C@H](C)CCCC(C)C)[C@H](C)C2=C5 ATNHDLDRLWWWCB-AENOIHSZSA-M 0.000 description 3
- 108090000623 proteins and genes Proteins 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008303 genetic mechanism Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 235000015097 nutrients Nutrition 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种神经网络模型输入参量降维方法及计算机可读存储介质,方法包括:获取样本数据;根据预设的比例,将样本数据划分为训练数据和测试数据;随机产生预设数量的初始串结构数据,得到初始的种群,初始串结构数据中的每个位分别与样本数据中的各变量一一对应,且每个位的取值为第一字符或第二字符;分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并作为各串结构数据的适应度;若存在适应度大于或等于预设目标值的串结构数据,则将该串结构数据中取值为第一字符的位对应的变量作为最终建模变量;若不存在,则根据遗传算法,生成新的串结构数据,得到新的种群,继续计算适应度。本发明可提高神经网络模型的精度和效率。
Description
技术领域
本发明涉及神经网络技术领域,尤其涉及一种神经网络模型输入参量降维方法及计算机可读存储介质。
背景技术
在用统计分析方法研究多变量的课题时,变量个数太多就会增加课题的复杂性。人们自然希望变量个数较少而得到的信息较多。在很多情形,变量之间是有一定的相关关系的,当两个变量之间有一定相关关系时,可以解释为这两个变量反映此课题的信息有一定的重叠。例如,在研究赤潮预测模型时可能需要收集气象数据、水文数据、水质数据、营养盐数据和潮汐数据等,可能会包含几十个参量,其中部分变量之间存在着一定的相关关系,变量所反应的赤潮信息存在着一定的重复。对收集的变量进行一定的分析,寻找影响课题主要的参量,在不影响模型结果的基础上,建立尽可能少的新变量,使得这些新变量是两两不相关的,而且这些新变量在反映课题的信息方面尽可能保持原有的信息,方便找到影响课题的关键因子。
另外,在现实生活中,实际很难用线性模型进行描述。神经网络的出现大大降低了模型建立的难度和工作量。只需将神经网络看成是一个黑箱子,根据输入与输出数据,神经网络依据相关的学习规则,便可以建立相应的数学模型。但是,当模型的输入参量很多、输入参量之间不是相互独立时,利用神经网络容易出现过拟合现象,从而导致所建立的模型精度低、建模时间长等问题。因此,在建立模型之前,有必要对输入自变量进行优化选择,将冗余的一些自变量去掉,选择最能反映输入与输出关系的自变量参与建模。
发明内容
本发明所要解决的技术问题是:提供一种神经网络模型输入参量降维方法及计算机可读存储介质,可提高神经网络模型的精度和效率。
为了解决上述技术问题,本发明采用的技术方案为:一种神经网络模型输入变量降维方法,包括:
获取样本数据,所述样本数据包括正样本数据和负样本数据,每个样本数据由多个变量数据构成;
根据预设的比例,将所述样本数据划分为训练数据和测试数据;
随机产生预设数量的初始串结构数据,得到初始的种群,所述初始串结构数据中的每个位分别与样本数据中的各变量一一对应,且每个位的取值为第一字符或第二字符;
分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度;
判断最新的种群中是否存在适应度大于或等于预设目标值的串结构数据;
若是,则将适应度大于或等于预设目标值的串结构数据中取值为第一字符的位对应的变量作为最终建模变量;
若否,则根据遗传算法,生成新的串结构数据,得到新的种群;
继续执行所述分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度的步骤。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法的步骤。
本发明的有益效果在于:通过将二元模型综合评估的海德克评估(HSS)作为遗传算法的适应度函数,并通过遗传算法对神经网络的输入变量进行降维,可提高神经网络模型的精度和效率,降低神经网络模型的过拟合现象出现几率,减少模型收敛时长。
附图说明
图1为本发明实施例一的一种神经网络模型输入参量降维方法的流程图;
图2为本发明实施例二中的遗传算法交叉操作的交叉算子原理示意图;
图3为本发明实施例二中的遗传算法变异操作的变异算子原理示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,一种神经网络模型输入变量降维方法,包括:
获取样本数据,所述样本数据包括正样本数据和负样本数据,每个样本数据由多个变量数据构成;
根据预设的比例,将所述样本数据划分为训练数据和测试数据;
随机产生预设数量的初始串结构数据,得到初始的种群,所述初始串结构数据中的每个位分别与样本数据中的各变量一一对应,且每个位的取值为第一字符或第二字符;
分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度;
判断最新的种群中是否存在适应度大于或等于预设目标值的串结构数据;
若是,则将适应度大于或等于预设目标值的串结构数据中取值为第一字符的位对应的变量作为最终建模变量;
若否,则根据遗传算法,生成新的串结构数据,得到新的种群;
继续执行所述分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度的步骤。
从上述描述可知,本发明的有益效果在于:可提高神经网络模型的精度和效率。
进一步地,所述获取样本数据之后,进一步包括:
分别对所述样本数据中的各变量数据进行归一化处理。
由上述描述可知,可减少不同变量之间量级差异带来的干扰。
进一步地,所述分别计算最新的种群中各串结构数据对应的Heidke技巧评分具体为:
根据一串结构数据中取值为第一字符的位对应的变量,确定建模变量;
构建所述一串结构数据对应的人工神经网络,所述人工神经网络的输入层神经元的个数与所述建模变量的个数一致,输出层神经元的个数为2;
根据所述训练数据中的建模变量,对所述人工神经网络进行训练;
将所述测试数据中的建模变量输入训练后的人工神经网络,得到预报结果,所述预报结果为正样本结果或负样本结果;
分别统计所述测试数据中预报结果为正样本结果的正样本数据的数量和负样本数据的数量,以及预报结果为负样本结果的正样本数据的数量和负样本数据的数量,得到所述一串结构数据对应的预报结果参数;
根据所述预报结果参数以及测试数据的总数量,计算所述一串结构数据对应的Heidke技巧评分。
由上述描述可知,利用专门应对二元模型评估的HSS来作为适应度函数,相比传统的以均方差作为适应度函数,可提高二元模型的降维效果。
进一步地,所述预报结果参数包括第一值、第二值、第三值和第四值,所述第一值表示测试数据中预报结果为正样本结果的正样本数据的数量,所述第二值表示测试数据中预报结果为负样本结果的正样本数据的数量,所述第三值表示测试数据中预报结果为正样本结果的负样本数据的数量,所述第四值表示测试数据中预报结果为负样本结果的负样本数据的数量;
所述分别统计所述测试数据中预报结果为正样本结果的正样本数据的数量和负样本数据的数量,以及预报结果为负样本结果的正样本数据的数量和负样本数据的数量,得到所述一串结构数据对应的预报结果参数具体为:
若测试数据中的一正样本数据对应的预报结果为正样本结果,则令第一值加一,所述第一值的初始值为0;
若测试数据中的一正样本数据对应的预报结果为负样本结果,则令第二值加一,所述第二值的初始值为0;
若测试数据中的一负样本数据对应的预报结果为正样本结果,则令第三值加一,所述第三值的初始值为0;
若测试数据中的一负样本数据对应的预报结果为负样本结果,则令第四值加一,所述第四值的初始值为0。
进一步地,所述根据所述预报结果参数以及测试数据的总数量,计算所述一串结构数据对应的Heidke技巧评分具体为:
根据第一公式计算所述一串结构数据对应的Heidke技巧评分,所述第一公式为HSS=[(T1+T2)-(expected correct)random]/[N-(expected correct)random],其中,(expected correct)random根据第二公式计算得到,所述第二公式为(expectedcorrect)random=[(T1+F1)×(T1+F2)+(T2+F1)×(T2+F2)]/N,T1为所述一串结构数据对应的第一值,F1为所述一串结构数据对应的第二值,F2为所述一串结构数据对应的第三值,T2为所述一串结构数据对应的第四值,N为测试数据的总数据量。
由上述描述可知,Heidke技巧评分越大,表示预报效果越好。
进一步地,若存在多个串结构数据的适应度均大于预设目标值,则将适应度最大值对应的串结构数据中取值为第一字符的位对应的参量作为最终建模变量。
进一步地,所述根据遗传算法,生成新的串结构数据,得到新的种群具体为:
对当前种群中的串结构数据进行遗传算法中的选择操作、交叉操作和变异操作,生成新的串结构数据,得到新的种群。
由上述描述可知,利用遗传算法对当前种群中的个体进行筛选,使适应度好的个体被保留,适应度差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的方法的步骤。
实施例一
请参照图1,本发明的实施例一为:一种神经网络模型输入变量降维方法,可应用于二元神经网络预报模型的输入变量的降维,如图1所示,包括如下步骤:
S1:获取样本数据,所述样本数据包括正样本数据和负样本数据,每个样本数据由多个变量数据构成。
例如,若样本数据为赤潮监测数据,则将赤潮发生期间的监测数据标记为赤潮数据,也即正样本数据,将其他监测数据标记为非赤潮数据,也即负样本数据。赤潮监测数据共包含水温、盐度、叶绿素等25个变量。
进一步地,为了减少不同变量之间量级差异带来的干扰,样本数据在输入模型进行训练之前将进行归一化处理。具体地,根据归一化公式,分别对样本数据中的各变量的变量值进行归一化处理。
归一化公式:Xnew=(X-Xmin)/(Xmax-Xmin)
其中,X表示待归一化的一变量的变量值,Xnew表示归一化后的变量值,Xmax和Xmin分别表示所述一变量的最大值和最小值。
S2:根据预设的比例,将所述样本数据划分为训练数据和测试数据。例如,将样本数据的80%数据作为训练数据,20%数据作为测试数据。
S3:随机产生预设数量的初始串结构数据,得到初始的种群。其中,所述初始串结构数据中的每个位分别与样本数据中的各变量一一对应,因此初始串结构数据的长度与样本数据中的变量个数相同,且每个位的取值为第一字符或第二字符。其中,取值为第一字符的位对应的变量参与建模,即参与人工神经网络的训练与预报,取值为第二字符的位对应的变量不参与建模。
本实施例中,预设数量为20,第一字符为1,第二字符为0。每个初始串结构数据即为一个个体,也即一个染色体,20个个体构成了一个种群,遗传算法以这20个串结构数据作为初始点开始迭代。
步骤S2和步骤S3可不分先后顺序进行。
S4:分别计算最新的种群中各串结构数据对应的Heidke(海德克)技巧评分(HSS,The Heidke skill score),并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度。
具体地,本步骤包括如下步骤:
S401:遍历种群,并依次获取一串结构数据作为当前串结构数据。
S402:根据当前串结构数据中取值为第一字符的位对应的变量,确定建模变量。
S403:构建当前串结构数据对应的人工神经网络,所述人工神经网络的输入层神经元的个数与所述建模变量的个数一致,输出层神经元的个数为2;即构建二元神经网络预报模型。
S404:根据所述训练数据中的建模变量,对当前串结构数据对应的人工神经网络进行训练。
S405:将所述测试数据中的建模变量输入训练后的所述人工神经网络,得到预报结果,所述预报结果为正样本结果或负样本结果。
由于人工神经网络的输出层神经元的个数为2,因此预报结果为二元形式。例如,假设样本数据中的正样本数据对应的实际结果为A,负样本数据对应的实际结果为B,则预报结果为A或B。
S406:分别统计所述测试数据中预报结果为正样本结果的正样本数据的数量和负样本数据的数量,以及预报结果为负样本结果的正样本数据的数量和负样本数据的数量,得到当前串结构数据对应的预报结果参数。
本实施例中,所述预报结果参数包括第一值、第二值、第三值和第四值,所述第一值表示测试数据中预报结果为正样本结果的正样本数据的数量(即实际结果为A且预报结果为A的测试数据的数量),所述第二值表示测试数据中预报结果为负样本结果的正样本数据的数量(即实际结果为A且预报结果为B的测试数据的数量),所述第三值表示测试数据中预报结果为正样本结果的负样本数据的数量(即实际结果为B且预报结果为A的测试数据的数量),所述第四值表示测试数据中预报结果为负样本结果的负样本数据的数量(即实际结果为B且预报结果为B的测试数据的数量)。
具体地,所述第一值T1、第二值F1、第三值F2和第四值T2的初始值均为0,即首先令T1=F1=F2=T2=0。
然后遍历测试数据,若当前遍历到的测试数据正样本数据,且其输入训练后的人工神经网络输出的预报结果为正样本结果,则认为预报正确,令T1=T1+1;
若当前遍历到的测试数据正样本数据,且其输入训练后的人工神经网络输出的预报结果为负样本结果,则认为预报错误,令F1=F1=+1;
若当前遍历到的测试数据负样本数据,且其输入训练后的人工神经网络输出的预报结果为正样本结果,则认为预报错误,令F2=F2=+1;
若当前遍历到的测试数据负样本数据,且其输入训练后的人工神经网络输出的预报结果为负样本结果,则认为预报正确,令T2=T2+1。
当遍历完所有测试数据后,即可得到当前串结构数据对应的预报结果参数,并且T1+F1+F2+T2=N,N为测试数据的总数据量。
S407:根据所述预报结果参数以及测试数据的总数量,计算当前串结构数据对应的Heidke技巧评分。
具体地,根据下述公式计算所述一串结构数据对应的Heidke技巧评分。
第一公式:HSS=[(T1+T2)-(expected correct)random]/[N-(expectedcorrect)random]
第二公式:(expected correct)random=[(T1+F1)×(T1+F2)+(T2+F1)×(T2+F2)]/N
其中,T1为所述一串结构数据对应的第一值,F1为所述一串结构数据对应的第二值,F2为所述一串结构数据对应的第三值,T2为所述一串结构数据对应的第四值,N为测试数据的总数据量。
S408:将当前串结构数据对应的Heidke技巧评分作为当前串结构数据的适应度,即遗传算法中个体的适应度。
其中,Heidke技巧评分越大,表示预报效果越好。
S5:判断最新的种群中是否存在适应度大于或等于预设目标值的串结构数据,若是,则执行步骤S6,若否,则执行步骤S7。
S6:将适应度大于或等于预设目标值的串结构数据中取值为第一字符的位对应的变量作为最终建模变量,即将满足条件的串结构数据中取值为1的位对应的变量作为降维后的模型输入变量。
进一步地,若存在多个串结构数据的适应度均大于预设目标值,则将适应度最大值对应的串结构数据中取值为第一字符的位对应的参量作为最终建模变量。
S7:根据遗传算法,生成新的串结构数据,得到新的种群;然后继续计算新的种群中各串结构数据对应的Heidke技巧评分,即继续执行步骤S4。
遗传算法(Genetic Algorithms)是1962年由美国Michigan大学Holland教授提出的模拟自然界遗传机制和生物进化论而成的一种并行随机搜索最优化方法。它把自然界“优胜劣汰,适者生存”的生物进化原理引入优化参数形成的编码串联群体中,按照所选择的适应度函数并通过遗传中的选择、交叉和变异对个体进行筛选,使适应度值好的个体被保留,适应度值差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。
本步骤即根据当前的种群,通过遗传算法中的选择操作、交叉操作和变异操作,得到新的种群。
其中,选择操作是指从旧的群体中以一定的概率选择个体到新的群体中,个体被选中的概率跟适应度值有关,个体适应度值越好,被选中的概率越大。
本实施例中,根据当前种群中各串结构数据的适应度,计算各串结构数据的相对适应度,并作为各串结构数据被选中并遗传到下一代种群中的概率,相对适应度即一串结构数据的适应度占该种群所有串结构数据的适应度之和的比例。
交叉操作是指从种群中选择两个个体,通过两个染色体的交换组合,来产生新的优秀个体。交叉过程为从群体中任选两个染色体,随机选择一点或多点染色***置进行交换。
例如,假设交叉前的两个个体的染色体分别为:
A:1100 0101 1111
B:1111 0101 0000
将后四位进行交叉,则交叉后的两个个体的染色体分别为:
A:1100 0101 0000
B:1111 0101 1111
变异操作是指从群体中任选一个个体,选择染色体中的一点进行变异以产生更优秀的个体。
例如,假设变异前的一个个体的染色体为:1100 0101 1111;对倒数第二位进行变异,则变异后的该个体的染色体为:1100 0101 1101。
本实施例用神经网络计算遗传算法的适应度,并将二元模型综合评估的海德克评估(HSS)作为遗传算法的适应度函数,同时用遗传算法对神经网络的输入变量进行降维,可提高神经网络模型的精度和效率,降低神经网络模型的过拟合现象出现几率,减少模型收敛时长。
实施例二
请参照图2-3,本实施例是实施例一的一具体应用场景。本实施例以二元BP网络赤潮短期预报模型输入参量降维为例进行说明。
1、收集某地的赤潮监测数据作为样本数据,共计20752组,将赤潮发生期间的监测数据标记为赤潮数据(正样本数据),共计3425组,将其他监测数据标记为非赤潮数据(负样本数据),共计17327组。共包含水温、盐度、叶绿素等25个变量。
2、将遗传算法的编码长度设为25,染色体的25位分别与25个变量一一对应,每一位基因的取值只能是1或0,如果染色体某一位的取值为1,表示该位对应的变量参与赤潮短期预报模型训练和预报;反之,若取值为0,则该位对应的变量不参与赤潮短期预报模型的训练和预报。
随机产生20个初始串结构数据,每个初始串结构数据即为一个个体,也即一个染色体,20个个体构成了一个种群,遗传算法以这20个串结构数据作为初始点开始迭代,即每个初始串结构数据的长度均为25,每个位的取值为1或0。
3、随机选取80%的赤潮监测数据作为训练数据,剩余的20%作为测试数据,并将所有数据归一化。
4、将25个变量都作为BP网络(输出层神经元的个数为25,输出层神经元的个数为2)的输入变量,用训练数据训练该BP网络,然后将测试数据输入训练后的BP网络,获得降维前的预报结果,用于与后续降维后的预报结果进行比较。
5、将一个串结构数据中取值为1的位对应的变量作为BP网络(输出层神经元的个数与该串结构数据中1的个数相同,输出层神经元的个数为2)的输入变量,用训练数据中对应的变量数据训练该BP网络,然后将测试数据中对应的变量数据输入训练后的BP网络,获得预报结果。
6、当预报结果和实际结果都为赤潮发生,则预报正确,记为Correct hits,当预报结果是赤潮未发生,实际结果是赤潮发生,则预报错误,记为False negative,当预报结果是赤潮发生,实际结果是赤潮未发生,则预报错误,记为False positive,当预报结果和实际结果都为赤潮未发生,则预报正确,记为Correct negative;最后统计Correct hits、False negative、False positive和Correct negative的数量,分别作为第一值T1、第二值F1、第三值F2和第四值T2。
7、计算该串结构数据的Heidke技巧评分:
HSS=[(T1+T2)-(expected correct)random]/[N-(expected correct)random]
其中,(expected correct)random=[(T1+F1)×(T1+F2)+(T2+F1)×(T2+F2)]/N,N为测试数据的总数据量。
8、重复第5、6、7步,完成种群中所有20个串结构数据的HSS值的计算,并将HSS值作为遗传算法的适应度,即f(X)=HSS。
9、设置一个目标HSS,记为G,若当前种群中各串结构数据的f(X)均小于G时,执行下述第10、11、12、13步操作,直到发现f(X)中存在大于G的值,执行第14步操作。
10、遗传算法选择操作;具体地,包括如下步骤:
a)计算种群中各个体的相对适应度,并作为各个体被选中并遗传到下一代种群中的概率,相对适应度即一个体的适应度占该种群所有个体的适应度之和的比例,具体计算公式为:
其中,f(Xk)为第k个个体的适应度,M为当前种群中个体的总数量。
b)采用模拟轮盘赌操作,产生(0,1)之间的随机数,来确定各个个体被选中的次数。即将当前种群中各个体的放到0-1之间的数轴上,根据各个个体的相对适应度确定各个个体在这段数轴区间上的范围,所有个体占满这段数轴区间且相互之间不重叠,也就是说,某个个体的相对适应度越大,则占据数轴上的范围越大,那么产生的随机数落在其范围内的概率也就越大,即该个体被选择的概率也就越大。
显然,适应度大的个体,相对适应度也大,其被选择概率也大,能被多次选中,其遗传基因就会在种群中扩大。
11、遗传算法交叉操作;对于输入变量的降维,交叉操作采用最简单的单点交叉算子,交叉算子原理如图2所示。具体地,包括如下步骤:
a)对当前种群中的个体进行两两配对,则共有N/2对相互配对的个体组;
b)对每一对相互配对的个体组,随机选取某一基因座之后的位置作为交叉点;
c)对每一对相互配对的个体组,根据b中所确定的交叉点位置,相互交互两个个体的部分染色体,生成两个新个体。
12、遗传算法变异操作;对于输入变量的降维,变异操作采用最简单的单点变异算子,变异算子原理如图3所示。具体地,包括如下步骤:
a)随机产生变异点;
b)根据a中的变异点位置,改变其对应的基因座上的基因值,即变异操作的结果为1变为0或0变为1。
其中,每个个体的变异点都是随机产生的,因此每个个体的变异点不一定相同。
13、将通过遗传算法新生成的种群进行第5、6、7、8步操作,计算出各个新的个体(即新的串结构数据)的适应度,然后进行第9步的操作。
14、选取f(X)大于G的串结构数据,将该串结构数据中取值为1的位对应的变量作为最终的建模变量,即为影响赤潮模型的主要参量。
15、假设降维后最终获取的变量为水温、溶解氧、叶绿素等10个变量,远少于原有的25个参量,将这10个变量作为BP网络(输出层神经元的个数为10,输出层神经元的个数为2)的输入变量,用训练数据中的这10个变量数据训练该BP网络,然后将测试数据中这10个变量数据输入输入训练后的BP网络,获得降维后的预报结果。
对降维前后的预报结果进行对比,如表1所示,降维后赤潮发生预报正确率提高了10.57%,赤潮未发生预报正确率提高了5.22%,模型收敛时间降低了85.5%,以HSS为适应度函数降维对二元BP网络赤潮短期预报模型的正确率和收敛时间都有明显提升。
重复上述过程,将适应度函数改为预报结果和实际结果的均方根误差(预测值与真实值偏差的平方与观测次数N比值的平方根),获得结果如表1所示,与以HSS为适应度函数的结果相比,赤潮发生预报正确率降低了0.85%,赤潮未发生预报正确率降低了2.09%,模型收敛时间增加了2.33min,显然遗传算法对于二元模型的降维,以HSS为适应度函数优于以传统的均方差为适应度函数。
表1:二元BP网络赤潮短期预报模型输入参量降维前后预报结果
实施例三
本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如下步骤:
获取样本数据,所述样本数据包括正样本数据和负样本数据,每个样本数据由多个变量数据构成;
根据预设的比例,将所述样本数据划分为训练数据和测试数据;
随机产生预设数量的初始串结构数据,得到初始的种群,所述初始串结构数据中的每个位分别与样本数据中的各变量一一对应,且每个位的取值为第一字符或第二字符;
分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度;
判断最新的种群中是否存在适应度大于或等于预设目标值的串结构数据;
若是,则将适应度大于或等于预设目标值的串结构数据中取值为第一字符的位对应的变量作为最终建模变量;
若否,则根据遗传算法,生成新的串结构数据,得到新的种群;
继续执行所述分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度的步骤。
进一步地,所述获取样本数据之后,进一步包括:
分别对所述样本数据中的各变量数据进行归一化处理。
进一步地,所述分别计算最新的种群中各串结构数据对应的Heidke技巧评分具体为:
根据一串结构数据中取值为第一字符的位对应的变量,确定建模变量;
构建所述一串结构数据对应的人工神经网络,所述人工神经网络的输入层神经元的个数与所述建模变量的个数一致,输出层神经元的个数为2;
根据所述训练数据中的建模变量,对所述人工神经网络进行训练;
将所述测试数据中的建模变量输入训练后的人工神经网络,得到预报结果,所述预报结果为正样本结果或负样本结果;
分别统计所述测试数据中预报结果为正样本结果的正样本数据的数量和负样本数据的数量,以及预报结果为负样本结果的正样本数据的数量和负样本数据的数量,得到所述一串结构数据对应的预报结果参数;
根据所述预报结果参数以及测试数据的总数量,计算所述一串结构数据对应的Heidke技巧评分。
进一步地,所述预报结果参数包括第一值、第二值、第三值和第四值,所述第一值表示测试数据中预报结果为正样本结果的正样本数据的数量,所述第二值表示测试数据中预报结果为负样本结果的正样本数据的数量,所述第三值表示测试数据中预报结果为正样本结果的负样本数据的数量,所述第四值表示测试数据中预报结果为负样本结果的负样本数据的数量;
所述分别统计所述测试数据中预报结果为正样本结果的正样本数据的数量和负样本数据的数量,以及预报结果为负样本结果的正样本数据的数量和负样本数据的数量,得到所述一串结构数据对应的预报结果参数具体为:
若测试数据中的一正样本数据对应的预报结果为正样本结果,则令第一值加一,所述第一值的初始值为0;
若测试数据中的一正样本数据对应的预报结果为负样本结果,则令第二值加一,所述第二值的初始值为0;
若测试数据中的一负样本数据对应的预报结果为正样本结果,则令第三值加一,所述第三值的初始值为0;
若测试数据中的一负样本数据对应的预报结果为负样本结果,则令第四值加一,所述第四值的初始值为0。
进一步地,所述根据所述预报结果参数以及测试数据的总数量,计算所述一串结构数据对应的Heidke技巧评分具体为:
根据第一公式计算所述一串结构数据对应的Heidke技巧评分,所述第一公式为HSS=[(T1+T2)-(expected correct)random]/[N-(expected correct)random],其中,(expected correct)random根据第二公式计算得到,所述第二公式为(expectedcorrect)random=[(T1+F1)×(T1+F2)+(T2+F1)×(T2+F2)]/N,T1为所述一串结构数据对应的第一值,F1为所述一串结构数据对应的第二值,F2为所述一串结构数据对应的第三值,T2为所述一串结构数据对应的第四值,N为测试数据的总数据量。
进一步地,若存在多个串结构数据的适应度均大于预设目标值,则将适应度最大值对应的串结构数据中取值为第一字符的位对应的参量作为最终建模变量。
进一步地,所述根据遗传算法,生成新的串结构数据,得到新的种群具体为:
对当前种群中的串结构数据进行遗传算法中的选择操作、交叉操作和变异操作,生成新的串结构数据,得到新的种群。
综上所述,本发明提供的一种神经网络模型输入参量降维方法及计算机可读存储介质,通过将二元模型综合评估的海德克评估(HSS)作为遗传算法的适应度函数,并通过遗传算法对神经网络的输入变量进行降维,可提高神经网络模型的精度和效率,降低神经网络模型的过拟合现象出现几率,减少模型收敛时长。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种神经网络模型输入变量降维方法,其特征在于,包括:
获取样本数据,所述样本数据包括正样本数据和负样本数据,每个样本数据由多个变量数据构成;
根据预设的比例,将所述样本数据划分为训练数据和测试数据;
随机产生预设数量的初始串结构数据,得到初始的种群,所述初始串结构数据中的每个位分别与样本数据中的各变量一一对应,且每个位的取值为第一字符或第二字符;
分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度;
判断最新的种群中是否存在适应度大于或等于预设目标值的串结构数据;
若是,则将适应度大于或等于预设目标值的串结构数据中取值为第一字符的位对应的变量作为最终建模变量;
若否,则根据遗传算法,生成新的串结构数据,得到新的种群;
继续执行所述分别计算最新的种群中各串结构数据对应的Heidke技巧评分,并分别将各串结构数据对应的Heidke技巧评分作为各串结构数据的适应度的步骤。
2.根据权利要求1所述的神经网络模型输入变量降维方法,其特征在于,所述获取样本数据之后,进一步包括:
分别对所述样本数据中的各变量数据进行归一化处理。
3.根据权利要求1所述的神经网络模型输入变量降维方法,其特征在于,所述分别计算最新的种群中各串结构数据对应的Heidke技巧评分具体为:
根据一串结构数据中取值为第一字符的位对应的变量,确定建模变量;
构建所述一串结构数据对应的人工神经网络,所述人工神经网络的输入层神经元的个数与所述建模变量的个数一致,输出层神经元的个数为2;
根据所述训练数据中的建模变量,对所述人工神经网络进行训练;
将所述测试数据中的建模变量输入训练后的人工神经网络,得到预报结果,所述预报结果为正样本结果或负样本结果;
分别统计所述测试数据中预报结果为正样本结果的正样本数据的数量和负样本数据的数量,以及预报结果为负样本结果的正样本数据的数量和负样本数据的数量,得到所述一串结构数据对应的预报结果参数;
根据所述预报结果参数以及测试数据的总数量,计算所述一串结构数据对应的Heidke技巧评分。
4.根据权利要求3所述的神经网络模型输入变量降维方法,其特征在于,所述预报结果参数包括第一值、第二值、第三值和第四值,所述第一值表示测试数据中预报结果为正样本结果的正样本数据的数量,所述第二值表示测试数据中预报结果为负样本结果的正样本数据的数量,所述第三值表示测试数据中预报结果为正样本结果的负样本数据的数量,所述第四值表示测试数据中预报结果为负样本结果的负样本数据的数量;
所述分别统计所述测试数据中预报结果为正样本结果的正样本数据的数量和负样本数据的数量,以及预报结果为负样本结果的正样本数据的数量和负样本数据的数量,得到所述一串结构数据对应的预报结果参数具体为:
若测试数据中的一正样本数据对应的预报结果为正样本结果,则令第一值加一,所述第一值的初始值为0;
若测试数据中的一正样本数据对应的预报结果为负样本结果,则令第二值加一,所述第二值的初始值为0;
若测试数据中的一负样本数据对应的预报结果为正样本结果,则令第三值加一,所述第三值的初始值为0;
若测试数据中的一负样本数据对应的预报结果为负样本结果,则令第四值加一,所述第四值的初始值为0。
5.根据权利要求4所述的神经网络模型输入变量降维方法,其特征在于,所述根据所述预报结果参数以及测试数据的总数量,计算所述一串结构数据对应的Heidke技巧评分具体为:
根据第一公式计算所述一串结构数据对应的Heidke技巧评分,所述第一公式为HSS=[(T1+T2)-(expected correct)random]/[N-(expected correct)random],其中,(expectedcorrect)random根据第二公式计算得到,所述第二公式为(expected correct)random=[(T1+F1)×(T1+F2)+(T2+F1)×(T2+F2)]/N,T1为所述一串结构数据对应的第一值,F1为所述一串结构数据对应的第二值,F2为所述一串结构数据对应的第三值,T2为所述一串结构数据对应的第四值,N为测试数据的总数据量。
6.根据权利要求1所述的神经网络模型输入变量降维方法,其特征在于,若存在多个串结构数据的适应度均大于预设目标值,则将适应度最大值对应的串结构数据中取值为第一字符的位对应的参量作为最终建模变量。
7.根据权利要求1所述的神经网络模型输入变量降维方法,其特征在于,所述根据遗传算法,生成新的串结构数据,得到新的种群具体为:
对当前种群中的串结构数据进行遗传算法中的选择操作、交叉操作和变异操作,生成新的串结构数据,得到新的种群。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903848.0A CN112132259B (zh) | 2020-09-01 | 2020-09-01 | 神经网络模型输入参量降维方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903848.0A CN112132259B (zh) | 2020-09-01 | 2020-09-01 | 神经网络模型输入参量降维方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112132259A CN112132259A (zh) | 2020-12-25 |
CN112132259B true CN112132259B (zh) | 2024-03-05 |
Family
ID=73848416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010903848.0A Active CN112132259B (zh) | 2020-09-01 | 2020-09-01 | 神经网络模型输入参量降维方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112132259B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269939B (zh) * | 2022-09-28 | 2023-02-17 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 正则表达式生成方法、装置、智能终端及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08129542A (ja) * | 1994-10-31 | 1996-05-21 | Ricoh Co Ltd | ニューラルネットワークのパラメータ更新装置 |
CN106777527A (zh) * | 2016-11-24 | 2017-05-31 | 上海市特种设备监督检验技术研究院 | 基于神经网络模型的起重机小车运行能耗分析方法 |
CN107247893A (zh) * | 2017-05-10 | 2017-10-13 | 广东工业大学 | 一种基于遗传算法降维的脑电身份识别方法 |
CN109242558A (zh) * | 2018-08-29 | 2019-01-18 | 黑龙江工业学院 | 一种基于神经网络的经营数据预测方法、可读存储介质和预测*** |
CN110868312A (zh) * | 2018-08-28 | 2020-03-06 | 中国科学院沈阳自动化研究所 | 一种基于遗传算法优化的工业行为异常检测方法 |
WO2020092810A1 (en) * | 2018-10-31 | 2020-05-07 | Movidius Ltd. | Automated generation of neural networks |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030018598A1 (en) * | 2001-07-19 | 2003-01-23 | Cawse James Norman | Neural network method and system |
US9775533B2 (en) * | 2013-03-08 | 2017-10-03 | Singapore Health Services Pte Ltd | System and method of determining a risk score for triage |
-
2020
- 2020-09-01 CN CN202010903848.0A patent/CN112132259B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08129542A (ja) * | 1994-10-31 | 1996-05-21 | Ricoh Co Ltd | ニューラルネットワークのパラメータ更新装置 |
CN106777527A (zh) * | 2016-11-24 | 2017-05-31 | 上海市特种设备监督检验技术研究院 | 基于神经网络模型的起重机小车运行能耗分析方法 |
CN107247893A (zh) * | 2017-05-10 | 2017-10-13 | 广东工业大学 | 一种基于遗传算法降维的脑电身份识别方法 |
CN110868312A (zh) * | 2018-08-28 | 2020-03-06 | 中国科学院沈阳自动化研究所 | 一种基于遗传算法优化的工业行为异常检测方法 |
CN109242558A (zh) * | 2018-08-29 | 2019-01-18 | 黑龙江工业学院 | 一种基于神经网络的经营数据预测方法、可读存储介质和预测*** |
WO2020092810A1 (en) * | 2018-10-31 | 2020-05-07 | Movidius Ltd. | Automated generation of neural networks |
Non-Patent Citations (6)
Title |
---|
基于全卷积神经网络方法的日间黄海海雾卫星反演研究;刘树霄 等;海洋湖沼通报;第16-18页 * |
孙文兵 ; .遗传算法降维优化的BP模型及葡萄酒质量预测.邵阳学院学报(自然科学版).2017,(01),全文. * |
樊仲欣 ; 陈旭红 ; 谭桂容 ; .基于递归小波神经网络的江苏城镇夏季最高气温预报预警技术.自然灾害学报.2019,(06),全文. * |
赵志彬 ; 赵芸莹 ; .基于主成分分析的GA-BP模型的供应链合作伙伴评价.商场现代化.2018,(12),全文. * |
遗传算法降维优化的BP模型及葡萄酒质量预测遗传算法降维优化的BP模型及葡萄酒质量预测;孙文兵;邵阳学院学报( 自然科学版);第14卷(第1期);第24-28页 * |
高文曦 ; 孙小琪 ; 镇丽华 ; .基于遗传算法数据降维的汉语数字语音识别.计算机***应用.2016,(01),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112132259A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147450B (zh) | 一种知识图谱的知识补全方法及装置 | |
CN110336768B (zh) | 一种基于联合隐马尔可夫模型与遗传算法的态势预测方法 | |
CN106411896B (zh) | 基于apde-rbf神经网络的网络安全态势预测方法 | |
CN103105246A (zh) | 一种基于遗传算法改进的bp神经网络的温室环境预测反馈方法 | |
CN112215446A (zh) | 一种基于神经网络的单位动态火灾风险评估方法 | |
CN112634019A (zh) | 基于细菌觅食算法优化灰色神经网络的违约概率预测方法 | |
Ning et al. | GA-BP air quality evaluation method based on fuzzy theory. | |
CN111709511A (zh) | 一种基于随机无迹Sigma点变异的哈里斯鹰优化算法 | |
CN115906638A (zh) | 建立火控***故障预测模型、故障预测方法及相关装置 | |
CN114004153A (zh) | 一种基于多源数据融合的侵彻深度预测方法 | |
CN112132259B (zh) | 神经网络模型输入参量降维方法及计算机可读存储介质 | |
CN115796358A (zh) | 一种碳排放预测的方法及终端 | |
CN111126560A (zh) | 一种基于云遗传算法优化bp神经网络的方法 | |
CN111832817A (zh) | 基于mcp罚函数的小世界回声状态网络时间序列预测方法 | |
CN114971243A (zh) | 基于fnn对抗生成的二噁英排放风险预警模型构建方法 | |
Phan et al. | Efficiency enhancement of evolutionary neural architecture search via training-free initialization | |
CN112837739B (zh) | 基于自编码器与蒙特卡洛树的层次化特征***发育模型 | |
CN114819151A (zh) | 基于改进代理辅助混洗蛙跳算法的生化路径规划方法 | |
CN114757433A (zh) | 一种饮用水源抗生素抗性相对风险快速识别方法 | |
CN115661508A (zh) | 基于多目标神经网络架构优化的sar对抗图像检测***及方法 | |
CN118211185A (zh) | 一种基于对梭鱼群优化算法与tcn模型结合的径流预测方法 | |
Jie-zhen et al. | BP neural network optimize based on improved genetic algorithm | |
Chen et al. | A neural network optimization calculation method based on improved genetic algorithm | |
Dong et al. | The construction of index system based on improved genetic algorithm and neural network | |
Liu et al. | An Integrated Multi-Factor Machine Learning Regression Prediction Model Based on CBCA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |