0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SparkMLlib中的GBDT算法對(duì)工業(yè)數(shù)據(jù)的代碼實(shí)戰(zhàn)

e星球 ? 來源:工程師曾玲 ? 2019-04-06 13:51 ? 次閱讀

在格物匯之前發(fā)表的《工業(yè)大數(shù)據(jù)挖掘的利器——Spark MLlib》中提到,Spark 的MLlib組件能夠?qū)I(yè)現(xiàn)場(chǎng)海量數(shù)據(jù)進(jìn)行高效挖掘,快速呈現(xiàn)結(jié)果給業(yè)務(wù)分析人員。接下來將向大家介紹SparkMLlib 中的GBDT算法,并將應(yīng)用該算法對(duì)工業(yè)數(shù)據(jù)進(jìn)行代碼實(shí)戰(zhàn)。

1算法概念

GB(Gradient Boosting)梯度提升算法,GB 共需要進(jìn)行M次迭代,通過采用梯度下降的方法,每次迭代向損失函數(shù)的負(fù)梯度方向進(jìn)行移動(dòng),從而使損失函數(shù)越來越小,進(jìn)而使模型越來越精確。算法偽代碼如下:

SparkMLlib中的GBDT算法對(duì)工業(yè)數(shù)據(jù)的代碼實(shí)戰(zhàn)

GB算法跟原始的Boosting算法相比較,還是有比較明顯的區(qū)別。

Boosting算法開始的時(shí)候,是會(huì)給每個(gè)樣本附上權(quán)重的,在每次迭代的時(shí)候就會(huì)增加錯(cuò)的樣本的權(quán)重,減少對(duì)的樣本的權(quán)重,經(jīng)過N次迭代之后,會(huì)得到N個(gè)分類器,然后我們?cè)賹⑺麄兘M合起來,得到最終模型。

GB算法與Boosting區(qū)別是,他的每一次迭代的目標(biāo)都是減少上一次的殘差,所以在殘差減少的方向上建立一個(gè)新的模型。在GB算法框架上加入決策樹,就是GBDT(GradientBoost Decision Tree)算法。

GBDT主要的優(yōu)點(diǎn)有:

1) 可以靈活處理各種類型的數(shù)據(jù),包括連續(xù)值和離散值。

2) 在相對(duì)少的調(diào)參時(shí)間情況下,預(yù)測(cè)的準(zhǔn)備率也可以比較高。這個(gè)是相對(duì)SVM來說的。

3)使用一些健壯的損失函數(shù),對(duì)異常值的魯棒性非常強(qiáng)。比如 Huber損失函數(shù)和Quantile損失函數(shù)。

4) 很好的利用了弱分類器進(jìn)行級(jí)聯(lián)。

5) 充分考慮的每個(gè)分類器的權(quán)重。

6) 可以得到變量間的重要性排序。

GBDT的主要缺點(diǎn)有:

1)由于弱學(xué)習(xí)器之間存在依賴關(guān)系,難以并行訓(xùn)練數(shù)據(jù),不過可以通過自采樣的SGBT來達(dá)到部分并行。

2完整代碼實(shí)例

工業(yè)生產(chǎn)中,產(chǎn)品在制程過程中會(huì)有很多特性值,如果能對(duì)產(chǎn)品的特性值及時(shí)進(jìn)行預(yù)測(cè),得到特性值的具體數(shù)值,那么就會(huì)幫組業(yè)務(wù)人員知曉產(chǎn)品的質(zhì)量,實(shí)現(xiàn)產(chǎn)品的全檢,并能防止異常產(chǎn)品后流,造成不必要的浪費(fèi)。

本次實(shí)戰(zhàn)代碼的采用的數(shù)據(jù)是半導(dǎo)體制程中某一道工序的機(jī)臺(tái)的制程參數(shù)值,通過采用SparkMLlib中的GBDT算法對(duì)工業(yè)現(xiàn)場(chǎng)機(jī)臺(tái)的制程參數(shù)進(jìn)行建模,預(yù)測(cè)出經(jīng)過該機(jī)臺(tái)生產(chǎn)之后產(chǎn)品的膜層厚度。

SparkMLlib中的GBDT算法對(duì)工業(yè)數(shù)據(jù)的代碼實(shí)戰(zhàn)

