吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

XGBoost號稱“比賽奪冠的必備大殺器”,橫掃機器學習競賽罕逢敵手

DPVg_AI_era ? 來源:lq ? 2019-04-30 09:01 ? 次閱讀

XGBoost號稱“比賽奪冠的必備大殺器”,橫掃機器學習競賽罕逢敵手,堪稱機器學習算法中的新女王!

在涉及非結構化數據(圖像、文本等)的預測問題中,人工神經網絡顯著優于所有其他算法或框架。但當涉及到中小型結構/表格數據時,基于決策樹的算法現在被認為是最佳方法。而基于決策樹算法中最驚艷的,非XGBoost莫屬了。

打過Kaggle、天池、DataCastle、Kesci等國內外數據競賽平臺之后,一定對XGBoost的威力印象深刻。XGBoost號稱“比賽奪冠的必備大殺器”,橫掃機器學習競賽罕逢敵手。最近甚至有一位大數據/機器學習主管被XGBoost在項目中的表現驚艷到,盛贊其為“機器學習算法中的新女王”!

XGBoost最初由陳天奇開發。陳天奇是華盛頓大學計算機系博士生,研究方向為大規模機器學習。他曾獲得KDD CUP 2012 Track 1第一名,并開發了SVDFeature,XGBoost,cxxnet等著名機器學習工具,是Distributed (Deep) Machine Learning Common的發起人之一。

XGBoost實現了高效、跨平臺、分布式gradient boosting (GBDT, GBRT or GBM) 算法的一個庫,可以下載安裝并應用于C++Python,R,Julia,Java,Scala,Hadoop等。目前Github上超過15700星、6500個fork。

項目主頁:

https://XGBoost.ai/

XGBoost是什么

XGBoost全稱:eXtreme Gradient Boosting,是一種基于決策樹的集成機器學習算法,使用梯度上升框架,適用于分類和回歸問題。優點是速度快、效果好、能處理大規模數據、支持多種語言、支持自定義損失函數等,不足之處是因為僅僅推出了不足5年時間,需要進一步的實踐檢驗。

XGBoost選用了CART樹,數學公式表達XGBoost模型如下:

K是樹的數量,F表示所有可能的CART樹,f表示一棵具體的CART樹。這個模型由K棵CART樹組成。

模型的目標函數,如下所示:

XGBoost具有以下幾個特點:

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

跨平臺:適用于Windows、Linux、macOS,以及多個云平臺

多語言:支持C++, Python, R, Java, Scala, Julia等

效果好:贏得許多數據科學和機器學習挑戰。用于多家公司的生產

云端分布式:支持多臺計算機上的分布式訓練,包括AWS、GCE、Azure和Yarn集群。可以與Flink、Spark和其他云數據流系統集成

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

決策樹:由一個決策圖和可能的結果(包括資源成本和風險)組成, 用來創建到達目標的規劃。

Bagging:是一種集合元算法,通過多數投票機制將來自多決策樹的預測結合起來,也就是將弱分離器 f_i(x) 組合起來形成強分類器 F(x) 的一種方法

隨機森林:基于Bagging算法。隨機選擇一個包含多種特性的子集來構建一個森林,或者決策樹的集合

Boosting:通過最小化先前模型的誤差,同時增加高性能模型的影響,順序構建模型

梯度上升:對于似然函數,要求最大值,叫做梯度上升

XGBoost:極端梯度上升,XGBoost是一個優化的分布式梯度上升庫,旨在實現高效,靈活和跨平臺

為什么XGBoost能橫掃機器學習競賽平臺?

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

XGBoost和Gradient Boosting Machines(GBMs)都是集合樹方法,使用梯度下降架構來提升弱學習者(通常是CART)。而XGBoost通過系統優化和算法增強改進了基礎GBM框架,在系統優化和機器學習原理方面都進行了深入的拓展。

系統優化:

并行計算:

由于用于構建base learners的循環的可互換性,XGBoost可以使用并行計算實現來處理順序樹構建過程。

外部循環枚舉樹的葉節點,第二個內部循環來計算特征,這個對算力要求更高一些。這種循環嵌套限制了并行化,因為只要內部循環沒有完成,外部循環就無法啟動。

因此,為了改善運行時,就可以讓兩個循環在內部交換循環的順序。此開關通過抵消計算中的所有并行化開銷來提高算法性能。

