暇人日記

アラフォーおっさんのコーセラの機械学習の課題を解こうと頑張っています!

Coursera Machine Learning Week2 課題 2周目⑩ -苦闘記憶- Normal Equation

最後のOptionでNormal Equasionです。

 

Videoでは

f:id:omoshiroamericanews:20200114182317p:plain

(出典;『Coursera Machine Learning』 By Mr. Andrew Ng)

 

と説明されていて、

nが大きいと時間かかるけど、nが小さかったら一発で解答にたどり着くというイメージなのでとても楽しみにしていました。

 

まずは問題文を読んでみます。

f:id:omoshiroamericanews:20200114182513p:plain

Normal Equationの場合はfeatureNormalizeしなくていいと書いてあります。

収束するまでのLoopはないと書いてあります。

(一発で解答がでるからと理解してます)

Xにすべて1の列を足すのは同じとかいてあります。

 

さて問題のプログラミングの式ですがVideoで↓のように案内されていました。

f:id:omoshiroamericanews:20200114182648p:plain

 

式の意味は分かりませんが、

ベクトルの次元としては

3X 47かける47X3で3X3になって

3X3 かける 3X47で3X47になって、

3X47 かける 47X1で3X1の次元になるように見えますね。

 

とにもかくにも、この式で計算するとthetaが↓のように出ます。

 

f:id:omoshiroamericanews:20200114182859p:plain

 

Normal Equationで計算されたthetaでJを計算すると、

f:id:omoshiroamericanews:20200114183549p:plain

 

20億4千万くらいですね。

Α=.0.01 itetation=1500でやった計算も

Jは20億4千万くらいでした。

1500回やればある程度は収束するということなのかもしれません。

 

 

Food Truckの問題もNormal Equationでやってみたいと思います。

 

Food Truckをalphaを使いながら収束させたときの解の復習です。

f:id:omoshiroamericanews:20200114183735p:plain

 

4.4799から4.477へと

収束しています

そのときのthetaは↓でした。

 

f:id:omoshiroamericanews:20200114183903p:plain

 

これをNormal Equationで行った結果と見比べてみます↓

 

f:id:omoshiroamericanews:20200114184004p:plain

 

Jは4.477で同じです。

thetaはわずかに違います。

 

Food Truckをα,iterationをやった時には

完全最適なのか不完全最適なのかわかりませんでしたが、

Normal Equationでほぼほぼ完全最適に

収束していたことが裏付けられたと思いました。

 

今回はここまでです。

次回から他のWeekからWeek2の課題をみて

試せるテクニックは試してみたいと思います。