暇人日記

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

Coursera Machine Learning Week4 課題 2周目② -苦闘記憶-  Logistic Regression

 前回の終わりから問題文を読み進めていきます。

 

f:id:omoshiroamericanews:20200224185507p:plain

 

one-vs-allでloopが必要だけれど、まずは1つのパターンの式を作ってみようと

言っていると思います。

 

 ポイントでいうと↓の部分です。

f:id:omoshiroamericanews:20200201222823p:plain

 

Regularized Logistic RegressionはWeek3の課題にもあったから、

完コピで突破出来たら楽だなぁと思ったのを覚えています。

 

問題文にヒントらしきものがのっています。

f:id:omoshiroamericanews:20200224192718p:plain

f:id:omoshiroamericanews:20200224191446p:plain

 regularizedでなくてもいいというのが1つです。

そしてloopを含まずに答えなさいという指示になっています。

 

完コピで行けそうな感じです。

というのはWeek3でもloopは使ってませんでしたし、regularizedでないものも

作成したからです。

 

続いてgradientです。

f:id:omoshiroamericanews:20200224192754p:plain

f:id:omoshiroamericanews:20200224192516p:plain

こちらも似たような説明とアドバイスです。

ループは使わないことというアドバイスです。

もともとWeek3で作った式もループは使っていなかったので、

そのまま行けそうです。

 

f:id:omoshiroamericanews:20200224193021p:plain

続いてRegularizationしなさいということですね。

ここまでは完全にWeek3と同じように思います。

ループなしで、みたいなアドバイスがあるのですが、

Week3の時点でやっていたので大丈夫そうです。

 

次にプログラム詳細のlrCostFunction.mを見てみます 。

 

f:id:omoshiroamericanews:20200224193623p:plain

lrCostFunction.mはtheta,X,y,lambdaを入力するとJとgradを計算してくれる関数ですね。

 

アドバイスがありました。

IntstuctionとHintコーナーに分かれていました↓

 

f:id:omoshiroamericanews:20200224193944p:plain


 まずHintを読みます。ずっとvetorizedという単語が問題文にありましたが、

赤線で下線を引っ張った部分のことのようです。

ずっとこれをVIDEOで行うように言われていましたから念押しなんですかね。

 

赤枠はregularized gradientの大ヒントですね。

Week3で見たかったくらいの大ヒントです。

答えの見た目はこういう4行構成になるという大ヒントが書いてあります。

Week3で同じ構成で書いているので完コピで行けそうです!

 

Instructionは問題文全体ex3.mにありました。

 

特定のthetaとlambdaが割り振られています↓

f:id:omoshiroamericanews:20200224194505p:plain

そのとき正しく計算式ができていれば、

Jは2.534819

gradは0.14、-0.54、0.72、1.39

になると書いてあります。

 

プログラムを実行してみました!↓

 

f:id:omoshiroamericanews:20200224194745p:plain

 

 見事に答え通りになりました!

 

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