一种粒子群优化XGBoost算法的煤矸识别方法技术

技术编号:29704765 阅读:18 留言:0更新日期:2021-08-17 14:33
本发明专利技术提供了一种粒子群优化XGBoost算法的煤矸识别方法,属于煤矸识别领域,包括:采集煤和矸石的多光谱图像信息,并进行预处理;对采集到的煤和矸石多光谱图像进行样本划分,按照7:3比例将预处理后的煤和矸石多光谱图像随机划分为独立的训练集和测试集,并对样本设定标签;对训练集和测试集中的煤和矸石多光谱图像进行特征提取;利用提取到的多光谱图像特征搭建基于XGBoost算法的煤矸识别模型,在训练集上训练所述煤矸识别模型,通过粒子群优化算法进行XGBoost算法的参数优化;通过测试集来检验煤矸识别模型对煤和矸石的分类准确率,验证模型性能。该方法采用的XGBoost模型识别准确率,可解释性强,不易产生过拟合,可以得到良好的分类效果。

【技术实现步骤摘要】
一种粒子群优化XGBoost算法的煤矸识别方法
本专利技术属于煤矸识别
,具体涉及一种粒子群优化XGBoost算法的煤矸识别方法。
技术介绍
煤炭长久以来就是我国的第一能源,在煤炭的开采挖掘过程中,没有经过任何处理的煤炭叫做原煤,原煤中含有大量矸石,矸石的含硫量高,且含有大量的重金属,矸石发热值低,与煤混合后,影响煤的发热量,影响煤炭质量,而且在燃烧过程中会对环境造成污染。而中国一直大力发展洁净煤技术,煤矸分选就是一个重要的步骤。煤与矸石的分选方法主要有人工排矸,跳汰选煤,浮游选煤,选择性破碎,重介质选煤以及射线探测识别选煤等,但这些方法普遍存在识别精度低,占地空间大,投资成本高,环境污染严重等问题。本申请提供了一种多光谱结合粒子群优化XGBoost算法的识别方法,XGBoost是基于梯度提升决策树算法提出的一种基于梯度提升集成学习算法,原理是通过对多个弱分类器进行集成,经过多次迭代得到更加准确的分类效果。XGBoost有很多优点:速度快、效果好、能处理大规模数据、使用二阶导数,损失更精确,还支持自定义损失函数。粒子群优化算法是一种进化计算技术。基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。优点是具有相当快的逼近最优解的速度,简单易实现,参数设置少,可以有效的对系统的参数进行优化。采用粒子群优化XGBoost算法构建煤矸识别模型,是一种有效的识别方法。在国内外选煤技术中,除了人工选矸之外,自动选矸(煤)技术可根据是否利用水资源,分为湿法选矸和干法选矸。湿法选矸需要消耗大量的水资源,同时产生的煤泥污染难以处理,与生产洁净煤的理念不符;伽马射线和X射线选矸等射线选矸存在一定的辐射,对人体健康会造成一定伤害,而普通的图像识别选矸受光线等因素干扰大,识别准确率不高。本申请提出的一种粒子群优化XGBoost算法的煤矸识别方法,能获得较高的识别率,速度快,可弥补现有煤矸识别方法的不足。
技术实现思路
为了克服上述现有技术存在的不足,本专利技术提供了一种粒子群优化XGBoost算法的煤矸识别方法。为了实现上述目的,本专利技术提供如下技术方案:一种粒子群优化XGBoost算法的煤矸识别方法,包括以下步骤:采集煤和矸石的多光谱图像信息,并进行预处理;对采集到的煤和矸石多光谱图像进行样本划分,按照7:3比例将预处理后的煤和矸石多光谱图像随机划分为独立的训练集和测试集,并对样本设定标签,煤的标签为1,矸石标签为0;对训练集和测试集中的煤和矸石多光谱图像进行特征提取;利用提取到的多光谱图像特征搭建基于XGBoost算法的煤矸识别模型,在训练集上训练所述煤矸识别模型,通过粒子群优化算法进行XGBoost算法的参数优化;通过测试集来检验煤矸识别模型对煤和矸石的分类准确率,验证模型性能。优选地,利用多光谱图像采集系统对煤和矸石的多个样本进行多光谱图像的采集,得到煤和矸石的多光谱图像。优选地,对所述煤矸识别模型进行训练,包括:对给定的具有N个样本M个特征的训练样本集D={(xi,yi)}(i=1,2,…,N,xi∈RM,yi∈R),经过XGBoost模型训练,最终得到一个由K个CART决策树相加的集成模型:是XGBoost模型的输出,F={f(x)=wq(x)}(q:RM→T,w∈RT)为模型中所有CART决策树的集合,f表示一棵具体的CART树;每一个决策树函数fk对应一个特有的树结构q以及对应的叶节点权重向量w;对于一个样本,XGBoost模型获取最终的预测值的过程为:在每一棵决策树上将该样本映射到对应的叶节点上,再将该样本对应的K个叶节点的权重相加;机器学习模型均会定义损失函数,用于衡量模型的预测值与真实值之间的偏差;XGBoost模型的损失函数为:该式包含两部分,第一部分是训练损失函数,第二部分是正则项;在XGBoost算法中,训练是以树模型迭代增加的方式进行的,即训练过程中的每一步,增加一个CART决策树函数f,使得损失函数进一步减小;经过多次迭代后,在第t步,添加了一棵最优的CART树ft,即使得损失函数最小的那棵CART树,损失函数变为:为选取树结构ft的标准即使得损失函数L(t)的减小幅度最大,对上式作泰勒二阶展开:式中:分别为损失函数在展开点处的一阶导数和二阶导数;损失函数中包含的正则项可以用于控制训练出的模型的复杂度,定义如下:T表示叶子节点数目;w表示叶子权重;展开式中的表示第t步之前得到的所有CART树函数的输出与样本标签构成的损失函数,是一个定值;由于损失函数的减小幅度与常数项无关,去掉常数项,结合正则项表达式,对损失函数进一步优化,得到简化的损失函数如下:将该式对wj求导,并且令其为0,得到最优的叶节点权重为:此时的最优损失函数为:用于衡量任意树结构的好坏,越小,说明树结构越好,可以使模型的损失函数下降更多;XGBoost的训练过程就是通过迭代的方式增加CART函数,最终获得XGBoost模型迭代终止的条件为继续增加树模型时,模型准确率提升小于s;每次增加的新函数ft获得过程如下:初始有一个叶节点,每次增加一个分叉,选取损失函数值最小的树增长方案,循环进行,直至树的最大深度达到规定值或最小样本权重和小于阈值停止分裂。优选地,通过粒子群优化算法对XGBoost算法中的学习率(learning_rate)、最大树深(max_depth)和最小叶子权重(min_child_weight)等参数进行参数寻优;具体包括以下步骤:对粒子群进行初始化;由优化问题的目标函数确定适应度函数,对粒子群中每一个粒子的适应度进行计算;对粒子群中每个粒子的个体最极值进行计算,之后将粒子群中每个粒子的当前适应度值与其自身个体极值进行比较,若粒子当前适应度值优于粒子个体极值,则用适应度值取代个体极值;将粒子群中所有粒子的当前适应度值与全局极值进行比较,若当前适应度值优于全局极值,则当前适应度值取代全局极值;更新粒子的速度与位置,通过公式νid(t+1)=ω·νid(t)+c1r1[pid(t)-νid(t)]+c2r2[pgd(t)-νid(t)]与xid(t+1)=xid(t)+νid(t+1)对粒子的速度与位置进行更新;判断是否满足迭代条件,若满足条件,结束;若不满足条件,则返回步骤2,继续进行优化;迭代终止条件:当迭代次数达到设定的最大迭代次数或最小误差标准,则停止迭代,否则继续迭代直到满足迭代终止条件。本专利技术提供的粒子群优化XGBoost算法的煤矸识别方法具有以下有益效果:本专利技术采用多光谱成像技术采集煤与矸石的图像,经过特征提取,样本划分,搭建了一种粒子群优化XGBoost算法的煤矸识别模型,实现对煤与矸石的快速且精准识别。XGBoost模型的优势在于可解释性强,不易产生过拟合,结合粒子群算法对XGBoost进本文档来自技高网
...

