SparkMLlib中的GBDT算法对工业数据的代码实战

在格物汇之前发表的《工业大数据挖掘的利器——spark mllib》中提到,spark 的mllib组件能够对工业现场海量数据进行高效挖掘,快速呈现结果给业务分析人员。接下来将向大家介绍sparkmllib 中的gbdt算法,并将应用该算法对工业数据进行代码实战。
1算法概念
gb(gradient boosting)梯度提升算法,gb 共需要进行m次迭代,通过采用梯度下降的方法,每次迭代向损失函数的负梯度方向进行移动,从而使损失函数越来越小,进而使模型越来越精确。算法伪代码如下:
gb算法跟原始的boosting算法相比较,还是有比较明显的区别。
boosting算法开始的时候,是会给每个样本附上权重的,在每次迭代的时候就会增加错的样本的权重,减少对的样本的权重,经过n次迭代之后,会得到n个分类器,然后我们再将他们组合起来,得到最终模型。
gb算法与boosting区别是,他的每一次迭代的目标都是减少上一次的残差,所以在残差减少的方向上建立一个新的模型。在gb算法框架上加入决策树,就是gbdt(gradientboost decision tree)算法。
gbdt主要的优点有:
1) 可以灵活处理各种类型的数据,包括连续值和离散值。
2) 在相对少的调参时间情况下,预测的准备率也可以比较高。这个是相对svm来说的。
3)使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 huber损失函数和quantile损失函数。
4) 很好的利用了弱分类器进行级联。
5) 充分考虑的每个分类器的权重。
6) 可以得到变量间的重要性排序。
gbdt的主要缺点有:
1)由于弱学习器之间存在依赖关系,难以并行训练数据,不过可以通过自采样的sgbt来达到部分并行。
2完整代码实例
工业生产中,产品在制程过程中会有很多特性值,如果能对产品的特性值及时进行预测,得到特性值的具体数值,那么就会帮组业务人员知晓产品的质量,实现产品的全检,并能防止异常产品后流,造成不必要的浪费。
本次实战代码的采用的数据是半导体制程中某一道工序的机台的制程参数值,通过采用sparkmllib中的gbdt算法对工业现场机台的制程参数进行建模,预测出经过该机台生产之后产品的膜层厚度。
模型最后输出模型性能指标如下:
mape(mean absolute percentage error):0.23%
通过上图模型输出的预测值与实际值对比,发现预测出来的产品膜厚的数值走势跟实际数值走势基本符合,mape达到0.5%以内,拟合度相当可观,后续还可以通过样本筛选以及特征工程等手段对该模型进行进一步调优。
在模型达到业务需求的拟合度等指标后,通过该模型进行部署,实现产品的“实时全检”,从而实现产品质量的全面监控,杜绝异常产品后流;与工厂内的抽检系统结合后,降低产品的抽检率,提高工厂的效率。
gbdt算法的用途还是比较广泛的,它不仅可以处理分类问题,能对线性与非线性回归问题进行处理,还能通过输出变量间重要因子排序,方便业务人员快速定位异常变量。在工业现场的顽固异常分析还是产品特性预测等领域,gbdt算法确实是很值得数据分析人员考虑的一种算法。

工业级产品应用主板BCM335x概述、特点及应用
Google相册用户界面进行少量更改可以节省大量时间精力
嵌入式内存管理的一些知识简析
三星已确认为部分手机设备提供Android三大版本更新
龙芯正式发布首个用中文编写的CPU规范
SparkMLlib中的GBDT算法对工业数据的代码实战
安全阀的压力调整方法
百合佳缘,将陆续引入人脸识别系统
USB电话录音系统,USB电话录音系统的功能有哪些?
电阻选型以下几个参数你必须要知道
全面屏手机有哪些品牌_手机屏幕哪个品牌最好
对比小米NOTE2和一加3T,哪个更值得入手?
中兴出售6项移动终端专利 总值超百万
异性缘最好的三大星座,桃花不断,受欢迎!
情绪和情感计算将是人工智能的下一个发力点
中微爱芯电平转换芯片TS、TB、LS系列简介
分体式空调器常见故障_分体式空调器故障的检查方法
什么是薄膜电容?超级电容的工作电路及其原理
华为提5.5G愿景为5G持续演进找准方向
常见笔记本处理器参数及性能对比参照表