基于交叉算子的种群优化方法及装置与流程

文档序号:11729573阅读:360来源:国知局
基于交叉算子的种群优化方法及装置与流程

本发明涉及自然灾害的监测领域,尤其是关于山体滑坡风险的监测,具体是一种基于交叉算子的种群优化方法及装置。



背景技术:

遗传算法是一种通过模拟自然进化过程搜索最优解的方法,可应用于滑坡风险的预测方法中。目前,研究人员主要关注于滑坡风险测定方法中的最优因子选取个数问题,还没有关注于遗传算法中的各类算子的优化,比如交叉算子,基于目前的交叉算子还不能更快更好地得到滑坡风险预测精度。



技术实现要素:

本发明的一个目的是提供一种基于交叉算子的种群优化方法,包括:

初始种群获得步骤:获得预测精度已进行升序或降序排列的初始种群,将所述初始种群设置为一个二维矩阵,行数代表初始种群中的个体数量,列数代表每个个体包含的调节因子的个数;

初始种群优化步骤:将二维矩阵中相邻两行两两交叉,得到优化后的种群。

根据本发明的实施例,所述初始种群优化步骤中,如果相邻两行随机选取的交叉位置,任意一行经交叉后出现调节因子重复,则交叉失败,重新寻找交叉位置进行交叉。

根据本发明的实施例,所述初始种群优化步骤中,相邻两行交叉时,若遍历所有的交叉位置都交叉失败,则交叉操作不予执行。

根据本发明的实施例,所述初始种群优化步骤中,当初始种群按照预测精度降序排列时,采用交叉个数递增的方式设置相邻两行的交叉个数;当初始种群按照预测精度升序排列时,采用交叉个数递减的方式设置相邻两行的交叉个数。

本发明的另一个目的是提供一种基于交叉算子的种群优化装置,包括:

初始种群获得模块:用于获得预测精度已进行升序或降序排列的初始种群,将所述初始种群设置为一个二维矩阵,行数代表初始种群中的个体数量,列数代表每个个体包含的调节因子的个数;

初始种群优化模块:用于将二维矩阵中相邻两行两两交叉,得到优化后的种群。

与现有技术相比,本发明的有益效果:相对于传统的交叉算子,本发明种群优化方法及装置,在交叉算子的交叉方式、交叉位置、交叉个数上做了进一步完善,应用本发明方法进行种群优化,再使用优化后的种群进行滑坡风险预测,可以更快地获取更高的滑坡风险预测精度。

附图说明:

图1为基于交叉算子的种群优化方法的流程图。

图2为适应度的表示示意图。

图3为交叉操作的示意图。

具体实施方式

下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。

在进行滑坡风险的评价之前,需要测试获得相关参数,并作为调节因子进行编号。

通过测试收集得到如下参数:地形(高程、坡度、坡向、曲率、径流量指数、地形湿度指数、起伏度)、地貌(土地利用类型、植被覆盖度)、岩性、地震烈度(地震峰值加速度)及缓冲区分析(距离河流、距离道路、距离断层)等数据进行编号处理。将这些参数作为因子进行编号:比如x1表示高程、x2表示植被覆盖度、x3表示坡度、x4表示曲率、x5表示径流量指数、x6表示地形湿度指数、x7表示起伏度、x8表示土地利用类型、x9表示坡向、x10表示岩性、x11表示地震峰值加速度、x12表示距离河流、x13表示距离道路、x14表示距离断层。测试所得到的参数不同,则选取的因子有所不同。

比如下表就是测得的样本及对应因子编号。

表1:因子编号及获得的测试数据

在上述基础上,按照以下步骤来优化滑坡风险预测中的初始种群:

步骤一:获得初始种群,本步骤具体可以是:

根据因子的个数总量设置初始种群的个体数量popsize,每个个体包含的因子个数设置为chsize,按照因子编号随机生成初始种群。比如popsize等于10,chsize等于11,代表随机生成的初始种群中,包含10个个体(组合方式1-10),每个个体由11个因子构成,比如随机生成的初始种群为表2,可以将该初始种群设置为一个具有10行11列的二维矩阵,该二维矩阵中的数值为表2中的因子的编号。

表2为初始种群:

依次评价初始种群中每个个体的适应度,按照适应度(即为预测精度)进行升序或降序排列。适应度可以通过如下方式计算:

步骤21:获得测试数据基于逻辑回归模型得到的pl;

步骤21-1:选取一部分测试数据作为训练样本,代入回归模型

其中,选取的一部分测试数据中的参数数据作为解释变量x1、x2...xn,是否滑坡的值作为pl来进行模型训练,得到回归模型中x前的系数b1、b2...bn;

步骤21-2:将剩余的另一部分测试数据作为验证样本,剩余的另一部分测试数据中的参数数据作为解释变量x1、x2...xn代入回归模型,通过计算得到每个验证样本对应的滑坡预测值pl;

步骤22:以每个验证样本对应的滑坡预测值作为阈值,计算tpr和fpr;

其中tpr=tp/(tp+fn),fpr=fp/(tn+fp);

其中tp表示预测为滑坡、实际滑坡的次数;

其中fp表示预测为滑坡、实际未滑坡的次数;

其中tn表示预测未滑坡、实际未滑坡的次数;

其中fn表示预测未滑坡、实际滑坡的次数;

步骤23:以所有点(fpr,tpr)组成的曲线为roc曲线,计算roc曲线与坐标轴形成的面积作为适应度,如图2所示,图2中黑色粗实线为roc曲线,auc为适应度,auc取值范围[0,1]定义为适应度,其值越大,说明模型的预测精度越高,个体的适应度越强。

