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

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

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

XGBoost號(hào)稱“比賽奪冠的必備大殺器”,橫掃機(jī)器學(xué)習(xí)競(jìng)賽罕逢敵手

DPVg_AI_era ? 來(lái)源:lq ? 2019-04-30 09:01 ? 次閱讀

XGBoost號(hào)稱“比賽奪冠的必備大殺器”,橫掃機(jī)器學(xué)習(xí)競(jìng)賽罕逢敵手,堪稱機(jī)器學(xué)習(xí)算法中的新女王!

在涉及非結(jié)構(gòu)化數(shù)據(jù)(圖像、文本等)的預(yù)測(cè)問(wèn)題中,人工神經(jīng)網(wǎng)絡(luò)顯著優(yōu)于所有其他算法或框架。但當(dāng)涉及到中小型結(jié)構(gòu)/表格數(shù)據(jù)時(shí),基于決策樹的算法現(xiàn)在被認(rèn)為是最佳方法。而基于決策樹算法中最驚艷的,非XGBoost莫屬了。

打過(guò)Kaggle、天池、DataCastle、Kesci等國(guó)內(nèi)外數(shù)據(jù)競(jìng)賽平臺(tái)之后,一定對(duì)XGBoost的威力印象深刻。XGBoost號(hào)稱“比賽奪冠的必備大殺器”,橫掃機(jī)器學(xué)習(xí)競(jìng)賽罕逢敵手。最近甚至有一位大數(shù)據(jù)/機(jī)器學(xué)習(xí)主管被XGBoost在項(xiàng)目中的表現(xiàn)驚艷到,盛贊其為“機(jī)器學(xué)習(xí)算法中的新女王”!

XGBoost最初由陳天奇開發(fā)。陳天奇是華盛頓大學(xué)計(jì)算機(jī)系博士生,研究方向?yàn)榇笠?guī)模機(jī)器學(xué)習(xí)。他曾獲得KDD CUP 2012 Track 1第一名,并開發(fā)了SVDFeature,XGBoost,cxxnet等著名機(jī)器學(xué)習(xí)工具,是Distributed (Deep) Machine Learning Common的發(fā)起人之一。

XGBoost實(shí)現(xiàn)了高效、跨平臺(tái)、分布式gradient boosting (GBDT, GBRT or GBM) 算法的一個(gè)庫(kù),可以下載安裝并應(yīng)用于C++,Python,R,Julia,Java,Scala,Hadoop等。目前Github上超過(guò)15700星、6500個(gè)fork。

項(xiàng)目主頁(yè):

https://XGBoost.ai/

XGBoost是什么

XGBoost全稱:eXtreme Gradient Boosting,是一種基于決策樹的集成機(jī)器學(xué)習(xí)算法,使用梯度上升框架,適用于分類和回歸問(wèn)題。優(yōu)點(diǎn)是速度快、效果好、能處理大規(guī)模數(shù)據(jù)、支持多種語(yǔ)言、支持自定義損失函數(shù)等,不足之處是因?yàn)閮H僅推出了不足5年時(shí)間,需要進(jìn)一步的實(shí)踐檢驗(yàn)。

XGBoost選用了CART樹,數(shù)學(xué)公式表達(dá)XGBoost模型如下:

K是樹的數(shù)量,F(xiàn)表示所有可能的CART樹,f表示一棵具體的CART樹。這個(gè)模型由K棵CART樹組成。

模型的目標(biāo)函數(shù),如下所示:

XGBoost具有以下幾個(gè)特點(diǎn):

靈活性:支持回歸、分類、排名和用戶定義函數(shù)

跨平臺(tái):適用于Windows、Linux、macOS,以及多個(gè)云平臺(tái)

多語(yǔ)言:支持C++, Python, R, Java, Scala, Julia等

效果好:贏得許多數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)挑戰(zhàn)。用于多家公司的生產(chǎn)

云端分布式:支持多臺(tái)計(jì)算機(jī)上的分布式訓(xùn)練,包括AWS、GCE、Azure和Yarn集群??梢耘cFlink、Spark和其他云數(shù)據(jù)流系統(tǒng)集成

下圖顯示了基于樹的算法的發(fā)展歷程:

決策樹:由一個(gè)決策圖和可能的結(jié)果(包括資源成本和風(fēng)險(xiǎn))組成, 用來(lái)創(chuàng)建到達(dá)目標(biāo)的規(guī)劃。