Tree Pruning:

GBM框架內樹分裂的停止標準本質上是貪婪的,取決于分裂點的負損失標準。XGBoost首先使用'max_depth'參數而不是標準,然后開始向后修剪樹。這種“深度優先”方法顯著的提高了計算性能。

硬件優化:

該算法旨在有效利用硬件資源。這是通過在每個線程中分配內部緩沖區來存儲梯度統計信息來實現緩存感知來實現的。諸如“核外”計算等進一步增強功能可優化可用磁盤空間,同時處理不適合內存的大數據幀。

算法增強:

正則化:

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

稀疏意識:

XGBoost根據訓練損失自動“學習”最佳缺失值并更有效地處理數據中不同類型的稀疏模式。

加權分位數草圖:

XGBoost采用分布式加權分位數草圖算法,有效地找到加權數據集中的最優分裂點。

交叉驗證:

該算法每次迭代時都帶有內置的交叉驗證方法,無需顯式編程此搜索,并可以指定單次運行所需的增強迭代的確切數量。

為了測試XGBoost到底有多快,可以通過Scikit-learn的'Make_Classification'數據包,創建一個包含20個特征(2個信息和2個冗余)的100萬個數據點的隨機樣本。

下圖為邏輯回歸,隨機森林,標準梯度提升和XGBoost效率對比:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4781

    瀏覽量

    101175
  • 機器學習
    +關注

    關注

    66

    文章

    8441

    瀏覽量

    133087
  • 大數據
    +關注

    關注

    64

    文章

    8908

    瀏覽量

    137799

