暇人日記

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

Coursera Machine Learning Week5 課題 2周目① Cost Function VIDEO振返り 

Week5はかなり難しく苦労した記憶がありますのでまずVIDEOから振り返ります。

 

Video①Cost Function

 Cost Functionの説明がきました。

 

予測式-->Cost Function-->Gradient-->最適θ-->予測

というのが機械学習の黄金パターンなので

Week4では計算しなかった最適θの計算方法の説明につながっていくと思います。

 

Week2のLinear RegressionとWeek3のLogistic Regressionでは

予測式-->Cost Function-->Gradientは

↓のようになっていました。

 

f:id:omoshiroamericanews:20200410104305p:plain

 

これ↑にNeural Networkを足せれば、自分が理解できたような

気になれそうです!

 

さてNeural NetworkのCost Functionですが、

Logistic RegressionのCost Functionが複数足しあわされたもの、

ということであっさり説明されます↓

 

f:id:omoshiroamericanews:20200410105653p:plain

確かに式の前半↓はLogistic Regressionの式と似ています。

f:id:omoshiroamericanews:20200410110002p:plain

 

 

 

ので上下並べてみます。

 

上がNeural Networkで下がLogistic Regressionです。違いを赤丸で囲ってみました。

f:id:omoshiroamericanews:20200410110308p:plain

 

KはWeek4の課題のようにOutput Layerが複数ある時に場合分けのKパターンについて

足し合わせる必要があるということを意味していると思います。

 

抽象的で分からないので、具体的にWeek4の課題でK=10のときを考えてみます。

Cost Functionで検証したいのはK=10の予測の時の精度になります。

実Sample;Yは5000X1のベクトルで最初の方は10ということは

Week4の課題でみてきたので、絵としては↓のようになるかと思います。

 

f:id:omoshiroamericanews:20200410111916p:plain


K=10の予測の赤枠の部分は青の点線枠で囲ったところは1で、

囲まれてないところは0だったら精度が高いことになります。

 

とすると、実SampleもK=10の時は10の箇所は1で10以外の箇所は0になっているのが

良いと思いました。(何もしないと1やら2やら3やら4やらの数字が入っています)

 

これは前回の日記でやりました↓

Coursera Machine Learning Week4 課題 2週目③ -苦闘記憶- One vsALL① - 暇人日記

 

f:id:omoshiroamericanews:20200410113558p:plain

 

やるとこういう感じになるはずです↓

f:id:omoshiroamericanews:20200410113130p:plain

この上の絵↑の右がf:id:omoshiroamericanews:20200410113304p:plainで5000X1になると思います。

 

f:id:omoshiroamericanews:20200410113338p:plainはK=10とすればK=10の時の5000X1の予測かと思います。

これでこの式↓の構成がわかったような気がします。

f:id:omoshiroamericanews:20200416133211p:plain

f:id:omoshiroamericanews:20200410113304p:plainの5000X1とf:id:omoshiroamericanews:20200410113338p:plainの5000X1で計算できそうです。

 

そしてK=1~10みたいにLoopの計算になりそうです。

 

Reading Partに

f:id:omoshiroamericanews:20200410114826p:plain

とありました。

確かにSimpleにdouble sumという考えはシンプルですね。

 

次に後半部分を考えます。

f:id:omoshiroamericanews:20200410113923p:plain

Andrew先生は見た目は難しいけど簡単といっていますが、そんなことないです。

 

十分難しいです。

 

θの右肩と右下の数字が何を示しているかは

前回の日記で考えていました↓

 

f:id:omoshiroamericanews:20200411100858p:plain



これ↑と今回のCostFunctionの関係を色付けすると↓になります。

f:id:omoshiroamericanews:20200411101217p:plain

赤丸、緑丸、青丸の3つに分かれます。

 

赤丸のLayerは分かりやすいです。

θのLayerは各Layerの間にあるので、↓の例だったら『3』Layerなので

一般化して『L』Layerあるときはθは『L-1』Layerということだと思います。  

 

f:id:omoshiroamericanews:20200411101314p:plain

 

次に緑丸のiを考えます。

 

Week4で左の構造のときに、θを全部書くと右になるということを書いていました↓

f:id:omoshiroamericanews:20200411102029p:plain

iは右下の1の位で0から3までありますが、0はBiasでX0に対応して足したものだから、

削ります。ということでi=1からSlの合計になっていて、意図的にi=0が外されていると思います。

 

次は青丸ですが、10の位が計算結果になるaのlayerの中の位置に対応しているので

計算結果になるaのLayerの数ということになります。

計算結果になるLayerがsl+1で表現されているのではと思います。

 

赤丸、緑丸、青丸は参照している場所が一緒ではなく

下のようにバラバラになっていると思います。

f:id:omoshiroamericanews:20200411103542p:plain

 

だから青丸は計算結果になるLayerがsl+1で表現されているのではと思います。

 

こういう表し方↓もあると思います。

 

 f:id:omoshiroamericanews:20200416133855p:plain

θは上の図で表されますが赤丸、緑丸、青丸で表現された場所を

点線で囲ってみました。

見事に右下の1の位が0のものが除外されていて、

これはBiasに対するθで外すべきものです。

 

というわけでまとめ表にNeural Networkを足すと、

 

f:id:omoshiroamericanews:20200410104801p:plain

になります。

 

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