日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

予測モデルの整理

趣味や自習も含めて、いままで使ってきた予測モデルを整理する

  1. ロジスティック回帰モデル: テストの成績などの説明変数から大学の合否などの目的変数を予測するモデル。線形分離可能な境界線を作成し、各説明変数の重みを調整することで予測する。確率を推定することができ、解釈性が高い。
  2. サポートベクターマシン: データを高次元空間にマッピングし、線形または非線形な境界を作成するモデル。データを分類するための最適な境界を見つけるために、マージン最大化という考え方を用いる。カーネルトリックを使えば非線形分類もできる。
  3. 決定木: データの特徴に基づいて一連の質問を作成し、データを分割するモデル。ツリー構造を作成し、各分割で最も情報を得られる質問を選択する。解釈性が高く、非線形な関係性も扱える。
  4. ランダムフォレスト: 複数の決定木を組み合わせたアンサンブル学習法。複数の決定木を独立に学習させ、結果を平均化して予測する。特徴量の重要度を評価でき、過学習に頑健なモデル。
  5. k近傍法: 新しいデータポイントの最も近いk個の隣接データポイントを考慮して分類するモデル。パラメータ調整が簡単で、非線形な関係性も扱える。
  6. バギング: ブートストラップサンプリングにより訓練データを複数のデータセットに分割し、複数の予測モデルを独立に学習させ、結果を平均化するアンサンブル学習法。分散を抑えて過学習に対して頑健なモデルを構築する。
  7. アダブースト: 誤分類されたデータに重みをつけて再学習し、複数の予測モデルを順番に学習させ、結果を重み付き平均するアンサンブル学習法。モデルの性能を向上させるために、誤分類データに対する重要度を反映させる。
予測モデル 違い メリット デメリット 得意な問題
ロジスティック回帰モデル 線形分離可能な境界線を作成して、確率を推定する。 - 解釈性が高い。
- 計算コストが比較的低い。
- 確率を推定できる。
- 外れ値に対して頑健。
- 非線形な関係性を表現できない。
- 高次元データに弱い。
- 特徴間の相互作用を扱えない。
クレジットスコアリング、医学診断など
サポートベクターマシン データを高次元空間にマッピングして、線形または非線形な境界を作成する。 - 非線形な分類問題にも適用可能。
- マージン最大化により汎化性能が高い。
- 過学習に強い。
- カーネルトリックを使用して非線形分類が可能。
- パラメータの選択に敏感。
- 大規模なデータセットに対して計算量が増える。
- 解釈性が低い。
文書分類、画像認識など
決定木 データの特徴に基づいて一連の質問を作成して、データを分割するツリー構造を作成する。 - 解釈性が高い。
- データの前処理が比較的簡単。
- 非線形な関係性を扱うことができる。
- 外れ値や欠損値に対して頑健。
- 過剰適合しやすい。
- 単一の決定木では複雑な関係性を捉えられないことがある。
- 高次元データに弱い。
クレジットスコアリング、医学診断など
ランダムフォレスト 複数の決定木を組み合わせたアンサンブル学習法で、各決定木の結果を平均または多数決で統合する。 - 高い予測精度。
- 多様な特徴量の重要度を評価できる。
- 過学習に対して頑健。
- 外れ値や欠損値に対して頑健。
- 計算コストが高い。
- 解釈性が低い。
- パラメータの調整が必要。
クレジットスコアリング、不正検知など
k近傍法 新しいデータポイントの最も近いk個の隣接データポイントを考慮して分類を行う。 - 簡単な実装。
- パラメータの調整が少ない。
- クラスの不均衡なデータに対しても効果的。
- 非線形な関係性を扱うことができる。
- 計算コストが高い(特に大規模なデータセットでは)。
- 高次元データに弱い。
- 外れ値に敏感。
レコメンデーションシステム、類似性検索など
バギング ブートストラップサンプリングを使い、訓練データを複数のデータセットに分割して、複数の予測モデルを独立に学習させ、結果を平均化する。 - 分散を抑えることで過学習に対して頑健。
- 安定した予測性能を提供する。
- 多様なモデルを組み合わせることができる。
- 各予測モデルが独立であるため、相関のあるモデルでは効果が薄い。
- モデルの個数やバギングの回数の設定が重要。
多クラス分類、回帰など
アダブースト 誤分類されたデータに重みをつけて再学習し、複数の予測モデルを順番に学習させ、結果を重み付き平均する。 - モデルの性能を向上させることができる。
- モデルの重み付けにより、誤分類データに対する重要度を反映できる。
- ノイズや外れ値に敏感。
- モデルの数や学習の回数の適切な設定が重要。
- 解釈性が低い。
二値分類、顔検出など