0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

✅ XGBoostとは?

XGBoost(Xtreme Gradient Boosting) は、勾配ブースティングを高速・高精度に実行するためのライブラリです。

🎯 目的(何のために使う?)

・住宅価格の予測(回帰)
・スパムメール判定(分類)
・売上予測、株価予測 など

幅広く使われています。

✅ 勾配ブースティングとは?

一言でいうと「前のモデルの誤りを、次のモデルで少しずつ修正していく仕組み」

モデルを1つ作る → その誤差を学習するモデルを追加 → さらにその誤差を学習……
という流れで、誤差を“勾配方向に”減らすように改善していきます。

✅ 3. 基本の流れ(数式で表現)

(1) 初期モデル

まず、損失を最小にする単純な定数モデルを作ります:
スクリーンショット 2025-12-11 6.43.27.png
回帰なら平均値、分類ならロジスティックで決まる定数です。

✅ 1. 各記号の説明

スクリーンショット 2025-12-11 6.48.57.png

📌 式の意味はたった1つ:

👉 「全データで誤差が一番小さくなるような 定数 c を探せ」
これが初期モデル スクリーンショット 2025-12-11 6.49.34.pngになります。

​🔍 例:具体的な数値で手計算

データが:y = [10, 12, 14]
なら平均は:(10 + 12 + 14) / 3 = 12
よって:スクリーンショット 2025-12-11 6.53.19.png

(2) 残差(誤差の方向)を勾配で求める

本質はここです。

スクリーンショット 2025-12-11 6.43.50.png

✅ 1. 各記号の意味

スクリーンショット 2025-12-11 6.58.39.png

🧠 2. この式が必要な理由

勾配ブースティングは、
“誤差を減らす方向”(= 勾配)を学習する弱い木を作る
というアルゴリズムです。

だからまずは、
🔍 「誤差がどの方向にあるのか?」
を式で計算します。

🔢 3. もっと分かりやすい説明(重要)

🔹ステップ1:損失 L を予測値 F で微分

損失関数を予測値で微分すると、どっちに動けば損失が減るか、どれくらいズレているかが分かります。これが「勾配」です。

🔹ステップ2:勾配のマイナスを取る

勾配の 逆方向 が「損失を減らす方向」。
スクリーンショット 2025-12-11 7.03.12.png

🔹ステップ3:それを弱い木の学習データにする

このスクリーンショット 2025-12-11 7.04.22.pngを目的変数として、決定木を学習させます。
つまり「誤差方向を学ぶ木」を作る。

📌 5. 例:具体的な数値

スクリーンショット 2025-12-11 7.08.31.png
→ 「3だけ予測が足りないので、この方向に修正したい」
これを決定木に学習させます。

(3) 勾配(=残差)を予測する弱い木を学習

スクリーンショット 2025-12-11 6.45.07.png
決定木は残差にフィットするように作られます。

✅ 1. 各記号の意味

スクリーンショット 2025-12-11 7.11.15.png

(4) 各木の重み(縮小率)を決める

スクリーンショット 2025-12-11 6.45.28.png
通常は learning_rate を掛けることで安定化。

✅ 1. 各記号の意味

スクリーンショット 2025-12-11 7.14.11.png

🎯 式が意味していること(直感)

👉「hₘ(誤差を直す木)を どれくらいの強さで足せば 一番誤差が小さくなるか?」
それを決めるのがスクリーンショット 2025-12-11 7.14.58.pngです。

✅ 1. 前準備(設定)

スクリーンショット 2025-12-11 7.22.10.png

✅ 2. 目的(式の意味)

スクリーンショット 2025-12-11 7.23.03.png

🔧 3. 二乗誤差の式に代入

スクリーンショット 2025-12-11 7.28.37.png

🔢 4. 実際に数字を入れて計算

スクリーンショット 2025-12-11 7.28.49.png

✨ 合計誤差の式(1つにまとめる)

スクリーンショット 2025-12-11 7.29.01.png

✏️ 5. 最小値を求める(γで微分して0にする)

スクリーンショット 2025-12-11 7.29.12.png

✏️ 6. 微分して最小値を求める

スクリーンショット 2025-12-11 7.29.22.png

🎉 7. 結果

スクリーンショット 2025-12-11 7.29.31.png

📘 8. 直感的な説明

スクリーンショット 2025-12-11 7.30.18.png

🧠 9. 更新後のモデルを確認

スクリーンショット 2025-12-11 7.31.16.png

(5) モデルを更新

スクリーンショット 2025-12-11 6.45.50.png
これを M 回繰り返す。

✅ 各記号の意味(シンプル版)

スクリーンショット 2025-12-11 7.33.25.png

🎯 式の意味(とても簡単)

👉「新しいモデル = 古いモデル +(誤差を直す木 × 適切な強さ)」

✅ 1. 具体的な数値を設定

スクリーンショット 2025-12-11 7.35.47.png

✅ 2. 代入して計算

スクリーンショット 2025-12-11 7.35.59.png

🎉 3. 計算結果

スクリーンショット 2025-12-11 7.36.07.png

✨ 4. わかりやすい解説

スクリーンショット 2025-12-11 7.38.02.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?