📘 重回帰分析の勾配計算と学習ステップ完全ガイド
📘 重回帰分析を勉強しながら整理してみた(偏微分から学習の流れまで)
重回帰分析って、最初は名前からして難しそうだけど… 実際にまとめてみたら意外とシンプルだった!
このノートでは、パラメータの偏微分がなぜ必要なのか、
そしてそこからどうやってモデルを学習していくのかという一連の流れをわかりやすくまとめたよ。
✅ まず、モデルの形はこれ!
[
\hat{y} = w_1x_1 + w_2x_2 + \cdots + w_nx_n + b
]
- (w_1, w_2, ..., w_n):各特徴量に対応する重み
- (b):予測値全体を上下に動かすバイアス(切片)
✅ 偏微分するパラメータの数は?
実はとてもシンプル。
項目 | 数 | 説明 |
---|---|---|
重み ( w ) | 特徴量の数 (n個) | 各入力が出力に与える影響を表す |
バイアス ( b ) | 1個 | 予測全体を上下にシフトさせる |
合計 | (n + 1) 個 | すべて偏微分して更新する必要がある |
✅ なぜ偏微分が必要なのか?
結論から言うと、損失(Loss)をどの方向に減らせばいいのかを教えてくれるのが偏微分。
[
L(w, b) = \frac{1}{m} \sum_{i=1}^{m} (y_i - \hat{y}_i)^2
]
これをそれぞれの (w_j)、(b) に対して偏微分すると、
[
\frac{\partial L}{\partial w_j}, \quad \frac{\partial L}{\partial b}
]
つまり、各パラメータが損失にどれだけ影響を与えるかがわかる。
✅ 偏微分した後の学習ステップはこう👇
-
予測値の計算
現在のパラメータを使って (\hat{y}) を計算し、実際の値と比較する -
勾配(偏微分)を計算する
各 (w, b) に対して偏微分し、どの方向に動かすべきかを把握する -
勾配降下法でパラメータを更新する
学習率 ( \alpha ) を掛けてパラメータを調整!
[
w_j := w_j - \alpha \cdot \frac{\partial L}{\partial w_j}
]
[
b := b - \alpha \cdot \frac{\partial L}{\partial b}
]
- このプロセスを繰り返すだけ!
✅ 最終的なゴールは?
- 損失をできるだけ小さく抑えること!
- より正確な予測ができるモデルを作ること!
✅ 最後にひとこと
特徴量の数 + バイアス1個分だけ偏微分して、
勾配を使って少しずつパラメータを下げていくだけ!
最初は数式が難しく見えるけど、
ひとつずつ分解していくと「方向」と「繰り返し」がカギだってことが分かるよ!
読んでくれてありがとう 🙌
Discussion