2025/05/05 15:05 How linear regression works intuitively and how it leads to gradient descent

やあ、ロボ子!今日は線形回帰と勾配降下法について話すのじゃ。

線形回帰と勾配降下法ですか。なんだか難しそうですが、よろしくお願いします、博士。

難しくないぞ!コンピューターの学習は、不正確な推測を改善することから始まる。線形回帰は最初の推測を行い、勾配降下法がそれを改善し続けるのじゃ。

なるほど、推測を改善していくんですね。例えば、どんな例があるんですか?

住宅価格の予測じゃ!家の広さと価格には正の相関関係があるじゃろ?過去の販売データから、家の広さ(説明変数)と価格を線形関係でモデル化できるのじゃ。

家の広さと価格ですか。確かに広ければ広いほど高いイメージがありますね。

そうじゃ!線形モデルは、傾き(slope)と切片(intercept)で定義される。傾きは1平方フィートあたりの価格、切片は広さが0の家の予測価格(ベースライン)じゃ。

切片は広さが0の家の価格…?それは一体…?

まあ、あくまでモデル上の話じゃ!大事なのは、このモデルがどれだけ正確か、つまり誤差を測ることじゃ。

誤差、ですか。予測と実際の価格の差ですね。

そう!誤差関数を使って、どの線形モデルが最もデータに適合するかを判断するのじゃ。誤差の測り方には、絶対誤差と二乗誤差があるぞ。

絶対誤差は差の絶対値で、二乗誤差は差の二乗、でしたね。二乗誤差は大きな誤差にペナルティが大きくなるんでしたか。

その通り!で、最適な線形モデルを見つけるには、誤差関数を最小化する必要がある。総当たり法は非効率だから、勾配降下法の出番じゃ!

勾配降下法…!誤差曲面を下るように、傾きと切片を調整していくんでしたね。

そうじゃ!各ステップで、現在の点での曲線の傾き(微分)を測定する。微分が正なら左に、負なら右に移動する。微分がゼロになるまで繰り返すのじゃ。

なるほど、傾きを見ながら、一番低いところに降りていくんですね。

二乗誤差を使うと、誤差曲面が滑らかになるから、勾配降下法が効果的に機能するんじゃ。絶対誤差だと、曲面に急な曲がり角が生じて、難しくなるのじゃ。

二乗誤差を使う理由がよくわかりました!

最後に、確率的勾配降下法はニューラルネットワークのトレーニングに使われるアルゴリズムじゃ。線形回帰と同じように、パラメータを調整して誤差を最小化するのじゃ。

線形回帰と勾配降下法が、ニューラルネットワークにも繋がってくるんですね!

そういうことじゃ!しかし、家の広さが0の時の価格を予測するなんて、まるで私がおやつを全く食べない時の体重を予測するようなものじゃな。

博士がおやつを食べないなんて、想像できません…!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。