【技术保护点】
1.一种粒子群优化XGBoost算法的煤矸识别方法,其特征在于,包括以下步骤:/n采集煤和矸石的多光谱图像信息,并进行预处理;/n对采集到的煤和矸石多光谱图像进行样本划分,按照7:3比例将预处理后的煤和矸石多光谱图像随机划分为独立的训练集和测试集,并对样本设定标签,煤的标签为1,矸石标签为0;/n对训练集和测试集中的煤和矸石多光谱图像进行特征提取;/n利用提取到的多光谱图像特征搭建基于XGBoost算法的煤矸识别模型,在训练集上训练所述煤矸识别模型,通过粒子群优化算法进行XGBoost算法的参数优化;/n通过测试集来检验煤矸识别模型对煤和矸石的分类准确率,验证模型性能。/n

【技术特征摘要】
1.一种粒子群优化XGBoost算法的煤矸识别方法,其特征在于,包括以下步骤:
采集煤和矸石的多光谱图像信息,并进行预处理;
对采集到的煤和矸石多光谱图像进行样本划分,按照7:3比例将预处理后的煤和矸石多光谱图像随机划分为独立的训练集和测试集,并对样本设定标签,煤的标签为1,矸石标签为0;
对训练集和测试集中的煤和矸石多光谱图像进行特征提取;
利用提取到的多光谱图像特征搭建基于XGBoost算法的煤矸识别模型,在训练集上训练所述煤矸识别模型,通过粒子群优化算法进行XGBoost算法的参数优化;
通过测试集来检验煤矸识别模型对煤和矸石的分类准确率,验证模型性能。


