機械学習に必要な数学 その3 単回帰分析 2
どうもしても、休日中に連絡を取らないといけない事が多いGuchinakaです。いきなりのカミングアウトすみません。(以前よりは、かなり解消しつつあります)
単回帰分析の前にという記事を前回はアップしました。
この記事を読む前に、上記の記事を読んでおかないと意味不明かも知れません。
上記の記事では、y = ax + bのaを適切に求めることが必要であると述べました。(aは、傾きですよね)今回は、単回帰分析についても書いていきます。非常に簡単に書いて行くので、少し語弊があるかも知れません。
実際の歩行速度と、予測の歩行速度の差が小さいほど適切でありますよね。
・評価関数を決める
評価関数 = 損失関数とも言います。
実際の、歩行速度y、と予測の歩行速度y` の差をみる。(本当は、yハット)
y - y'
ですが、これでは、予測の歩行速度(y`)の方が大きい場合はマイナスになってしまいます。マイナスの歩行速度なんかありません。ということで、
(y - y')を2乗します。
これを、2乗誤差と言います。
これは、1つのデータだけではないので、実際は、
L = (y1-y2')2乗 + (y2-y2')2乗 + ・・n
Lが評価関数です。 こんな感じで、n件続いていきますよね。(シグマを使った式を作れるかと思いますが、ややこしい方もいると思うので省略します)
・評価関数を最小化する(2乗誤差を最小化)
y = axのaを最小化する。
当たり前ですが、xが筋力で決まっているので、最小化できるのは、傾きのaです。
そこで、傾き0を求めたいのです。傾きは、微分で計算できます。
↑↑微分のイメージが分からない方は上記記事参照↑↑
ややこしい式になるので、こんな感じということにしておきましょう。
・要は、微分をして傾きaを0に近づけるということ
こんな式などから、適切なパラメータaを求めていくことができます。
なんとなく、理解できましたでしょうか?
これは、論文を読むための知識ではなく、機械学習のための単回帰分析です。
論文を読むためには、デザインの他に、R二乗などの知識が必要でしょうかね。
とりあえず、今回はここまで。