原文標題:陳天奇做的XGBoost為什么能橫掃機器學習競賽平臺?

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    xgboost超參數調優技巧 xgboost在圖像分類中的應用

    一、XGBoost超參數調優技巧 XGBoost(eXtreme Gradient Boosting)是一種基于梯度提升決策樹(GBDT)的高效梯度提升框架,在機器學習
    的頭像 發表于 01-31 15:16 ?86次閱讀

    常見xgboost錯誤及解決方案

    XGBoost(eXtreme Gradient Boosting)是一種流行的機器學習算法,用于解決分類和回歸問題。盡管它非常強大和靈活,但在使用過程中可能會遇到一些常見的錯誤。以下是一些常見
    的頭像 發表于 01-19 11:22 ?460次閱讀

    使用Python實現xgboost教程

    使用Python實現XGBoost模型通常涉及以下幾個步驟:數據準備、模型訓練、模型評估和模型預測。以下是一個詳細的教程,指導你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發表于 01-19 11:21 ?400次閱讀

    xgboost與LightGBM的優勢對比

    機器學習領域,集成學習算法因其出色的性能和泛化能力而受到廣泛關注。其中,XGBoost和LightGBM是兩種非常流行的梯度提升框架。 1. 算法基礎
    的頭像 發表于 01-19 11:18 ?389次閱讀

    xgboost的并行計算原理

    在大數據時代,機器學習算法需要處理的數據量日益增長。為了提高數據處理的效率,許多算法都開始支持并行計算。XGBoost作為一種高效的梯度提升樹算法,其并行計算能力是其受歡迎的原因
    的頭像 發表于 01-19 11:17 ?376次閱讀

    xgboost在圖像分類中的應用

    XGBoost(eXtreme Gradient Boosting)是一種高效的機器學習算法,它基于梯度提升框架,通過構建多個弱學習(通常
    的頭像 發表于 01-19 11:16 ?371次閱讀

    如何選擇云原生機器學習平臺

    當今,云原生機器學習平臺因其彈性擴展、高效部署、低成本運營等優勢,逐漸成為企業構建和部署機器學習應用的首選。然而,市場上的云原生機器
    的頭像 發表于 12-25 11:54 ?162次閱讀

    【「嵌入式系統設計與實現」閱讀體驗】+ 學習一個STM32的案例

    《嵌入式系統設計與實現——第六屆全國大學生嵌入式芯片與系統設計競賽芯片應用賽道優秀作品剖析》一書的基本情況。今天來學習一個具體的案例。 這本書中意法半導體的案例是最多的,尤其是第二部分,占比極高,這也
    發表于 12-06 22:22

    什么是機器學習?通過機器學習方法能解決哪些問題?

    來源:Master編程樹“機器學習”最初的研究動機是讓計算機系統具有人的學習能力以便實現人工智能。因為沒有學習能力的系統很難被認為是具有智能的。目前被廣泛采用的
    的頭像 發表于 11-16 01:07 ?512次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>?通過<b class='flag-5'>機器</b><b class='flag-5'>學習</b>方法能解決哪些問題?

    NPU與機器學習算法的關系

    在人工智能領域,機器學習算法是實現智能系統的核心。隨著數據量的激增和算法復雜度的提升,對計算資源的需求也在不斷增長。NPU作為一種專門為深度學習機器
    的頭像 發表于 11-15 09:19 ?600次閱讀

    入門?畢設?競賽?項目練手?STM32/嵌入式/物聯網學習,有這幾款開發板就夠了!

    、項目練手、創新競賽、技能認證等。01STM32入門+項目進階學習適用場合高校教學、學生畢設、個人學習、項目練手、創新競賽、技術認證可學習
    的頭像 發表于 10-10 16:31 ?419次閱讀
    入門?畢設?<b class='flag-5'>競賽</b>?項目練手?STM32/嵌入式/物聯網<b class='flag-5'>學習</b>,有這幾款開發板就夠了!

    AMD贊助多支FIRST機器競賽團隊

    AMD 在 2024 賽季贊助了多支 FIRST 機器競賽團隊。FIRST 機器競賽旨在教導高中生如何構建能夠執行特定任務的機器人,同時
    的頭像 發表于 09-18 09:45 ?510次閱讀

    20.2-電磁桿在磁軌道的測試 零基礎入門智能車競賽 STM32電磁小車

    20.2-電磁桿在磁軌道的測試 零基礎入門智能車競賽 智能車競賽 電磁桿原理圖 電磁循跡小車 智能車電磁組 STM32電磁小車 電磁循跡小車 電磁循跡算法 智能車環島 智能車比賽規則 智能車
    的頭像 發表于 08-20 10:52 ?720次閱讀
    20.2-電磁桿在磁軌道的測試 零基礎入門智能車<b class='flag-5'>競賽</b> STM32電磁小車

    深度學習與傳統機器學習的對比

    在人工智能的浪潮中,機器學習和深度學習無疑是兩大核心驅動力。它們各自以其獨特的方式推動著技術的進步,為眾多領域帶來了革命性的變化。然而,盡管它們都屬于機器
    的頭像 發表于 07-01 11:40 ?1540次閱讀

    蘇州金龍榮獲首屆無人掃地機器人演示比賽“競技領跑獎”

    4月30日,2024年蘇州市首屆無人掃地機器人演示比賽在高新區思益街展開比拼。五家企業參賽在道路上實地比拼無人掃地機器人技術,通過清掃垃圾、識別路障等環節展現城市清潔的“未來場景”。經過角逐,蘇州
    的頭像 發表于 05-07 09:10 ?291次閱讀
    蘇州金龍榮獲首屆無人掃地<b class='flag-5'>機器</b>人演示<b class='flag-5'>比賽</b>“競技領跑獎”
    百家乐官网庄闲必胜打| 真人百家乐官网出售| 顶级赌场网址| 百家乐投注平台导航网| 百家乐官网投注注技巧| 大发888网页登录帐号| 百家乐网投注| 伯爵百家乐官网赌场娱乐网规则| 百家乐官网冯式打法| 全讯网找a3322.com| 百家乐园小区户型图| 南京百家乐官网赌博现场被| 库伦旗| 大发888娱乐城欢迎lm0| 有破解百家乐仪器| 在线百家乐官网纸牌| 百家乐官网游戏规测| 大发888在线投注| 百家乐真人百家乐赌博| 电子百家乐官网规则| 澳门百家乐官网哪家信誉最好| 百家乐真钱| 大发888下载 客户端| 大世界百家乐娱乐场| 做生意布局风水| 郑州百家乐官网高手| 金都百家乐官网现金网| 丰合娱乐| 水果机破解器| 百家乐真人百家乐皇冠| 新葡京百家乐现金| 菲律宾百家乐官网娱乐场| 娱乐城百家乐官网论坛| 澳门博彩网| 大发888下载 17| 网上百家乐开户送现金| 星河百家乐官网的玩法技巧和规则 | gt百家乐官网平台| 汽车| 泰盈娱乐城| 娱网棋牌官方下载|