SparkMLlib GBDT算法工業(yè)大數(shù)據(jù)實(shí)戰(zhàn)
在格物匯之前發(fā)表的《工業(yè)大數(shù)據(jù)挖掘的利器——Spark MLlib》中提到,Spark 的MLlib組件能夠?qū)I(yè)現(xiàn)場海量數(shù)據(jù)進(jìn)行高效挖掘,快速呈現(xiàn)結(jié)果給業(yè)務(wù)分析人員。接下來將向大家介紹SparkMLlib 中的GBDT算法,并將應(yīng)用該算法對工業(yè)數(shù)據(jù)進(jìn)行代碼實(shí)戰(zhàn)。
1算法概念
GB(Gradient Boosting)梯度提升算法,GB 共需要進(jìn)行M次迭代,通過采用梯度下降的方法,每次迭代向損失函數(shù)的負(fù)梯度方向進(jìn)行移動,從而使損失函數(shù)越來越小,進(jìn)而使模型越來越精確。算法偽代碼如下:
GB算法跟原始的Boosting算法相比較,還是有比較明顯的區(qū)別。
Boosting算法開始的時(shí)候,是會給每個樣本附上權(quán)重的,在每次迭代的時(shí)候就會增加錯的樣本的權(quán)重,減少對的樣本的權(quán)重,經(jīng)過N次迭代之后,會得到N個分類器,然后我們再將他們組合起來,得到最終模型。
GB算法與Boosting區(qū)別是,他的每一次迭代的目標(biāo)都是減少上一次的殘差,所以在殘差減少的方向上建立一個新的模型。在GB算法框架上加入決策樹,就是GBDT(GradientBoost Decision Tree)算法。
GBDT主要的優(yōu)點(diǎn)有:
1) 可以靈活處理各種類型的數(shù)據(jù),包括連續(xù)值和離散值。
2) 在相對少的調(diào)參時(shí)間情況下,預(yù)測的準(zhǔn)備率也可以比較高。這個是相對SVM來說的。
3)使用一些健壯的損失函數(shù),對異常值的魯棒性非常強(qiáng)。比如 Huber損失函數(shù)和Quantile損失函數(shù)。
4) 很好的利用了弱分類器進(jìn)行級聯(lián)。
5) 充分考慮的每個分類器的權(quán)重。
6) 可以得到變量間的重要性排序。
GBDT的主要缺點(diǎn)有:
1)由于弱學(xué)習(xí)器之間存在依賴關(guān)系,難以并行訓(xùn)練數(shù)據(jù),不過可以通過自采樣的SGBT來達(dá)到部分并行。
2完整代碼實(shí)例
工業(yè)生產(chǎn)中,產(chǎn)品在制程過程中會有很多特性值,如果能對產(chǎn)品的特性值及時(shí)進(jìn)行預(yù)測,得到特性值的具體數(shù)值,那么就會幫組業(yè)務(wù)人員知曉產(chǎn)品的質(zhì)量,實(shí)現(xiàn)產(chǎn)品的全檢,并能防止異常產(chǎn)品后流,造成不必要的浪費(fèi)。
本次實(shí)戰(zhàn)代碼的采用的數(shù)據(jù)是半導(dǎo)體制程中某一道工序的機(jī)臺的制程參數(shù)值,通過采用SparkMLlib中的GBDT算法對工業(yè)現(xiàn)場機(jī)臺的制程參數(shù)進(jìn)行建模,預(yù)測出經(jīng)過該機(jī)臺生產(chǎn)之后產(chǎn)品的膜層厚度。
模型最后輸出模型性能指標(biāo)如下:
Mape(Mean Absolute Percentage Error):0.23%
通過上圖模型輸出的預(yù)測值與實(shí)際值對比,發(fā)現(xiàn)預(yù)測出來的產(chǎn)品膜厚的數(shù)值走勢跟實(shí)際數(shù)值走勢基本符合,mape達(dá)到0.5%以內(nèi),擬合度相當(dāng)可觀,后續(xù)還可以通過樣本篩選以及特征工程等手段對該模型進(jìn)行進(jìn)一步調(diào)優(yōu)。
在模型達(dá)到業(yè)務(wù)需求的擬合度等指標(biāo)后,通過該模型進(jìn)行部署,實(shí)現(xiàn)產(chǎn)品的“實(shí)時(shí)全檢”,從而實(shí)現(xiàn)產(chǎn)品質(zhì)量的全面監(jiān)控,杜絕異常產(chǎn)品后流;與工廠內(nèi)的抽檢系統(tǒng)結(jié)合后,降低產(chǎn)品的抽檢率,提高工廠的效率。
GBDT算法的用途還是比較廣泛的,它不僅可以處理分類問題,能對線性與非線性回歸問題進(jìn)行處理,還能通過輸出變量間重要因子排序,方便業(yè)務(wù)人員快速定位異常變量。在工業(yè)現(xiàn)場的頑固異常分析還是產(chǎn)品特性預(yù)測等領(lǐng)域,GBDT算法確實(shí)是很值得數(shù)據(jù)分析人員考慮的一種算法。
本文作者:
格創(chuàng)東智大數(shù)據(jù)工程師黃歡(轉(zhuǎn)載請注明作者及來源)
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
即日-5.15立即報(bào)名>>> 【在線會議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評 >> 【評選啟動】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評選
-
5月16日立即參評>> 【評選】維科杯·OFweek2025中國工業(yè)自動化及數(shù)字化行業(yè)年度評選