本文システムは XGBoost における二次テイラー展開、勾配 / ヘッセ行列、CART 回帰木および分裂利益(Gain) の核心思想をまとめ、3 つの一般的な混乱を解決することに重点を置いています:
-
二次テイラー展開は XGBoost で何をしているのか
-
多変数テイラー公式における線形代数記号(転置など)の意味
-
XGBoost と従来の GBDT の「分裂決定」における本質的な違い
一、テイラー展開の基本思想#
1. 一次元テイラー展開#
テイラー展開は、ある点の近くで関数を多項式で近似するために使用されます:
-
一次項:関数の変化方向を記述
-
二次項:関数の ** 曲がり具合(曲率)** を記述
-
高次項:精度を向上させるが、計算コストが高い
機械学習の最適化においては、通常は二次までを保持します。
二、多変数関数の二次テイラー展開(XGBoost の基礎)#
多変数関数 に対して、 の場合、点 の近くでの二次テイラー展開は次のようになります:
各項の意味#
-
:勾配ベクトル(一階偏導数から構成される列ベクトル)
-
:ヘッセ行列(二階偏導数から構成され、曲率を記述)
-
:転置記号、行列の乗算の次元を正しく保つために使用
なぜ転置 $T$ があるのか#
勾配と変位ベクトルはどちらも列ベクトルであり、直接掛け算することはできません;
転置することで 内積(ドット積) が形成され、結果はスカラーになります:
三、XGBoost における「多変数 → 一次元」の簡略化#
XGBoost では、損失関数は次のようになります:
各サンプルに対して:
-
独立変数は 1 つだけ:予測値
-
したがって:
-
勾配 :スカラー
-
ヘッセ行列 :スカラー
-
二次テイラー展開は自然に次のように退化します:
これが XGBoost でよく見られる「サンプルごとの一次元二次展開」です。
四、CART 回帰木の XGBoost における役割#
1. CART とは#
CART(Classification And Regression Tree)は:
-
厳密な二分木
-
各葉は定数値を出力
-
分類と回帰の両方に使用可能
XGBoost が使用するのは CART 回帰木であり、分類タスクであってもです。
2. XGBoost のモデル形式#
-
各 :1 本の CART 回帰木
-
各サンプルは最終的にある葉に落ち着き、数値的な修正を得ます
五、XGBoost の核心的な違い:明示的な複雑度正則化#
1. 従来の GBDT の問題#
従来の GBDT は分裂時に:
-
損失が減少するかどうかだけを見ます
-
木が「過度に複雑」になっているかどうかは考慮しません
-
複雑度の制御は人為的なルール(max_depth など)に依存します
2. XGBoost の目的関数#
ここで正則項は:
意味:
-
:葉を 1 つ増やすごとに必要な構造コスト
-
:葉の重みの L2 正則化、出力が大きくなりすぎないように防止
👉 モデルの複雑度が直接目的関数に書き込まれています
六、分裂利益(Gain)の直感と公式の意味#
1. 分裂決定の本質#
XGBoost は毎回の分裂で次のことを尋ねます:
分裂による利益 − 分裂によるコストは正か?
2. Gain の意味(公式を見なくても理解できる)#
-
左右の子ノードがより良くフィットする → 利益
-
1 つの葉が増える → コスト(γ)
-
利益 ≤ コスト の場合 → 分裂しない
3. なぜ従来の GBDT は Gain を表現できないのか#
それは:
-
「分裂コスト」の数学的定義がないため
-
「損失が減少するかどうか」の局所的判断しかできないため
-
利益 − コスト の公式に統一できないため
七、重要な直感のまとめ#
XGBoost はより過激ではなく、より「計算をする」ことが得意です
-
従来の GBDT:
誤差が減る限り、分裂を続ける -
XGBoost:
誤差が減ることはこの複雑度に見合うのか?
八、究極の一言まとめ#
XGBoost の核心的な革新は「木」ではなく、「二次情報とモデルの複雑度を同じ最適化目標に書き込むこと」です。
二次テイラー展開は計算可能な利益を提供し、
正則項は明確なコストを提供し、
CART 構造はこれを効率的に実現します。