SparkMLlib中的GBDT算法對(duì)工業(yè)數(shù)據(jù)的代碼實(shí)戰(zhàn)

SparkMLlib中的GBDT算法對(duì)工業(yè)數(shù)據(jù)的代碼實(shí)戰(zhàn)

SparkMLlib中的GBDT算法對(duì)工業(yè)數(shù)據(jù)的代碼實(shí)戰(zhàn)

模型最后輸出模型性能指標(biāo)如下:

Mape(Mean Absolute Percentage Error):0.23%

SparkMLlib中的GBDT算法對(duì)工業(yè)數(shù)據(jù)的代碼實(shí)戰(zhàn)

通過上圖模型輸出的預(yù)測(cè)值與實(shí)際值對(duì)比,發(fā)現(xiàn)預(yù)測(cè)出來的產(chǎn)品膜厚的數(shù)值走勢(shì)跟實(shí)際數(shù)值走勢(shì)基本符合,mape達(dá)到0.5%以內(nèi),擬合度相當(dāng)可觀,后續(xù)還可以通過樣本篩選以及特征工程等手段對(duì)該模型進(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算法的用途還是比較廣泛的,它不僅可以處理分類問題,能對(duì)線性與非線性回歸問題進(jìn)行處理,還能通過輸出變量間重要因子排序,方便業(yè)務(wù)人員快速定位異常變量。在工業(yè)現(xiàn)場(chǎng)的頑固異常分析還是產(chǎn)品特性預(yù)測(cè)等領(lǐng)域,GBDT算法確實(shí)是很值得數(shù)據(jù)分析人員考慮的一種算法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4591

    瀏覽量

    92517
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    8856

    瀏覽量

    137222

原文標(biāo)題:一文快速讀懂自動(dòng)駕駛傳感器與其市場(chǎng)趨勢(shì)

文章出處:【微信號(hào):electronicaChina,微信公眾號(hào):e星球】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    GBDT算法原理和模型訓(xùn)練

    算法原理再講GBDT之前先給大家講個(gè)故事,有一個(gè)年輕的阿姨今年50歲,現(xiàn)在我們不知道她的真實(shí)年齡,我們想通過他的皮膚、穿著打扮、頭發(fā)顏色、言行舉止、面部特征來推測(cè)她的真實(shí)年齡,假如我們根據(jù)這些輸入
    發(fā)表于 01-23 14:38

    數(shù)據(jù)分析與挖掘實(shí)戰(zhàn)》總結(jié)及代碼---chap3數(shù)據(jù)探索

    數(shù)據(jù)分析與挖掘實(shí)戰(zhàn)》總結(jié)及代碼練習(xí)---chap3 數(shù)據(jù)探索
    發(fā)表于 05-25 13:25

    LabVIEW與數(shù)據(jù)庫(kù)實(shí)戰(zhàn)教學(xué)

    LabVIEW與數(shù)據(jù)庫(kù)實(shí)戰(zhàn)教學(xué)可有效解決問題如下:1、解決工業(yè)現(xiàn)場(chǎng)MES系統(tǒng)數(shù)據(jù)的上傳問題。2、可快速開發(fā)上位機(jī)
    發(fā)表于 03-24 09:07

    《Arduino與LabVIEW開發(fā)實(shí)戰(zhàn)》配套代碼

    《Arduino與LabVIEW開發(fā)實(shí)戰(zhàn)》配套代碼
    發(fā)表于 03-23 16:00 ?28次下載

    基于GBDT個(gè)人信用評(píng)估方法

    近年來,個(gè)人信用評(píng)估問題成為信貸行業(yè)的研究熱點(diǎn),針對(duì)當(dāng)前應(yīng)用于信用評(píng)估的分類算法大多存在只對(duì)某種類型的信用數(shù)據(jù)集具有較好的分類效果的問題,提出了基于Cradient BoostedDecision
    發(fā)表于 11-03 17:27 ?2次下載
    基于<b class='flag-5'>GBDT</b>個(gè)人信用評(píng)估方法

    代碼實(shí)例及詳細(xì)資料帶你入門Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)

    本文結(jié)合代碼實(shí)例待你上手python數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)技術(shù)。 本文包含了五個(gè)知識(shí)點(diǎn): 1. 數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)技術(shù)簡(jiǎn)介 2. Python數(shù)據(jù)預(yù)處理
    的頭像 發(fā)表于 03-03 10:10 ?3332次閱讀

    SparkMLlib GBDT算法工業(yè)大數(shù)據(jù)實(shí)戰(zhàn)

    SparkMLlib GBDT算法,并將應(yīng)用該算法對(duì)工業(yè)
    的頭像 發(fā)表于 04-28 14:11 ?3773次閱讀
    <b class='flag-5'>SparkMLlib</b> <b class='flag-5'>GBDT</b><b class='flag-5'>算法</b><b class='flag-5'>工業(yè)大數(shù)據(jù)實(shí)戰(zhàn)</b>

    GBDT算法原理以及實(shí)例理解

    GBDT 的全稱是 Gradient Boosting Decision Tree,梯度提升樹,在傳統(tǒng)機(jī)器學(xué)習(xí)算法,GBDT算的上TOP3的算法
    的頭像 發(fā)表于 04-28 16:47 ?2.8w次閱讀
    <b class='flag-5'>GBDT</b><b class='flag-5'>算法</b>原理以及實(shí)例理解

    XGBoost原理概述 XGBoost和GBDT的區(qū)別

    相比于經(jīng)典的GBDT,xgboost做了一些改進(jìn),從而在效果和性能上有明顯的提升。
    的頭像 發(fā)表于 07-16 18:54 ?7.9w次閱讀
    XGBoost原理概述 XGBoost和<b class='flag-5'>GBDT</b>的區(qū)別

    SparkMLlib GBDT算法工業(yè)大數(shù)據(jù)實(shí)戰(zhàn)案例

    在格物匯之前發(fā)表的《工業(yè)大數(shù)據(jù)挖掘的利器——Spark MLlib》中提到,Spark 的MLlib組件能夠?qū)?b class='flag-5'>工業(yè)現(xiàn)場(chǎng)海量數(shù)據(jù)進(jìn)行高效挖掘,快速呈現(xiàn)結(jié)果給業(yè)務(wù)分析人員。接下來將向大家介紹Spa
    的頭像 發(fā)表于 12-25 17:42 ?901次閱讀

    邏輯回歸與GBDT模型各自的原理及優(yōu)缺點(diǎn)

    一、GBDT+LR簡(jiǎn)介 協(xié)同過濾和矩陣分解存在的劣勢(shì)就是僅利用了用戶與物品相互行為信息進(jìn)行推薦, 忽視了用戶自身特征, 物品自身特征以及上下文信息等,導(dǎo)致生成的結(jié)果往往會(huì)比較片面。而這次介紹的這個(gè)
    的頭像 發(fā)表于 12-26 10:01 ?1.2w次閱讀
    邏輯回歸與<b class='flag-5'>GBDT</b>模型各自的原理及優(yōu)缺點(diǎn)

    GBDT是如何用于分類的

    -?https://www.cnblogs.com/always-fight/p/9400346.html 編輯:阿澤的學(xué)習(xí)筆記 ? 一 簡(jiǎn)介 GBDT 在傳統(tǒng)機(jī)器學(xué)習(xí)算法里面是對(duì)真實(shí)分布擬合的最好
    的頭像 發(fā)表于 12-26 10:30 ?3122次閱讀
    <b class='flag-5'>GBDT</b>是如何用于分類的

    機(jī)器學(xué)習(xí)實(shí)戰(zhàn)的源代碼資料合集

    本文檔機(jī)器學(xué)習(xí)實(shí)戰(zhàn)的源代碼資料合集
    發(fā)表于 03-01 09:28 ?51次下載
    機(jī)器學(xué)習(xí)<b class='flag-5'>實(shí)戰(zhàn)</b>的源<b class='flag-5'>代碼</b>資料合集

    大學(xué)課程 數(shù)據(jù)分析 實(shí)戰(zhàn)之K-means算法(2)算法代碼

    分組成! %% 尋找聚類中心 while 1 ? ? count = zeros(2,1); 原文標(biāo)題:大學(xué)課程 數(shù)據(jù)分析 實(shí)戰(zhàn)之K-means算法(2)算法
    的頭像 發(fā)表于 02-11 07:20 ?428次閱讀

    Python編程實(shí)戰(zhàn)(源代碼)

    [源代碼]Python編程實(shí)戰(zhàn) 妙趣橫生的項(xiàng)目之旅
    發(fā)表于 06-06 17:49 ?3次下載