xgboost算法_XGBoost算法可能会长期占据你的视野!
我仍然記得十五年前第一份工作的第一天,我剛剛完成了我的研究生課程,并以分析師的身份加入了一家全球投資銀行。在上班的第一天,我還是很緊張的,我經(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ū)分自己:
如何為XGBoost建立直覺(jué)?
決策樹(shù)形式最簡(jiǎn)單,是易于可視化和可解釋的算法,但建立下一代基于樹(shù)的算法的直覺(jué)可能有點(diǎn)棘手。請(qǐng)參閱下面的簡(jiǎn)單類(lèi)比,以更好地了解基于樹(shù)的算法的演變。
想象一下,你是一名招聘經(jīng)理,面試幾位具有優(yōu)秀資歷的候選人。基于樹(shù)的算法演變的每一步都可以看作是訪談過(guò)程的一個(gè)版本。
為什么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)化:
算法增強(qiáng)功能:
證據(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)題。
- 上一篇: python多线程有用吗_Python多
- 下一篇: 理性派:数学写真集系列书籍等