【機械学習】正規方程式【Coursera】-その6-

Courseraで受講している機械学習について、勉強したことをアウトプットしていこうと思います。
あくまでも自分用となるので、もっと詳しく知りたい人は是非受講してみてください。

正規方程式

今まで、線形回帰に用いてきたアルゴリズムは、勾配降下法でした。
それは、コスト関数Jのθの値を最小化するために何度もステップを用いて利用してきました。
正規方程式では、θを解析的に解く方法を提供するため、繰り返しアルゴリズムを利用せずに解くことができます。
それを解説するために、以下の図を見てください。

いつもの家の値段のマトリックスです。
そこに、前回学習したようにx0=1として追加しましょう。

これを行列にまとめましょう。

m*n+1

y(家の値段)も同じ様に行列にまとめましょう。

これを計算式に起こすと、
θ=(XT X)^-1 XT y
これはシータを最小化するための答えが帰ってきます。

この式の(XT x)^-1とは何を指しているのでしょうか。
これはXの逆行列を示しています。
この逆数にXの転置を掛け、最後にyをかけてあげることで、
コスト関数のシータの最小値を返すことがわかっています。
→この解析は行いませんので、ルールとして覚える必要があります。

そして、この正規方程式を利用する場合、フィーチャスケーリングは不要です。
どの範囲の値でもただし解を導くことが可能です。

勾配降下法と正規方程式の使い分け

m個のトレーニングデータとn個の特徴があったとします。
勾配降下法では以下のデメリットが存在します。
・α(LearningRate)を選定する必要がある。
・複数回の反復処理が必要となる。
この2つが正規方程式にはありません。
ですが、勾配降下法には以下のメリットが有るのです。
・どれだけnが存在しても正しく機能する。
正規方程式では、nの数によって、逆数((XT X)^-1)を求めなければならないため、
とても膨大な処理となってしまうのです。

nが大体1万ほど存在した場合は、勾配降下法を利用するほうが得策でしょう。

今回は以上です。
徐々にわからなくなってきました・・・
前回の情報量が多く、今回と時間が空いてしまったからでしょうか。。。
再度記事を見直す必要がありますね。。。

それではまた。