日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

xgboost算法_XGBoost算法可能会长期占据你的视野!

發(fā)布時(shí)間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xgboost算法_XGBoost算法可能会长期占据你的视野! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
點(diǎn)擊上方關(guān)注,All in AI中國(guó)

我仍然記得十五年前第一份工作的第一天,我剛剛完成了我的研究生課程,并以分析師的身份加入了一家全球投資銀行。在上班的第一天,我還是很緊張的,我經(jīng)常會(huì)有的小動(dòng)作就是會(huì)時(shí)常拉一下我的領(lǐng)帶,我一直在腦海中回憶我曾經(jīng)學(xué)過(guò)的一切知識(shí),同時(shí)也考慮是不是能夠給我的企業(yè)帶來(lái)一些價(jià)值。然而,感受到我的焦慮之后,我的老板表示,“不需要擔(dān)心,你只要知道回歸模型就好了。”

我當(dāng)時(shí)確實(shí)只考慮這一個(gè)問(wèn)題,事實(shí)證明,我的老板是很正確的,當(dāng)時(shí),回歸建模是無(wú)可爭(zhēng)議的預(yù)測(cè)分析女王,我當(dāng)時(shí)專(zhuān)門(mén)建立了基于回歸的統(tǒng)計(jì)模型,快近十五年之后,回歸建模的時(shí)代已經(jīng)結(jié)束了,老女王的日子也已經(jīng)過(guò)去了,新女王的名字也逐漸誕生了,很長(zhǎng)很長(zhǎng):XGBoost或Extreme Gradient Boosting!

什么是XGBoost?

XGBoost是一種基于決策樹(shù)的集成機(jī)器學(xué)習(xí)算法,它使用的是梯度增強(qiáng)框架。在涉及非結(jié)構(gòu)化數(shù)據(jù)(圖像、文本等)的預(yù)測(cè)問(wèn)題中,人工神經(jīng)網(wǎng)絡(luò)傾向于優(yōu)于所有其他算法或框架。但是,當(dāng)涉及到中小型結(jié)構(gòu)/表格數(shù)據(jù)時(shí),基于決策樹(shù)的算法現(xiàn)在被認(rèn)為是同類(lèi)最佳的。可以參閱下面的圖表,了解多年來(lái)基于樹(shù)的算法的演變。

決策樹(shù)的XGBoost算法演化

