% A simple implementation of Backpropagation
in Java.
% MiaoDX MiaoDX@hotmail.com
% Oct, 2016
There are lots of amazing open source implements of ML(/DL) libraries,and before diving into these great porjects,I think it really necessary to implement a simple ANN just by hand.In this way,we will not treat these toolkits as BlackBoxes
and just Draw
a graph and hope that we will get nice performace after an uncertain time,on the other hand,we make sure that we CAN
write an ANN or a simple part of it.
In this repo,a java implementation of Backpropagation
is presented.
There are some great resources on the internet that explains BP,some clear,some mathematical,and some just too difficult or too complex for us(me especially) to understand.Here are some articals I think worth reading:
-
神经网络反向传播的数学原理 [CHINESE]
-
Principles of training multi-layer neural network using backpropagation
-
BP(Back Propagation)神经网络及Matlab矩阵实现 [CHINESE]
At first,I wrote my codes according to the third article,but later I found that chances are that when calc the error(
To not make this page too complex,THE DESIGN PRINCIPLES AND IMPLEMENTATIONS DETAILS OR TRICKS CAN BE FOUND IN doc/DesignAndImplement.md,IT IS A GOOD ARTICLE -.-.
TODO: USE Guava.Graph
to reimplement it.
20151026: Some visualization work.
20161025: An implement do things ok.
20161004: Basic skeleton.