Xgboost,一朵嬌羞的百合花

思路

開始之前,先立個flag:2019年,盡最大的努力抽出時間每月寫一篇原創文章,夯實自己的專業知識、技術基礎、業務瞭解。
筆者2018年11月份正式開始研究機器學習算法,先後較爲完整的瞭解了比較“剛猛”的邏輯迴歸LG算法和比較“正太”的隨機森林RF算法,之後換了一份風控相關的工作,花了1個多月的時間熟悉業務、開發部署風控系統(包括dirived_data數據獲取、base_rule編寫、machinelearning_model評分卡開發等),就沒有特別多的時間照顧博客。直到現在,纔回歸到比較穩定的工作節奏中,也有較爲大段的時間來繼續研究。那麼,就從當前比較熱門的算法——“嬌羞”的xgboost開始。
還是用自己一貫的寫作風格,先開始再說,隨着學識的增加和對該版塊內容理解的加深,增刪查改,以不斷優化文章內容,在2019年1月末前完成這篇文章的編寫,加油。

開始

eXtremeGradient Boosting。2014年2月誕生的專注於梯度提升算法的機器學習函數庫,作者爲華盛頓大學研究機器學習的大牛——陳天奇。他在研究中深深的體會到現有庫的計算速度和精度問題,爲此而着手搭建完成 xgboost 項目。xgboost問世後,因其優良的學習效果以及高效的訓練速度而獲得廣泛的關注,並在各種算法大賽上大放光彩。
集成思想主要分爲兩大流派,Boosting一族通過將弱學習器提升爲強學習器的集成方法來提高預測精度(典型算法爲AdaBoost,詳見Learn R | AdaBoost of Data Mining);而另一類則爲Bagging,即通過自助採樣的方法生成衆多並行式的分類器,通過“少數服從多數”的原則來確定最終的結果(典型算法爲隨機森林,詳見Learn R | Random Forest of Data Mining)。

boosting翻譯過來就是提升的意思,通過研究如果將許多個弱分類器集成在一起提升爲一個強分類器就是多數boosting算法所研究的內容。其中最爲經典的算法就是Adaboost,gdbt,xgboost等算法

xgboost對loss func做了二階的泰勒展開,並在目標函數之外加入了正則項整體求最優解,用以權衡目標函數的下降和模型的複雜程度,避免過擬合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章