回帰(Regression)は、連続値を予測するための機械学習手法です。
ある入力データ(特徴量)から、数量的な出力(目的変数)を推定します。
- 気温から電力消費量を予測する
- 土地条件から不動産価格を推定する
- 過去データから売上・需要・成長率を予測する
- センサー情報から故障までの残り寿命を推定する
といった幅広い分野で利用されます。
ここでは、代表的な回帰モデルとその特徴、評価指標、過学習対策、モデル選択の考え方まで包括的に解説します。
回帰モデルとは
回帰モデルは、説明変数(特徴量) → 目的変数(連続値)の関係性を学習し、任意の入力に対して期待される数値を返します。
分類(classification)がカテゴリー予測を扱うのに対し、回帰はあくまで連続した実数値の推定が目的です。
代表的な回帰モデルの種類
多様なアルゴリズムが存在しますが、ここでは特に使用頻度の高いものを体系的に紹介します。
線形回帰(Linear Regression)
最も基本となるモデルで、目的変数 = 係数 × 特徴量 + 誤差という一次式で表されます。
特徴
- シンプルで計算が高速
- 係数の解釈が容易
- 多重共線性に弱い
- 外れ値の影響を比較的受けやすい
実務では、線形関係の把握や要因分析の起点として使用されやすいモデルです。
多項式回帰(Polynomial Regression)
線形回帰の拡張版です。
特徴量に 2 次・3 次の項を追加することで、曲線的な関係を表現できます。
特徴
- 線形では捉えられない非線形のパターンに対応
- 次数を上げすぎると過学習しやすい
- 変換後の特徴量はスケーリングと相性が良い
リッジ回帰・ラッソ回帰(Ridge / Lasso)
いずれも線形回帰に正則化を加えたモデル。
- リッジ回帰(L2 正則化)
→ 係数を小さくすることで過学習を抑制する - ラッソ回帰(L1 正則化)
→ 係数の一部を 0 にすることで不要な特徴量を自然に除外できる
両者の特性を組み合わせた Elastic Net もよく利用されます。
決定木回帰(Decision Tree Regression)
特徴量に基づいてデータを条件分岐しながら予測を行うモデルです。
特徴
- 非線形のパターンを直感的に扱える
- 視覚的に理解しやすい
- 単体では過学習しやすい
- データのわずかな変動に敏感で、不安定になることもある
ランダムフォレスト回帰(Random Forest Regression)
多数の決定木を組み合わせるアンサンブル学習。
特徴
- 単体の決定木よりも汎化性能が高い
- 特徴量重要度を算出できる
- パラメータが比較的少なく扱いやすい
- 設定次第では過学習する可能性もある
勾配ブースティング回帰(XGBoost / LightGBM / CatBoost)
近年もっとも実務で利用される高性能なアンサンブルモデル群。
弱い決定木を逐次学習し、誤差を補い合う形で精度を高めます。
特徴
- 高精度で安定しやすい
- データ量がそこまで多くなくても比較的性能が出る
- 多様なハイパーパラメータで調整しやすい
- カテゴリ変数への対応はアルゴリズムにより異なる
- CatBoost:カテゴリ変数を強力に扱える
- LightGBM:ネイティブにカテゴリ対応
- XGBoost:通常は one-hot 等の前処理が必要
ニューラルネットワーク回帰(Neural Network Regression)
ディープラーニングを用いた回帰モデル。
特徴
- 高い表現力を持ち、複雑な関係も学習可能
- データ量が多いほど性能が向上しやすい
- 学習コストが大きい
- 解釈性は低い傾向
- 時系列データに対しては RNN・LSTM・Transformer 系の利用が増えている
モデル選択の指針
データの性質や目的に応じて選ぶべきモデルが変わります。
少量データ
- 線形回帰
- リッジ / ラッソ
- ランダムフォレスト
中量〜大量データ
- XGBoost
- LightGBM
- CatBoost
超大量 or 非常に複雑な特徴量関係
- ニューラルネットワーク
ただし、いわゆる表形式データ(tabular data)においては、勾配ブースティング系(XGBoost など)が依然として非常に強いケースが多い点は覚えておく価値があります。
評価指標
回帰モデルの性能を評価するための代表的な指標です。
MAE(Mean Absolute Error)
誤差の絶対値の平均値。
直感的に理解しやすい指標です。
MSE / RMSE
- MSE:誤差の平方の平均
→ 大きな誤差を強くペナルティする - RMSE:MSE の平方根
→ 元の単位に戻るため比較しやすい
R²(決定係数)
モデルがどれだけ変動を説明できているかを表します。
- 1:完璧なモデル
- 0:平均値だけを出すモデルと同等
- 0 未満:むしろ平均値だけ出す方がマシな場合
「0〜1」の間に収まると誤解されがちですが、マイナスの値もあり得ます。
過学習を防ぐ方法
回帰モデルにおける過学習防止の代表的なアプローチです。
正則化(リッジ / ラッソ / Elastic Net)
モデルの複雑さを抑える。
クロスバリデーション(K-fold CV)
データセットを分割して安定性を評価。
early stopping(ブースティング系・NN)
性能が悪化し始めたところで学習を止める。
木構造モデルのパラメータ調整
- max_depth
- min_child_samples
- learning_rate(ブースティング系)
特徴量選択 / 不要なデータの除去
データリークの防止
未来情報が混ざると異常に良い精度が出てしまうため注意。
回帰モデルの構築プロセス
一般的なワークフローを整理すると以下の通りです。
- データ収集
- 訓練データと検証データの分割
- 前処理(欠損値補完・スケーリング・カテゴリ変換)
- 特徴量エンジニアリング
- モデル選定
- ハイパーパラメータの調整
- クロスバリデーションによる評価
- 本番運用
- モデルの定期更新・再学習
このプロセスを繰り返し最適化することで、予測精度や安定性が向上します。
まとめ
回帰モデルは、連続値予測の中心となる技術であり、線形回帰のような基本モデルから、XGBoost・LightGBM・ニューラルネットワークまで多彩な手法が存在します。
- データ量
- 特徴量の性質
- 解釈性の必要性
- モデルの複雑さ
- 計算コスト
といった観点で最適なモデルを選び、評価指標と過学習対策を組み合わせながら精度を高めていくことが重要です。
以上、機械学習の回帰モデルについてでした。
最後までお読みいただき、ありがとうございました。