2.根据权利要求1所述的粒子群优化XGBoost算法的煤矸识别方法,其特征在于,利用多光谱图像采集系统对煤和矸石的多个样本进行多光谱图像的采集,得到煤和矸石的多光谱图像。


3.根据权利要求1所述的粒子群优化XGBoost算法的煤矸识别方法,其特征在于,对所述煤矸识别模型进行训练,包括:
对给定的具有N个样本M个特征的训练样本集D={(xi,yi)}(i=1,2,…,N,xi∈RM,yi∈R),经过XGBoost模型训练,最终得到一个由K个CART决策树相加的集成模型:




是XGBoost模型的输出,F={f(x)=wq(x)}(q:RM→T,w∈RT)为模型中所有CART决策树的集合,f表示一棵具体的CART树;每一个决策树函数fk对应一个特有的树结构q以及对应的叶节点权重向量w;对于一个样本,XGBoost模型获取最终的预测值的过程为:在每一棵决策树上将该样本映射到对应的叶节点上,再将该样本对应的K个叶节点的权重相加;机器学习模型均会定义损失函数,用于衡量模型的预测值与真实值之间的偏差;
XGBoost模型的损失函数为:



该式包含两部分,第一部分是训练损失函数,第二部分是正则项;
在XGBoost算法中,训练是以树模型迭代增加的方式进行的,即训练过程中的每一步,增加一个CART决策树函数f,使得损失函数进一步减小;经过多次迭代后,在第t步,添加了一棵最优的CART树ft,即使得损失函数最小的那棵CART树,损失函数变为:



为选取树结构ft的标准即使得损失函数L(t)的...

【专利技术属性】
技术研发人员:周孟然闫鹏程胡锋来文豪卞凯
申请(专利权)人:安徽理工大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1