暇人日記

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

Week3のGradientをWeek2の方法で求めることにトライする

Gradientの日記で見たように、Week3とWeek2ではJを最小とするthetaの

探し方が違いました↓

 

 

Coursera Machine Learning Week3 課題 2周目④ -苦闘記憶-Gradient - 暇人日記


f:id:omoshiroamericanews:20200131230027p:plain

Week3はcostFunction.mがJとgradでfminuncで最小値を見つけましたが、

Week2ではComputecost,alpha,num_itersなどで見つけました。

 

日記5でfminuncでJとthetaは以下になるとあります。

 

f:id:omoshiroamericanews:20200131230459p:plain

Week2の方法で↑になるかどうか検証したいと思います

 

Jの検算に2つ確認しておきます。

 

*************************************************************************************

f:id:omoshiroamericanews:20200131231058p:plain

f:id:omoshiroamericanews:20200131230923p:plain

**********************************************************************************

この2つがGradientの時に出ていた確認ポイントだったので

これを確認します。

 

計算したら合ったので確認できました↓

f:id:omoshiroamericanews:20200131231332p:plain

 

それではWeek2の方法でWeek3の課題の最小Jと最適thetaにたどり着けるかどうか

見てみます。

 

まずalphaを0.1です。

f:id:omoshiroamericanews:20200131232741p:plain

 

 

次にalphaを0.01です。

f:id:omoshiroamericanews:20200131232829p:plain

 

減らしてalphaを0.001にしました↓

f:id:omoshiroamericanews:20200131232901p:plain

 

さらに減らしてalphaを0.0001にしました↓

f:id:omoshiroamericanews:20200131232930p:plain

Jが0.623から0.625に増えたので間の0.0005にしてみました↓

 

f:id:omoshiroamericanews:20200131233020p:plain

 

どうやらalphaが0.001~0.0001の間でJが0.62近辺で収束しているようです。

 

 

Jが0.62から0.23に近づくのは難しいですね。

 

J=0.62のthetaで正解率をみると、60%ですね。

 

これだと使えないのでfminuncの方が優秀なのかと思いました!

 

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