步骤二:对初始种群中个体的因子进行交叉操作,实现种群优化,得到优化后的种群。

首先需要确定行与行之间的交叉方式。比如可以用组合方式1的因子与组合方式10的因子进行交叉操作,生成新的组合方式1与新的组合方式10,也可以用组合方式1与组合方式2的因子进行交叉操作。但由于预测精度已降序排列,造成相邻两个组合方式的测定精度最为相近,表明它们对应的因子重要性更为接近,那么对于组合方式1,其只需要对因子稍作调整即可获得更优的测定精度,而组合方式2有与其近似的测定精度,因此相对于组合方式10,选择与组合方式2进行交叉操作更容易获得更好的测定结果,因此,优选行与行的交叉方式选为相邻两行两两交叉,即第1行与第2行交叉,第3行与第4行交叉…。注意,在生成初始种群时将种群中的个体数量设置为偶数,便于进行交叉操作。

然后需要考虑列与列之间的交叉方式,需考虑相邻组合方式因子的交叉个数及交叉位置。对于交叉位置的选取,需要满足一个条件,即交叉后每行的因子不能出现重复,如果相邻两种组合方式选取的交叉位置,任意一个经交叉后出现因子重复,则交叉失败(如图3,最后两行在图中所示位置交叉四个因子后,倒数第二行会出现两个相同的编号为10的因子和两个相同的编号为5的因子),然后需要重新寻找交叉位置进行交叉。若遍历所有的交叉位置都交叉失败,则交叉操作不予执行。个体出现两个相同的因子,代表某个滑坡因子在模型训练中,重复使用,对模型的精度提高没有意义,反而会造成数据的冗余,因此通过放弃交叉失败的操作可以避免数据的冗余。

交叉个数对于种群优化也有影响,因此确定相邻两行组合方式之间的因子交叉个数也相当重要。首先需要明确的是预测精度降序排列后的组合方式中,位于上方的组合方式的因子不需要显著调整,而位于下方的组合方式的因子需要明显的调整,以生成与原组合方式显著不同的新组合方式。也就是说,位于上方的交叉个数可以设置得较少,位于下方的交叉个数可以设置得较多,即采用由上向下交叉个数递增的方式来设置相邻组合方式的交叉个数。当然地,针对于按照预测精度升序排列的初始种群,则采用由上向下交叉个数递减的方式来设置相邻组合方式的交叉个数。

用表2来说,每种组合方式有11个因子,最少交叉1个因子,最多交叉10个因子。作为一种可实施方式的举例,对于10行数据来说,平均下来,第一行与第二行的组合方式可以交叉2个因子,第三行与第四行的组合方式可以交叉4个因子,第五行与第六行的组合方式可以交叉6个因子,第七行与第八行的组合方式可以交叉8个因子,第九行与第十行的组合方式可以交叉10个因子。交叉个数的间隔用数学方式表示为:交叉个数的间隔基于表2来说,交叉个数的间隔等于10(chsize-1)乘以2除以10(popsize),也即为2,表示相邻两个组合方式交叉个数是以2为首项,公差为2构成的递增数列的数值,即2、4、6、8、10。

需要注意的是,比如popsize=30,chsize=11,交叉个数的间隔计算出来为10乘以2除以30等于0.67,那么交叉个数本应该为0.67、1.34、2.01、2.68、3.35、4.02、4.69、5.36、6.03、6.7、7.37、8.04、8.71、9.38、10.05,因为交叉个数应为整数,所以基于四舍五入得到1、1、2、3、3、4、4、5、6、7、7、8、9、9、10,代表第一行和第二行交叉1个因子,第三行和第四行交叉1个因子,第五行和第六行交叉2个因子,直到最后两行交叉10个因子。

本发明所述优化方法中,交叉算子同以往的交叉算子有明显的不同,在于选择相邻组合方式之间的因子交叉,并且让交叉个数随预测精度的降低而增加,使测定精度高的组合方式得到小的调整,测定精度低的组合方式得到大的调整,以更快获取最优的滑坡测定精度,同时,当交叉后的因子出现重复,交叉将不予执行,但会重新寻找随机的交叉位置,来完成交叉操作。通过实验,采用本发明所述优化方法,在因子的交叉个数和交叉位置上做了进一步的完善,能更快地获取更高的滑坡风险测定精度。

相应地,本实施例中还提供了一种基于交叉算子的种群优化装置,包括:

初始种群获得模块:用于获得预测精度已进行升序或降序排列的初始种群,将所述初始种群设置为一个二维矩阵,行数代表初始种群中的个体数量,列数代表每个个体包含的调节因子的个数;

初始种群优化模块:用于将二维矩阵中相邻两行两两交叉,得到优化后的种群。

在进一步优化的实施方案中,所述初始种群优化模块在执行交叉操作时,如果相邻两行随机选取的交叉位置,任意一行经交叉后出现调节因子重复,则交叉失败,重新寻找交叉位置进行交叉。

在更进一步优化的实施方案中,所述初始种群优化模块在执行交叉操作时,当初始种群按照预测精度降序排列时,采用交叉个数递增的方式设置相邻两行的交叉个数;当初始种群按照预测精度升序排列时,采用交叉个数递减的方式设置相邻两行的交叉个数。

对于装置中各模块的更为具体的执行操作,可以参见上述方法实施例中相应描述。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

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