I am currently creating a neural network.
I know it's going to be a tough goal for a beginner like me, but I honestly don't have anything else that actually motivates me to make. Also, I really do want to make it in C++ because I am NOT in the mood to learn python or any other language right now.
The desired objective of my neural network is to simply do this (in coding terms):
1 2 3 4 5 6 7 8 9 10
|
#include <iostream>
int x = 1; //any positive single-digit
int y = 2; //any positive single-digit
if (x == y){
std::cout << "True" << std::endl;
}else{
std::cout << "False" << std::endl;
}
|
Of course the neural network won't actually print "True" but it will output
either 0 or 1 for true or not.
However, after working on it for the past few days I am wondering if I am going in the right direction with this.
Actually, I'll break it down.
I am currently using inheritance to create my Neuron classes.
The network is as such:
2 inputs
3 hidden layers
1 output
I am using this for training my neural network:
https://www.youtube.com/watch?v=Ilg3gGewQ5U&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi&index=3&t=553s
And I would like to know what tips you could give me for it.
(1)What should I use to hold 'neurons', arrays or vectors?
(2)What should I do to train, Back propagation or another easier to understand technique to train algorithms that is as efficient and quick?
(3)Any other tips?
P.S. Unless it is beyond necessary, I don't want to drown myself in calculus. The video I linked actually explains it without calculus.
P.P.S Code can be provided if you so request.
P.P.P.S. Most of my code is unfinished, but I decided it was better to ask you guys then to continue.