前回 に引き続き、Coursera Machine Learning Week 2を受講した。
前回は線形回帰モデルとは何か、最小化すべきCost Functionは何か、最急降下法とは何かについて学ぶことができた。Week 2の講義を受けるとさらに次のことを理解することができる。
- 多変量(x1, x2, x3, ...など変数が多数あるもの)の線形回帰をどのように考えれば良いか
- 最急降下法のための、正規化や学習率の決め方について
- 最急降下法でなくて、正規方程式を利用した線形回帰モデルの計算方法
- Octaveのチュートリアル
課題もやってみたけど、行列演算を利用することで難しい方程式を一気に計算できるようになるというのが面白いところだった。以下メモを置いておく。
Multivariable Linear Regression
Multiple Features
- 多変量の線形回帰
- x0=1と仮定すると、多変量の予測関数は次のように表せる
Gradient Descent For Multiple Variables
なので
を1と置くことにより、全てを一括で表せるようになり、可愛い感じになった。
Gradient Descent in Practice Ⅰ - Feature Scaling
- より収束しやすくするために、それぞれの変数を正規化する
- -1 <= x(i) <= 1くらいなら良い
- 経験的に -3 <= x(i) <= 3, -1/3 <= x(i) <= 1/3くらいなら許容
-
- μiがxiの全ての値の平均、siがrange = (max - min)
Gradient Descent in Practice Ⅱ - Learning Rate
- ずっとcost functionが下がり続けるLearning Rateを選ぶこと
- Learning Rate αが小さすぎると、収束するのが遅くなる
- Learning Rate αが大きすぎると、cost functionが減らなくなり、収束しなくなる可能性がある
Features and Polynomial Regression
- 複数のfeatureを一つにまとめることもできる。例えばfeature1 = 縦、feature2 = 横だとしたら、featureをまとめてfeature3=面積(=縦*横)とすることもできる。
- , と変数を定義することもできる。こうすると多項式の回帰のグラフとなる
Computing Parameter Analytically
Normal Equation
- Normal Equation = 正規方程式
- Normal Equationでのθ計算:
Gradient DescentとNormal Equationのメリット・デメリット
Gradient Descent | Normal Equation |
---|---|
学習率αの計算が必要 | 学習率の計算が不要 |
たくさんのiterationが必要 | iterateが必要ない |
計算量がO () | O ()の計算量である, の転置行列計算が必要 |
nが多くても計算できる | nが多いと遅くなる |
- n=10000を超えてくると、Normal Equationでは計算が大変になる