日曜大工のニューラルネットワークを最初から作成します。パート1。理論

こんにちは。私の名前はアンドレイです。私はフロントエンド開発者です。ニューラルネットワークなどのトピックについてお話ししたいと思います。実はML技術は私たちの生活に深く浸透しており、ニューラルネットワークについて多くのことが言われ、書かれていますが、この問題を理解したいと思ったとき、インターネット上にニューラルネットワークの作成方法に関するガイドがたくさんあることに気付きましたそして、それらは次のようになります。





  1. Tensorflowを利用する





  2. ニューラルネットワークを作成します





より多くの情報がインターネット全体にまとまって散らばっています。そこで、まとめてこの記事で紹介しようと思いました。私はMLや生物学の専門家ではないので、すぐに予約します。そのため、場所によっては不正確になる場合があります。この場合、コメントをいただければ幸いです。





この記事を書いているときに、かなりボリュームのある長い読み物になっていることに気づいたので、それをいくつかの部分に分割することにしました。最初の部分では理論について説明し、2番目の部分ではライブラリを使用せずに独自のニューラルネットワークを最初から作成し、3番目の部分では実際にそれを適用しようとします。





これは私の最初の投稿なので、モデレートが進むにつれて表示されます。その後、すべての部分へのリンクを追加します。それでは始めましょう。





日曜大工のニューラルネットワークを最初から作成します。パート2。実装





日曜大工のニューラルネットワークを最初から作成します。パート3。悲しいか幸せか?





. - . .





, . . , , , , , , , . 





, , , . , .





. , , , , . - - - .





: , - .





, . . .





, , , , , , .





- . , , , .





IT

, , ? 





, , , , . , . 





, , - , .





, , . , , .





, .





, , . . , .





, , , . . , . , . .





- , . 





, , . , , , , . , , . , . .





.

, , . . , 0 1 0,5 0. . :





f(x)= 1 /(1 + e ^ -x)

0 1. , , > 0.5, , - .





, . , , ( ), , , . , -0,5 0,5. 





 





1 * 0,43 + 0 * 0,18 + 1 * -0,21 = 0,22





, , .





sigmoid(0,22) = 1 / (1 + e^-0,22) = 0,55





0,60.





, , 0,60, .





, . , , . , .





. , .





error = 0.60 - 0 = 0.60





, . , .





シグモイド(x)dx =シグモイド(x)(1-シグモイド(x))





delta = 0.60 * (1 - 0.60) = 0.24









weight = weight - output * delta * learning rate





weight - , output - , delta - , learning rate - , , . - , . learning rate 0,3. :





w = 0,22 - 0,55 * 0,24 * 0,3 = 0,18





:





w = 0.47 - 0.60 * 0.24 * 0.3 = 0.43





, , , . , . . :





error = 0.18 * 0.24 = 0.04





, , , , . .





, , . , .








All Articles