暇人日記

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

Coursera Machine Learning Week4 VIDEO

問題文を読んで分からなかったのでVIDEOを再度見てみました。

 

 

 

 

Video① Non linear Hypotheses

Week2やWeek3で行ったLinear Regressionや

Logistic Regressionではfeature(変数)が多くなった時に対応しきれない。

だからNeural Networkを勉強すべきという説明です。

 

 

Video②    Neurons and Brain

Neural Networkの由来・仕組みである脳と神経の説明でした。

 

Video③   Model RepresentationI

ついに脳と神経の仕組みがプログラミング上で

どう計算されているかという説明です。

 

Input Layer-->Hidden Layer-->Output Layerと

まさに脳と神経の仕組みのように構造を作るという説明です↓

 

f:id:omoshiroamericanews:20200405225053p:plain



ポイントはHidden LayerとOutput Layerは0と1の間の数字にさせるということ

だと思いました。

 

1周目の時は分かりませんでしたが、2周目の今回は

Hidden LayerとOutput LayerにSigmoid関数をかまして

0と1の数字の間にさせていることに気づきました。

 

それはこのスライド↓に表れています。

f:id:omoshiroamericanews:20200405225939p:plain

a1もa2もa3もgのSigmoid関数に入っているので、0か1になっています。

 

ところでこのスライド↑のaもθも数字が多すぎて

何を示しているか分からないのでまとめてみたいと思います。

 

まずaです。

f:id:omoshiroamericanews:20200405230908p:plain

 

右肩はLayer

右下はlayerの中の位置

 

f:id:omoshiroamericanews:20200405230843p:plain

↑を言い換えているだけですが、自分としては自分の表現の方が

分かりやすいです笑

 

次にθです。

θはややこしいと思ったので図にします。

f:id:omoshiroamericanews:20200407172426p:plain

 

↑がVIDEOにありますが、a1だけにしてみます↓

 

f:id:omoshiroamericanews:20200407172656p:plain

 

a1はX0,X1,X2,X3から計算されるので図として↑になるはずです。

X0,X1,X2,X3はそれぞれθとかけます↓

f:id:omoshiroamericanews:20200407172845p:plain

 

図だと↓になります。

f:id:omoshiroamericanews:20200407173318p:plain

 

 

なのでθの右肩、右下を 図でまとまると↓になります

 

f:id:omoshiroamericanews:20200407173749p:plain

x (or a)は今回の図の例のようにInput Layerがスタートの場合はxで、

Hidden Layerがスタートの場合はaになります。

 

 

次にこのポイントがわかりづらかったです。

f:id:omoshiroamericanews:20200407174106p:plain

さらっとθは3X4です、とVIDEOで言われて、

f:id:omoshiroamericanews:20200407174143p:plain

一般的には↑のようになるという解説でしたがわからなかったので

考えてみます。

 

θが3X4というのは、無理やりスライドの絵を拾い集めて

図にすれば分からないこともないです↓

f:id:omoshiroamericanews:20200407175142p:plain

 

Sjなどの方は絵にするとこういうことかと思います↓

f:id:omoshiroamericanews:20200407223022p:plain

 

θはLayerjとLayer j+1の間に挟まれるので、

Sj+1(右の出力されるLayer)  X Sj ̟ + 1(左のBiasを足して1増えた左のLayer)

 

だと思います。

 

こう考えるとθが3X4も

 

f:id:omoshiroamericanews:20200407223434p:plain

 

右の出力されるLayerが『3』で、

左のBiasを足して1増えた左のLayerが『4』なので

3X4だと思いました。

 

余談ですが前の日記で取り組んだOne VSAllで

私はθを401X10で答えを考えていたのですが、

問題文詳細は10X401に誘導してきていました。

この誘導はこの考えからではないかと思います。

       

  

Video④ Model RepresentationII

f:id:omoshiroamericanews:20200407224017p:plain

Vecotorozationをした瞬間に右下のlayerの中の位置の数字が消えています。

θXでlayerの全てを計算しているのでそうなっていると思います。

f:id:omoshiroamericanews:20200405230908p:plain

右下の数字はLayerの中の位置だったんですが、

VectorizationですべてのLayerの中の位置を計算しているので

消えたのだと思います。

 

 Video⑤   Examples and IntuitionsI

いきなりXORやXNORという見慣れない単語が出てきて戸惑うが、

このVideoで説明されているのはANDとORだけということに気づきました。

f:id:omoshiroamericanews:20200405232847p:plain

という↑の内容を↓のように説明していると思います。

 

f:id:omoshiroamericanews:20200405232316p:plain

f:id:omoshiroamericanews:20200405232450p:plain

このVIDEOはここで終わって、XORやXNORは何かわからないままでした。

 

Video⑥ Examples and IntutionsII

 

まず『NOT X1』の説明がありました↓

f:id:omoshiroamericanews:20200407101409p:plain

シンプルにX1が0のときは1で、X1が1の時は0になるということです。

 

次に『(Not X1) AND (NOT X2)』の説明でした↓

f:id:omoshiroamericanews:20200407101932p:plain


f:id:omoshiroamericanews:20200407101902p:plain

f:id:omoshiroamericanews:20200407102330p:plain

 

なので↓になります。

f:id:omoshiroamericanews:20200407102133p:plain

 

次にXNORの説明でした↓

f:id:omoshiroamericanews:20200407102603p:plain

これはこうなるということですね↓

f:id:omoshiroamericanews:20200407102638p:plain


XORは出てこないまま終わりました

『(Not X1) AND (NOT X2)』がXORだったんでしょうか。。。

全部まとめるとこういう感じですね↓

f:id:omoshiroamericanews:20200407103301p:plain

 

Hidden LayerとOutput Layerが0か1になるのでこういう論理式の

説明があったのかなと思います。

 

 

Video⑦ Mutliclass Classification

 

f:id:omoshiroamericanews:20200407224451p:plain

これを作るのがまさに場合分けという説明でした。

課題ではこれが手書きの数字0から9で10種類で解くことになっていました。

 

VIDEOの振り返りはここまでにして、次回課題に戻りたいと思います。