線形回帰と最小二乗法

ML入門の定番、線形回帰。最小二乗法で係数を求める仕組みと注意点を整理します。

機械学習の入り口、線形回帰。最小二乗法で係数を求める仕組みを理解します。

白峰 リリ(普段) 白峰 リリ

回帰って具体的にはどんなモデルなの?

神楽 モニカ 先生(笑顔) 神楽 モニカ 先生

最も単純なのが線形回帰。 y = β₀ + β₁x₁ + β₂x₂ + ... というふうに、特徴量の重み付き和でyを予測するモデルよ。

紅林 かえで(普段) 紅林 かえで

係数 β を求める方法が最小二乗法(Least Squares)。 予測値と実測値の残差の二乗和を最小化する係数を選ぶの。

藍沢 しずく(普段) 藍沢 しずく

なんで二乗するんですかぁ?

紅林 かえで(普段) 紅林 かえで

符号を消して、大きな誤差ほど強く反映できるためよ。 二乗誤差は数学的にも扱いやすくて、解析的に解けるの(正規方程式)。

白峰 リリ(普段) 白峰 リリ

解析的って?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

勾配降下法のような数値最適化を使わず、行列演算で一発で答えが出る、という意味。 β = (XᵀX)⁻¹Xᵀy が正規方程式の解。

藍沢 しずく(しょんぼり) 藍沢 しずく

ややこしそうですぅ…

紅林 かえで(普段) 紅林 かえで

DS検定★ では公式そのものより『最小二乗法は残差の二乗和を最小化する』『線形回帰は y = Σβᵢxᵢ + 切片 という形』を押さえれば十分よ。

白峰 リリ(普段) 白峰 リリ

線形回帰のとき、入力データに気をつけることってある?

神楽 モニカ 先生(普段) 神楽 モニカ 先生

いくつかあるわ。 (1)多重共線性=説明変数同士が強く相関している状態、(2)外れ値が結果に強い影響を与える、(3)非線形な関係は直線で近似しきれない、など。

紅林 かえで(普段) 紅林 かえで

多重共線性があると係数の解釈が難しくなる。 VIF(分散拡大係数)で診断し、必要なら相関の高い変数を除く・主成分分析を使う、といった対処をするの。

藍沢 しずく(びっくり) 藍沢 しずく

わぁ、回帰でも気をつけることがたくさんあるんですねぇ。

from sklearn.linear_model import LinearRegression
import numpy as np

X = np.array([[1], [2], [3], [4], [5]])
y = np.array([2.1, 3.9, 6.0, 8.1, 10.0])

model = LinearRegression()
model.fit(X, y)
print(f'切片: {model.intercept_:.2f}')   # 0.06
print(f'係数: {model.coef_[0]:.2f}')      # 2.00

確認クイズ

線形回帰の最小二乗法で最小化される目的関数として正しいのはどれか。

  1. 残差の絶対値の和 Σ|yᵢ - ŷᵢ|
  2. 残差の二乗和 Σ(yᵢ - ŷᵢ)²
  3. 残差の三乗和 Σ(yᵢ - ŷᵢ)³
  4. 予測値の二乗和 Σŷᵢ²
こたえを見る

正解: 2. 残差の二乗和 Σ(yᵢ - ŷᵢ)²

残差の二乗和 Σ(yᵢ - ŷᵢ)²を最小化するのが最小二乗法です。 二乗することで符号が消え、大きな誤差を強調でき、数学的にも扱いやすくなります。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。