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?

AdaBoostとは?仕組みと処理内容を徹底解説

Posted at

本日は、AdaBoostLightGBMの違いについて、基本的な概念から仕組みまで、できるだけ分かりやすく解説します。最初に、AdaBoostの処理内容をステップバイステップで解説した後、LightGBMとの違いを表記形式で比較します。
※この記事は、ChatGPTの出力を基に作成しています。


AdaBoostの処理内容をステップバイステップで解説

AdaBoostは、簡単なモデルを組み合わせて何度も改善を重ねて、最終的に高い予測能力を実現するアルゴリズムです。ここでは、その処理内容をステップごとに分解します。

ステップ 1、初期化

  1. データを準備
    • 特徴量と正解ラベルを含むデータを準備します。
  2. データに重みを付与
    • 初期では、すべてのデータに一様の重みを付けます。重みは、データの総数で割った値です(例:個々100個のデータなら、重みは1/100、という感じです)。

ステップ 2、弱いモデルを作成

  1. 弱いモデルを設計して訓練
    • 毎回、簡単なモデル(例:深さが1の決定木)を訓練します。
  2. エラー率を計算
    • モデルが予測を間違えたデータに付けられた重みの合計から、エラー率を計算します(例:0.2なら、20%のデータを間違えた、という意味)。
  3. モデルの信頼度を決める
    • 信頼度は次の式で計算します:

      $$
      \alpha = \frac{1}{2} \ln\left(\frac{1 - \text{Error}}{\text{Error}}\right)
      $$

      エラー率が低いほど、信頼度は高くなります。

ステップ 3、データの重みを更新

  1. 間違えたデータに重みを増やす
    • モデルが間違えたデータにより重きを付けます。
  2. 重みを正規化する
    • すべての重みの合計を1に調整し、続けて訓練できるようにします。

ステップ 4、弱いモデルを続けて作成

  • 弱いモデルを続けて訓練し、信頼度を計算するプロセスを「持続的に」追加していきます。この過程を例えば「たくさんのせんせいが共同で予測を出す」ような様子です。

ステップ 5、最終的な予測

  • すべての弱いモデルの信頼度を考慮しながら、最終的な結論を出します。

AdaBoostとLightGBMの違い

AdaBoostとLightGBMは、どちらもブースティングという概念に基づいていますが、その仕組みと用途に大きな違いがあります。ここでは、両者の違いを表記形式で比較します。

特徴 AdaBoost LightGBM
基本概念 データの重みを更新して改善 残差を目標に改善
実装方法 弱いモデルを並列組み込む 決定木をリーフワイズで構築
訓練の主軸 データの重みに基づく改善 残差の相象値を目標に改善
スピードとスケール レーテが気にならない小規模に適している 大規模でも高速に動作
用途の例 簡易な分類タスクの解決 ランキングや大規模データの処理

AdaBoostは、学習が視覚的で解釈しやすい一方、LightGBMは大規模データを高速に処理できる為、小規模タスクと大規模タスクで使い分けることが重要です。

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?