線形回帰について勉強中である.
講義ノートとして記事を書くことにする.
1変数の線形回帰
以下のように回帰直線を設定する.
Cost Function
の部分が回帰直線で予測した値と実際の値との誤差(の2乗)であり,全ての点における誤差2乗の和の平均値(の割る2)がCost Functionとなる.
割る2したのは後の計算が楽になるからである.
Gradient descent
を最小化するような組をGradient descentで求める.
まず偏微分を行う.
上式をについて求める.
なので,
となることから,
Gradient descent algorithmは以下のようになる.
repeat{
}
ここでは学習率であり,大きいほど更新量が大きくなる.
上式を値が変化しなくなるまで繰り返し更新することで最適な組が求められる.
多変数の線形回帰
重回帰は以下となる.
これはベクトル,,と表記することで以下のように書ける.
重回帰の例としてワイン方程式を出そう.
統計と予測 - ワインの方程式 - : 発想法 - 情報処理と問題解決 -
から引用させていただき,イコールや定数項の位置を入れ替えて書くと,
ワインの価格 =
ー 12.145
+ 〔前年の10月〜3月の雨の量〕× 0.00117
ー〔8,9月の雨の量〕× 0.00386
+〔4〜9月の平均気温〕× 0.616
+〔ワインの年齢〕× 0.02358
となるそうである.
これをで表すと,
となる.
このようなを探すのが重回帰分析である.
Cost Function
1変数と同様に,Cost Functionを定義する.
回帰によって求めた値と実際の値との差分を二乗して総和を求めるという話なので,1変数でも多変数でも同じである.
Gradient descent
について偏微分を行う.
Gradient descent algorithmは以下のようになる.
repeat{
}
こうして書くと分かるが,重回帰は単回帰の一般化である.