Bagging:是一種集合元算法,通過(guò)多數(shù)投票機(jī)制將來(lái)自多決策樹的預(yù)測(cè)結(jié)合起來(lái),也就是將弱分離器 f_i(x) 組合起來(lái)形成強(qiáng)分類器 F(x) 的一種方法

隨機(jī)森林:基于Bagging算法。隨機(jī)選擇一個(gè)包含多種特性的子集來(lái)構(gòu)建一個(gè)森林,或者決策樹的集合

Boosting:通過(guò)最小化先前模型的誤差,同時(shí)增加高性能模型的影響,順序構(gòu)建模型

梯度上升:對(duì)于似然函數(shù),要求最大值,叫做梯度上升

XGBoost:極端梯度上升,XGBoost是一個(gè)優(yōu)化的分布式梯度上升庫(kù),旨在實(shí)現(xiàn)高效,靈活和跨平臺(tái)

為什么XGBoost能橫掃機(jī)器學(xué)習(xí)競(jìng)賽平臺(tái)?

下圖是XGBoost與其它gradient boosting和bagged decision trees實(shí)現(xiàn)的效果比較,可以看出它比R, Python,Spark,H2O的基準(zhǔn)配置都快。

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

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

并行計(jì)算:

由于用于構(gòu)建base learners的循環(huán)的可互換性,XGBoost可以使用并行計(jì)算實(shí)現(xiàn)來(lái)處理順序樹構(gòu)建過(guò)程。

外部循環(huán)枚舉樹的葉節(jié)點(diǎn),第二個(gè)內(nèi)部循環(huán)來(lái)計(jì)算特征,這個(gè)對(duì)算力要求更高一些。這種循環(huán)嵌套限制了并行化,因?yàn)橹灰獌?nèi)部循環(huán)沒(méi)有完成,外部循環(huán)就無(wú)法啟動(dòng)。

因此,為了改善運(yùn)行時(shí),就可以讓兩個(gè)循環(huán)在內(nèi)部交換循環(huán)的順序。此開關(guān)通過(guò)抵消計(jì)算中的所有并行化開銷來(lái)提高算法性能。

Tree Pruning:

GBM框架內(nèi)樹分裂的停止標(biāo)準(zhǔn)本質(zhì)上是貪婪的,取決于分裂點(diǎn)的負(fù)損失標(biāo)準(zhǔn)。XGBoost首先使用'max_depth'參數(shù)而不是標(biāo)準(zhǔn),然后開始向后修剪樹。這種“深度優(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)化可用磁盤空間,同時(shí)處理不適合內(nèi)存的大數(shù)據(jù)幀。

算法增強(qiáng):

正則化:

它通過(guò)LASSO(L1)和Ridge(L2)正則化來(lái)懲罰更復(fù)雜的模型,以防止過(guò)擬合。

稀疏意識(shí):

XGBoost根據(jù)訓(xùn)練損失自動(dòng)“學(xué)習(xí)”最佳缺失值并更有效地處理數(shù)據(jù)中不同類型的稀疏模式。

加權(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ù)量。

為了測(cè)試XGBoost到底有多快,可以通過(guò)Scikit-learn的'Make_Classification'數(shù)據(jù)包,創(chuàng)建一個(gè)包含20個(gè)特征(2個(gè)信息和2個(gè)冗余)的100萬(wàn)個(gè)數(shù)據(jù)點(diǎn)的隨機(jī)樣本。

下圖為邏輯回歸,隨機(jī)森林,標(biāo)準(zhǔn)梯度提升和XGBoost效率對(duì)比:

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

