xgboost算法_XGBoost算法可能会长期占据你的视野!
我仍然記得十五年前第一份工作的第一天,我剛剛完成了我的研究生課程,并以分析師的身份加入了一家全球投資銀行。在上班的第一天,我還是很緊張的,我經(jīng)常會有的小動作就是會時常拉一下我的領(lǐng)帶,我一直在腦海中回憶我曾經(jīng)學(xué)過的一切知識,同時也考慮是不是能夠給我的企業(yè)帶來一些價值。然而,感受到我的焦慮之后,我的老板表示,“不需要擔(dān)心,你只要知道回歸模型就好了。”
我當(dāng)時確實(shí)只考慮這一個問題,事實(shí)證明,我的老板是很正確的,當(dāng)時,回歸建模是無可爭議的預(yù)測分析女王,我當(dāng)時專門建立了基于回歸的統(tǒng)計模型,快近十五年之后,回歸建模的時代已經(jīng)結(jié)束了,老女王的日子也已經(jīng)過去了,新女王的名字也逐漸誕生了,很長很長:XGBoost或Extreme Gradient Boosting!
什么是XGBoost?
XGBoost是一種基于決策樹的集成機(jī)器學(xué)習(xí)算法,它使用的是梯度增強(qiáng)框架。在涉及非結(jié)構(gòu)化數(shù)據(jù)(圖像、文本等)的預(yù)測問題中,人工神經(jīng)網(wǎng)絡(luò)傾向于優(yōu)于所有其他算法或框架。但是,當(dāng)涉及到中小型結(jié)構(gòu)/表格數(shù)據(jù)時,基于決策樹的算法現(xiàn)在被認(rèn)為是同類最佳的。可以參閱下面的圖表,了解多年來基于樹的算法的演變。
決策樹的XGBoost算法演化
XGBoost算法是作為華盛頓大學(xué)的研究項目開發(fā)的。陳天奇和Carlos Guestrin在2016年的SIGKDD會議上發(fā)表了他們的論文,并在機(jī)器學(xué)習(xí)的領(lǐng)域掀起了轟動。自推出以來,該算法不僅贏得了眾多Kaggle比賽的勝利,而且還成為幾個尖端行業(yè)應(yīng)用的引擎驅(qū)動力。此外,有一個強(qiáng)大的數(shù)據(jù)科學(xué)家社區(qū)為XGBoost開源項目做出貢獻(xiàn),在GitHub上有大約350個貢獻(xiàn)者和大約3,600個提交。該算法通過以下方式區(qū)分自己:
如何為XGBoost建立直覺?
決策樹形式最簡單,是易于可視化和可解釋的算法,但建立下一代基于樹的算法的直覺可能有點(diǎn)棘手。請參閱下面的簡單類比,以更好地了解基于樹的算法的演變。
想象一下,你是一名招聘經(jīng)理,面試幾位具有優(yōu)秀資歷的候選人。基于樹的算法演變的每一步都可以看作是訪談過程的一個版本。
為什么XGBoost表現(xiàn)如此之好?
XGBoost和Gradient Boosting Machines(GBMs)都是集合樹方法,它們應(yīng)用了使用梯度下降架構(gòu)來提升弱學(xué)習(xí)者(通常是CART)的原理。但是,XGBoost通過系統(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)建了一個包含20個特征(2個信息和2個冗余)的100萬個數(shù)據(jù)點(diǎn)的隨機(jī)樣本。我們測試了幾種算法,如Logistic回歸、隨機(jī)森林、標(biāo)準(zhǔn)梯度提升和XGBoost。
使用SKLearn的Make_Classification數(shù)據(jù)集的XGBoost與其他ML算法
如上圖所示,與其他算法相比,XGBoost模型具有預(yù)測性能和處理時間的最佳組合。其他嚴(yán)格的基準(zhǔn)研究也產(chǎn)生了類似的結(jié)果。難怪XGBoost在最近的數(shù)據(jù)科學(xué)競賽中被廣泛使用。
那么我們應(yīng)該一直只使用XGBoost嗎?
談到機(jī)器學(xué)習(xí)(甚至是生活),沒有免費(fèi)的午餐!作為數(shù)據(jù)科學(xué)家,我們必須測試所有可能的數(shù)據(jù)算法,以確定冠軍算法。此外,選擇正確的算法是不夠的,我們還必須通過調(diào)整超參數(shù)為數(shù)據(jù)集選擇正確的算法配置。此外,選擇獲勝算法還有其他幾個考慮因素,例如計算復(fù)雜性、可解釋性和易于實(shí)現(xiàn)。這正是機(jī)器學(xué)習(xí)開始從科學(xué)走向藝術(shù)的地步,但老實(shí)說,這就是魔術(shù)發(fā)生的地方!
未來該何去何從?
機(jī)器學(xué)習(xí)是一個非常活躍的研究領(lǐng)域,已經(jīng)有幾種可行的XGBoost替代方案。微軟研究院最近發(fā)布了LightGBM框架,用于梯度增強(qiáng),顯示出巨大的潛力。由Yandex Technology開發(fā)的CatBoost已經(jīng)提供了令人印象深刻的基準(zhǔn)測試結(jié)果。我們有一個更好的模型框架,在預(yù)測性能、靈活性、可解釋性和實(shí)用性方面優(yōu)于XGBoost,這是一個時間問題。然而,直到一個強(qiáng)大的挑戰(zhàn)者出現(xiàn),XGBoost將繼續(xù)統(tǒng)治機(jī)器學(xué)習(xí)世界!
編譯出品
總結(jié)
以上是生活随笔為你收集整理的xgboost算法_XGBoost算法可能会长期占据你的视野!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python多线程有用吗_Python多
- 下一篇: 理性派:数学写真集系列书籍等