XGBoost算法是作為華盛頓大學(xué)的研究項(xiàng)目開(kāi)發(fā)的。陳天奇和Carlos Guestrin在2016年的SIGKDD會(huì)議上發(fā)表了他們的論文,并在機(jī)器學(xué)習(xí)的領(lǐng)域掀起了轟動(dòng)。自推出以來(lái),該算法不僅贏得了眾多Kaggle比賽的勝利,而且還成為幾個(gè)尖端行業(yè)應(yīng)用的引擎驅(qū)動(dòng)力。此外,有一個(gè)強(qiáng)大的數(shù)據(jù)科學(xué)家社區(qū)為XGBoost開(kāi)源項(xiàng)目做出貢獻(xiàn),在GitHub上有大約350個(gè)貢獻(xiàn)者和大約3,600個(gè)提交。該算法通過(guò)以下方式區(qū)分自己:

  • 廣泛的應(yīng)用:可用于解決回歸、分類(lèi)、排名和用戶(hù)定義的預(yù)測(cè)問(wèn)題。
  • 可移植性:在Windows、Linux和OS X上運(yùn)行順暢。
  • 語(yǔ)言:支持所有主要的編程語(yǔ)言,包括C ++、Python、R、Java、Scala和Julia。
  • 云集成:支持AWS、Azure和Yarn集群,適用于Flink、Spark和其他生態(tài)系統(tǒng)。
  • 如何為XGBoost建立直覺(jué)?

    決策樹(shù)形式最簡(jiǎn)單,是易于可視化和可解釋的算法,但建立下一代基于樹(shù)的算法的直覺(jué)可能有點(diǎn)棘手。請(qǐng)參閱下面的簡(jiǎn)單類(lèi)比,以更好地了解基于樹(shù)的算法的演變。

    想象一下,你是一名招聘經(jīng)理,面試幾位具有優(yōu)秀資歷的候選人。基于樹(shù)的算法演變的每一步都可以看作是訪談過(guò)程的一個(gè)版本。

  • 決策樹(shù):每個(gè)招聘經(jīng)理都有一套標(biāo)準(zhǔn),如教育水平、經(jīng)驗(yàn)?zāi)陻?shù)、面試表現(xiàn)。決策樹(shù)類(lèi)似于招聘經(jīng)理根據(jù)他或她自己的標(biāo)準(zhǔn)面試候選人。
  • 套袋法:現(xiàn)在想象一下,不是一個(gè)面試官,現(xiàn)在有一個(gè)面試小組,每個(gè)面試官都有一票。套袋法涉及通過(guò)民主投票過(guò)程將來(lái)自所有調(diào)查員的輸入結(jié)合起來(lái)以做出最終決定。
  • 隨機(jī)森林:它是一種基于裝袋的算法,其關(guān)鍵區(qū)別在于隨機(jī)選擇的特征子集。換句話(huà)說(shuō),每位面試官只會(huì)對(duì)被面試者進(jìn)行隨機(jī)選擇的資格測(cè)試(例如,測(cè)試編程技能的技術(shù)面試和評(píng)估非技術(shù)技能的行為面試)。
  • 提升:這是一種替代方法,每位面試官根據(jù)前一位面試官的反饋改變?cè)u(píng)估標(biāo)準(zhǔn)。通過(guò)部署更加動(dòng)態(tài)的評(píng)估流程,“提高”面試流程的效率。
  • 梯度提升:通過(guò)梯度下降算法將誤差降至最小的一種特殊情況。戰(zhàn)略咨詢(xún)公司利用案例訪談來(lái)剔除不太合格的候選人。
  • XGBoost:將XGBoost視為'類(lèi)固醇'的梯度增強(qiáng)(因此有人稱(chēng)之為'極端梯度提升')!它是軟件和硬件優(yōu)化技術(shù)的完美結(jié)合,可在最短的時(shí)間內(nèi)使用較少的計(jì)算資源產(chǎn)生出色的結(jié)果。
  • 為什么XGBoost表現(xiàn)如此之好?

    XGBoost和Gradient Boosting Machines(GBMs)都是集合樹(shù)方法,它們應(yīng)用了使用梯度下降架構(gòu)來(lái)提升弱學(xué)習(xí)者(通常是CART)的原理。但是,XGBoost通過(guò)系統(tǒng)優(yōu)化和算法增強(qiáng)改進(jìn)了基礎(chǔ)GBM框架。

    XGBoost如何優(yōu)化標(biāo)準(zhǔn)GBM算法

    系統(tǒng)優(yōu)化:

  • 并行化:XGBoost使用并行化實(shí)現(xiàn)來(lái)處理順序樹(shù)構(gòu)建過(guò)程。由于用于構(gòu)建基礎(chǔ)學(xué)習(xí)者的循環(huán)的可互換性,這是可能的。枚舉樹(shù)的葉節(jié)點(diǎn)的外部循環(huán)以及計(jì)算特征的第二個(gè)內(nèi)部循環(huán)。這種循環(huán)嵌套限制了并行化,因?yàn)闆](méi)有完成內(nèi)部循環(huán)(對(duì)兩者的計(jì)算要求更高),外部循環(huán)無(wú)法啟動(dòng)。因此,為了改善運(yùn)行時(shí)間,使用初始化通過(guò)所有實(shí)例的全局掃描和使用并行線程排序來(lái)交換循環(huán)的順序。此開(kāi)關(guān)通過(guò)抵消計(jì)算中的任何并行化開(kāi)銷(xiāo)來(lái)提高算法性能。
  • 剪枝:GBM框架內(nèi)樹(shù)分裂的停止標(biāo)準(zhǔn)本質(zhì)上是貪婪的,取決于分裂點(diǎn)的負(fù)損失標(biāo)準(zhǔn)。 XGBoost首先使用'max_depth'參數(shù)而不是標(biāo)準(zhǔn),然后開(kāi)始向后修剪樹(shù)。這種“深度優(yōu)先”方法顯著提高了計(jì)算性能。
  • 硬件優(yōu)化:該算法旨在有效利用硬件資源。這是通過(guò)在每個(gè)線程中分配內(nèi)部緩沖區(qū)來(lái)存儲(chǔ)梯度統(tǒng)計(jì)信息來(lái)實(shí)現(xiàn)緩存感知來(lái)實(shí)現(xiàn)的。諸如“核外”計(jì)算等進(jìn)一步增強(qiáng)功能可優(yōu)化可用磁盤(pán)空間,同時(shí)處理不適合內(nèi)存的大數(shù)據(jù)幀。
  • 算法增強(qiáng)功能:

  • 正則化:它通過(guò)LASSO(L1)和Ridge(L2)正則化來(lái)懲罰更復(fù)雜的模型,以防止過(guò)度擬合。
  • 稀疏性意識(shí):XGBoost通過(guò)根據(jù)訓(xùn)練損失自動(dòng)“學(xué)習(xí)”最佳缺失值,自然地允許輸入的稀疏特性,并更有效地處理數(shù)據(jù)中不同類(lèi)型的稀疏模式。
  • 加權(quán)分位數(shù)草圖:XGBoost采用分布式加權(quán)分位數(shù)草圖算法有效地找到加權(quán)數(shù)據(jù)集中的最優(yōu)分裂點(diǎn)。
  • 交叉驗(yàn)證:該算法在每次迭代時(shí)都帶有內(nèi)置的交叉驗(yàn)證方法,無(wú)需顯式編程此搜索,并指定單次運(yùn)行所需的增強(qiáng)迭代的確切數(shù)量。
  • 證據(jù)在哪里?

    我們使用Scikit-learn的'Make_Classification'數(shù)據(jù)包創(chuàng)建了一個(gè)包含20個(gè)特征(2個(gè)信息和2個(gè)冗余)的100萬(wàn)個(gè)數(shù)據(jù)點(diǎn)的隨機(jī)樣本。我們測(cè)試了幾種算法,如Logistic回歸、隨機(jī)森林、標(biāo)準(zhǔn)梯度提升和XGBoost。

    使用SKLearn的Make_Classification數(shù)據(jù)集的XGBoost與其他ML算法

    如上圖所示,與其他算法相比,XGBoost模型具有預(yù)測(cè)性能和處理時(shí)間的最佳組合。其他嚴(yán)格的基準(zhǔn)研究也產(chǎn)生了類(lèi)似的結(jié)果。難怪XGBoost在最近的數(shù)據(jù)科學(xué)競(jìng)賽中被廣泛使用。

    那么我們應(yīng)該一直只使用XGBoost嗎?

    談到機(jī)器學(xué)習(xí)(甚至是生活),沒(méi)有免費(fèi)的午餐!作為數(shù)據(jù)科學(xué)家,我們必須測(cè)試所有可能的數(shù)據(jù)算法,以確定冠軍算法。此外,選擇正確的算法是不夠的,我們還必須通過(guò)調(diào)整超參數(shù)為數(shù)據(jù)集選擇正確的算法配置。此外,選擇獲勝算法還有其他幾個(gè)考慮因素,例如計(jì)算復(fù)雜性、可解釋性和易于實(shí)現(xiàn)。這正是機(jī)器學(xué)習(xí)開(kāi)始從科學(xué)走向藝術(shù)的地步,但老實(shí)說(shuō),這就是魔術(shù)發(fā)生的地方!

    未來(lái)該何去何從?

    機(jī)器學(xué)習(xí)是一個(gè)非常活躍的研究領(lǐng)域,已經(jīng)有幾種可行的XGBoost替代方案。微軟研究院最近發(fā)布了LightGBM框架,用于梯度增強(qiáng),顯示出巨大的潛力。由Yandex Technology開(kāi)發(fā)的CatBoost已經(jīng)提供了令人印象深刻的基準(zhǔn)測(cè)試結(jié)果。我們有一個(gè)更好的模型框架,在預(yù)測(cè)性能、靈活性、可解釋性和實(shí)用性方面優(yōu)于XGBoost,這是一個(gè)時(shí)間問(wèn)題。然而,直到一個(gè)強(qiáng)大的挑戰(zhàn)者出現(xiàn),XGBoost將繼續(xù)統(tǒng)治機(jī)器學(xué)習(xí)世界!

    編譯出品

    總結(jié)

    以上是生活随笔為你收集整理的xgboost算法_XGBoost算法可能会长期占据你的视野!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。