原文標(biāo)題:陳天奇做的XGBoost為什么能橫掃機(jī)器學(xué)習(xí)競(jìng)賽平臺(tái)?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    傳統(tǒng)機(jī)器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

    在上一篇文章中,我們介紹了機(jī)器學(xué)習(xí)的關(guān)鍵概念術(shù)語(yǔ)。在本文中,我們會(huì)介紹傳統(tǒng)機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)和多種算法特征,供各位老師選擇。 01 傳統(tǒng)機(jī)器
    的頭像 發(fā)表于 12-30 09:16 ?244次閱讀
    傳統(tǒng)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法和應(yīng)用指導(dǎo)

    如何選擇云原生機(jī)器學(xué)習(xí)平臺(tái)

    當(dāng)今,云原生機(jī)器學(xué)習(xí)平臺(tái)因其彈性擴(kuò)展、高效部署、低成本運(yùn)營(yíng)等優(yōu)勢(shì),逐漸成為企業(yè)構(gòu)建和部署機(jī)器學(xué)習(xí)應(yīng)用的首選。然而,市場(chǎng)上的云原生機(jī)器
    的頭像 發(fā)表于 12-25 11:54 ?122次閱讀

    【「嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)」閱讀體驗(yàn)】+ 學(xué)習(xí)一個(gè)STM32的案例

    《嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——第六屆全國(guó)大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計(jì)競(jìng)賽芯片應(yīng)用賽道優(yōu)秀作品剖析》一書的基本情況。今天來(lái)學(xué)習(xí)一個(gè)具體的案例。 這本書中意法半導(dǎo)體的案例是最多的,尤其是第二部分,占比極高,這也
    發(fā)表于 12-06 22:22

    什么是機(jī)器學(xué)習(xí)?通過(guò)機(jī)器學(xué)習(xí)方法能解決哪些問(wèn)題?

    來(lái)源:Master編程樹“機(jī)器學(xué)習(xí)”最初的研究動(dòng)機(jī)是讓計(jì)算機(jī)系統(tǒng)具有人的學(xué)習(xí)能力以便實(shí)現(xiàn)人工智能。因?yàn)闆](méi)有學(xué)習(xí)能力的系統(tǒng)很難被認(rèn)為是具有智能的。目前被廣泛采用的
    的頭像 發(fā)表于 11-16 01:07 ?443次閱讀
    什么是<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>?通過(guò)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法能解決哪些問(wèn)題?

    NPU與機(jī)器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機(jī)器學(xué)習(xí)算法是實(shí)現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對(duì)計(jì)算資源的需求也在不斷增長(zhǎng)。NPU作為一種專門為深度學(xué)習(xí)機(jī)器
    的頭像 發(fā)表于 11-15 09:19 ?504次閱讀

    入門?畢設(shè)?競(jìng)賽?項(xiàng)目練手?STM32/嵌入式/物聯(lián)網(wǎng)學(xué)習(xí),有這幾款開發(fā)板就夠了!

    、項(xiàng)目練手、創(chuàng)新競(jìng)賽、技能認(rèn)證等。01STM32入門+項(xiàng)目進(jìn)階學(xué)習(xí)適用場(chǎng)合高校教學(xué)、學(xué)生畢設(shè)、個(gè)人學(xué)習(xí)、項(xiàng)目練手、創(chuàng)新競(jìng)賽、技術(shù)認(rèn)證可學(xué)習(xí)
    的頭像 發(fā)表于 10-10 16:31 ?340次閱讀
    入門?畢設(shè)?<b class='flag-5'>競(jìng)賽</b>?項(xiàng)目練手?STM32/嵌入式/物聯(lián)網(wǎng)<b class='flag-5'>學(xué)習(xí)</b>,有這幾款開發(fā)板就夠了!

    AMD贊助多支FIRST機(jī)器競(jìng)賽團(tuán)隊(duì)

    AMD 在 2024 賽季贊助了多支 FIRST 機(jī)器競(jìng)賽團(tuán)隊(duì)。FIRST 機(jī)器競(jìng)賽旨在教導(dǎo)高中生如何構(gòu)建能夠執(zhí)行特定任務(wù)的機(jī)器人,同時(shí)
    的頭像 發(fā)表于 09-18 09:45 ?461次閱讀

    20.2-電磁桿在磁軌道的測(cè)試 零基礎(chǔ)入門智能車競(jìng)賽 STM32電磁小車

    20.2-電磁桿在磁軌道的測(cè)試 零基礎(chǔ)入門智能車競(jìng)賽 智能車競(jìng)賽 電磁桿原理圖 電磁循跡小車 智能車電磁組 STM32電磁小車 電磁循跡小車 電磁循跡算法 智能車環(huán)島 智能車比賽規(guī)則 智能車競(jìng)
    的頭像 發(fā)表于 08-20 10:52 ?675次閱讀
    20.2-電磁桿在磁軌道的測(cè)試 零基礎(chǔ)入門智能車<b class='flag-5'>競(jìng)賽</b> STM32電磁小車

    機(jī)器學(xué)習(xí)算法原理詳解

    機(jī)器學(xué)習(xí)作為人工智能的一個(gè)重要分支,其目標(biāo)是通過(guò)讓計(jì)算機(jī)自動(dòng)從數(shù)據(jù)中學(xué)習(xí)并改進(jìn)其性能,而無(wú)需進(jìn)行明確的編程。本文將深入解讀幾種常見的機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 07-02 11:25 ?1128次閱讀

    深度學(xué)習(xí)與傳統(tǒng)機(jī)器學(xué)習(xí)的對(duì)比

    在人工智能的浪潮中,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)無(wú)疑是兩大核心驅(qū)動(dòng)力。它們各自以其獨(dú)特的方式推動(dòng)著技術(shù)的進(jìn)步,為眾多領(lǐng)域帶來(lái)了革命性的變化。然而,盡管它們都屬于機(jī)器
    的頭像 發(fā)表于 07-01 11:40 ?1423次閱讀

    2020-2022-2024年TI杯全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽官方推薦芯片對(duì)比分析比較

    2020-2022-2024年TI杯全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽官方推薦芯片對(duì)比分析比較 一年一度的TI杯全國(guó)大學(xué)生設(shè)計(jì)競(jìng)賽又正式拉開帷幕,器件清單一出來(lái)又忍不住對(duì)2024、2022年和2020年共3年
    發(fā)表于 06-25 10:25

    格靈深瞳斬獲首屆花樣滑冰動(dòng)作識(shí)別競(jìng)賽奪冠

    近日,第一屆花樣滑冰動(dòng)作識(shí)別挑戰(zhàn)賽公布了本次競(jìng)賽的結(jié)果,格靈深瞳憑借領(lǐng)先的算法能力斬獲了冠軍,并包攬了本次挑戰(zhàn)賽的前兩名。
    的頭像 發(fā)表于 05-13 14:04 ?425次閱讀
    格靈深瞳斬獲首屆花樣滑冰動(dòng)作識(shí)別<b class='flag-5'>競(jìng)賽</b><b class='flag-5'>奪冠</b>

    蘇州金龍榮獲首屆無(wú)人掃地機(jī)器人演示比賽“競(jìng)技領(lǐng)跑獎(jiǎng)”

    4月30日,2024年蘇州市首屆無(wú)人掃地機(jī)器人演示比賽在高新區(qū)思益街展開比拼。五家企業(yè)參賽在道路上實(shí)地比拼無(wú)人掃地機(jī)器人技術(shù),通過(guò)清掃垃圾、識(shí)別路障等環(huán)節(jié)展現(xiàn)城市清潔的“未來(lái)場(chǎng)景”。經(jīng)過(guò)角逐,蘇州
    的頭像 發(fā)表于 05-07 09:10 ?271次閱讀
    蘇州金龍榮獲首屆無(wú)人掃地<b class='flag-5'>機(jī)器</b>人演示<b class='flag-5'>比賽</b>“競(jìng)技領(lǐng)跑獎(jiǎng)”

    人工智能和機(jī)器學(xué)習(xí)的頂級(jí)開發(fā)板有哪些?

    機(jī)器學(xué)習(xí)(ML)和人工智能(AI)不再局限于高端服務(wù)或云平臺(tái)。得益于集成電路(IC)和軟件技術(shù)的新發(fā)展,在微型控制和微型計(jì)算機(jī)上實(shí)現(xiàn)機(jī)器
    的頭像 發(fā)表于 02-29 18:59 ?851次閱讀
    人工智能和<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的頂級(jí)開發(fā)板有哪些?

    【技術(shù)科普】主流的深度學(xué)習(xí)模型有哪些?AI開發(fā)工程師必備

    深度學(xué)習(xí)在科學(xué)計(jì)算中獲得了廣泛的普及,其算法被廣泛用于解決復(fù)雜問(wèn)題的行業(yè)。所有深度學(xué)習(xí)算法都使用不同類型的神經(jīng)網(wǎng)絡(luò)來(lái)執(zhí)行特定任務(wù)。 什么是深度學(xué)習(xí) 深度學(xué)習(xí)
    的頭像 發(fā)表于 01-30 15:26 ?643次閱讀
    【技術(shù)科普】主流的深度<b class='flag-5'>學(xué)習(xí)</b>模型有哪些?AI開發(fā)工程師<b class='flag-5'>必備</b>!