定制化设计一站式临时空间解决方案
高端产品行业领先进口生产线
核心技术装配式移动建筑系统
在格物汇之前公开发表的《工业大数据挖掘的利器——SparkMLlib》中提及,Spark的MLlib组件需要对工业现场海量数据展开高效挖出,较慢呈现出结果给业务分析人员。接下来将向大家讲解SparkMLlib中的GBDT算法,并将应用于该算法对工业数据展开代码空战。1算法概念GB(GradientBoosting)梯度提高算法,GB共必须展开M次递归,通过使用梯度上升的方法,每次递归向损失函数的负梯度方向展开移动,从而使损失函数更加小,进而使模型更加准确。算法伪代码如下:GB算法跟完整的Boosting算法相比较,还是有较为显著的区别。
Boosting算法开始的时候,是不会给每个样本附上权重的,在每次递归的时候就不会减少错的样本的权重,增加对的样本的权重,经过N次递归之后,不会获得N个分类器,然后我们再行将他们人组一起,获得最后模型。GB算法与Boosting区别是,他的每一次递归的目标都是增加上一次的残差,所以在残差增加的方向上创建一个新的模型。在GB算法框架上重新加入决策树,就是GBDT(GradientBoostDecisionTree)算法。
GBDT主要的优点有:1)可以灵活处理各种类型的数据,还包括倒数值和线性值。2)在比较较少的徵荐时间情况下,预测的打算亲率也可以较为低。这个是比较SVM来说的。3)用于一些强壮的损失函数,对出现异常值的鲁棒性十分强劲。
比如Huber损失函数和Quantile损失函数。4)很好的利用了弱分类器展开级联。5)充分考虑的每个分类器的权重。
6)可以获得变量间的重要性排序。GBDT的主要缺点有:1)由于很弱自学器之间不存在倚赖关系,无法分段训练数据,不过可以通过自取样的SGBT来超过部分分段。2原始代码实例工业生产中,产品在制程过程中会有很多特性值,如果能对产品的特性值及时展开预测,获得特性值的明确数值,那么就不会老大两组业务人员知悉产品的质量,构建产品的全检,并能避免出现异常产品后流,导致不必要的浪费。
本次空战代码的使用的数据是半导体制程中某一道工序的机台的制程参数值,通过使用SparkMLlib中的GBDT算法对工业现场机台的制程参数展开建模,预测出经过该机台生产之后产品的膜层厚度。模型最后输入模型性能指标如下:Mape(MeanAbsolutePercentageError):0.23%通过上图模型输入的预测值与实际值对比,找到预测出来的产品膜薄的数值走势跟实际数值走势基本合乎,mape超过0.5%以内,拟合度相当可观,先前还可以通过样本检验以及特征工程等手段对该模型展开更进一步调优。
在模型超过业务市场需求的拟合度等指标后,通过该模型展开部署,构建产品的“动态全检”,从而构建产品质量的全面监控,杜绝出现异常产品后流;与工厂内的抽查系统融合后,减少产品的抽查亲率,提升工厂的效率。GBDT算法的用途还是较为普遍的,它不仅可以处置分类问题,能对线性与非线性重返问题展开处置,还能通过输入变量间最重要因子排序,便利业务人员较慢定位出现异常变量。在工业现场的固执出现异常分析还是产品特性预测等领域,GBDT算法显然是很有一点数据分析人员考虑到的一种算法。
本文来源:白菜网秒送体验金大全-www.acxtl.cn
返回