機器學習 xgboost從初識到應用

2022-03-03 14:02:32 字數 1689 閱讀 3620

一、前述

在 kaggle 的很多比賽中,我們可以看到很多 winner 喜歡用 xgboost,而且獲得非常好的表現,今天就來看看 xgboost 到底是什麼以及如何應用。gradient boosting 是 boosting 的其中一種方法,所謂boosting,就是將弱分離器 f_i(x) 組合起來形成強分類器 f(x) 的一種方法。

二、具體

1、舉例

說明:在tree1和tree2裡面 男孩的得分值是2.9,實際是將不同的權重值加和 。 相當於將不同的弱分類器組合起來,這種思想就是整合思想。

2、案例分析

舉列子:比如比銀行借錢,假設想向銀行借1000塊錢 ,第一次銀行借給我們950塊錢,與我們想要的差1000-950=50元 ,然後加一顆決策樹,讓銀行再多借30元,這時銀行借給我們950+30=980元 ,差1000-980=20元,然後再加一顆決策樹,讓銀行多借15元,與最終目標差5元,即每一次不斷擬合殘差,達到最後效果。

我們希望每加乙個樹能夠對**值提公升,所以保留之前的**值,然後再這基礎上再加上新的函式來**,改變**值,但是新函式的效果必須是朝著提公升之前的**結果目標(即減少誤差,使目標函式越來越小)來的,這是xgboost的目標。

為了防止過擬合,我們需要對目標函式加上正則項,在決策樹裡面,葉子結點越多,越容易過擬合,所以我們需要對葉子節點個數加上正則化,決策越多,加上的懲罰越大,同時我們還要對葉子結點權重加上懲罰項,最終表現形式如下。t代表一棵樹。

那麼我們如何選擇每一輪加入什麼f呢?答案是非常直接的,選取乙個f來使得我們的目標函式盡量最大地降低、最終損失函式的表示如下。希望在t-1顆樹的基礎上,新加乙個樹來優化這乙個目標。

目標函式接著轉換:

目標函式應用例項:

對於每次擴充套件,遍歷所有的分割方案,選擇基尼係數最大的乙個分類來擴充套件。

機器學習 EM演算法從初識到應用

一 前述 em演算法是解決數學公式的乙個演算法,是一種無監督的學習。em演算法是一種解決存在隱含變數優化問題的有效方法。em演算法是期望極大 expectation maximization 演算法的簡稱,em演算法是一種迭代型的演算法,在每一次的迭代過程中,主要分為兩步 即求期望 expectat...

機器學習 EM演算法從初識到應用

一 前述 em演算法是解決數學公式的乙個演算法,是一種無監督的學習。em演算法是一種解決存在隱含變數優化問題的有效方法。em演算法是期望極大 expectation maximization 演算法的簡稱,em演算法是一種迭代型的演算法,在每一次的迭代過程中,主要分為兩步 即求期望 expectat...

機器學習 邏輯回歸從初識到應用

一 前述 邏輯回歸是一種分類演算法,對多元線性回歸的結果做一定的縮放。是一種線性 x是一次的 有監督 有x,y 分類 要麼是正列,要麼是負例 演算法。是通過sigmod演算法的一次縮放。sigmod函式解釋如下 二 具體原理 前提和損失函式推倒 轉化為似然的思想 對轉換後的似然函式求偏導 求完導數後...