2021年08月06日

機械学習と深層学習 小高・オーム社2018

機械学習と深層学習 ―C言語によるシミュレーション―

第4章の2  バックプロパゲーションによるニューラルネットワークの学習
そこで3層構成で、多数決論理を学習するという例題、バックプロパゲーションの原理的な解説である。数式は・・・・書かないが、学習係数αというパラメータがある。
これはα = 10 の値でプログラム書いておるおるおーーるを。この値を変えるとどうなるんだぉ?
というわけで変えてみた。

image

α -- 1 ~ 20 まで +1して行きましたでし。本は α = 10 のときに回数 270回ぐらいだった。学習係数が小さいと回数増える。。。うむうむ。そうかもなあ。
では学習係数が大きくなると?  収束が速くなるか・・・とも限らず。14以上で暴れた。20以上は回数10000で止めとる。収束しない。

うーーむ。そうなんだ。そういうものなんだ。学習係数って最適値はどうやって探すんだろな。

α --  10から0.1ずつ増やしたらどうなるんだろーー。こうなった。あらら、ららー、素直じゃないなあ。が、収束している。
image

 

0.01刻みで少し見た。

image

なんか変動の理由はよくわからんが収束している。

学習係数を変えて繰り返すってのは本のコードを少しいじりまして。計算のところはいじってないので、このコードだとそうなるのだろうと思うよん。

学習係数は小さすぎると回数が増えて、大きすぎると収束しなくなるぞ・・・という事が分かった気がするばい。
ちなみに、誤差は単なる差を取る方式であって差の自乗和をとるものではない。

  こうやって動かしてみると何だか理解が進んだ気がするうぅぅ・・・・・ m(_ _)m

posted by toinohni at 08:55| 東京 ☀| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする