暇人日記

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

Coursera Machine Learning Week2 課題 2周目⑨ -苦闘記憶- 最適なαを探す

もうOptionの部分に入って長いですが、引き続きOptionの部分を行います。

 

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

f:id:omoshiroamericanews:20200114180702p:plain

 

適切なlearning rateを選びなさいという趣旨ですね。

Iterationを50にして、learning rate=alphaを0.3/0.1/0.03/0.01というように

変化させてJの収束具合を確認しなさいというように説明されています。

 

というわけでグラフを並べてみました↓

f:id:omoshiroamericanews:20200114180831p:plain

f:id:omoshiroamericanews:20200114180912p:plain

f:id:omoshiroamericanews:20200114180951p:plain

 

まとめると

alphaが3以上になるとエラー

alphaが1-3ならJが200憶近辺

alphaが0.3から0.03の時にJが100憶以下になっている

alphaが0.01-0.003ならJが200憶近辺

alphaが0.003以下なら一直線でJも600憶近辺までしかいかない

alphaが0.3から0.03の間に最適なalphaがありそうに見えますね。

 

f:id:omoshiroamericanews:20200114181724p:plain

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

Videoの説明通りといえば通りですね。

 

ちなみにalphaが3以上でエラーになっているJをみてみると↓でした。

 

f:id:omoshiroamericanews:20200114181212p:plain

10の78乗って、、、

どんどん値が増えていっているのでグラフの縦軸を突き抜けてErrorみたいですね。

 

さて問題文には↓のように

 

f:id:omoshiroamericanews:20200114181340p:plain

グラフを重ね合わせてみることもよいと

説明されていたのでやってみました↓

 

f:id:omoshiroamericanews:20200114181507p:plain

 

黒線が α=0.01

青線が α=0.1

赤線が α=1

です。

 

αが大きくなればなるほど、収束までの時間が短いように見えます。

しかしα=10だと発散してしまうので、1前後が限界だったのでは、と思います。

 

それでは今回はここまでです。また次回頑張ります!