New forum topics
- Need help with LSTM libraries
- Memory usage in Java
- Delphi
- Stock Market Question
- Output priorities, retrieving input weights
- Local Minima Question
- Forest Cover Midterm and other Assignments in Java book and Youtube
- Forest Cover Midterm and other Assignments in Java book and Youtube
- using this course for robotics
- correlated assets in a single network




There is no "Encog for C++", though I have considered such a thing. The .EG files produced by Encog are just XML, so they could be read by a C++ application easy enough. FANN is a good C++ neural network framework, you would need to write something that read the .EG file and setup a FANN neural network with the same weights and thresholds.
Jeff
I do not find recurrent neural network support in FANN.
Will .EG format stay without any changes in next versions of Encog?
Yes, the goal is to keep the .EG files the same from version to version. There is a "fileVersion" attribute in the file that will get incremented if a "breaking change" is needed in the future. But at this point no such changes are planned, and if more advanced neural networks are added, the goal is to add new attributes to the file, rather than change existing ones.
Tthank you for sapport.
One more question.
I don't understand what is threshold value and what for it used.
neuron model:
w1 \
w2 - -> w1+w2+w3 -> (activation function ActivationTANH) -> result
w3 /
.eg file contains activation function (ActivationTANH) and threshold values for every neuron.
in "Introduction to Neural Networks with Java Second Edition ", page 49, I read about threshold:
" There are two attributes associated with this neuron: the threshold and the weight.
The weight is 1.5 and the threshold is 2.5. An incoming signal will be amplified, or
de-amplified, by the weight as it crosses the incoming synapse. If the weighted input
exceeds the threshold, then the neuron will fire.
"
Is I right, that neuron model in encog is:
w1 \
w2 - -> w1+w2+w3 -> (activation function ActivationTANH) -> result -> if (result>threshold) return result; else return 0;
w3 /
?
Encog 2.2 will be released sometime in October. I am actually holding the multicore enhancement for 2.3. Though 2.2 does support multicore on operations, such as pruning. I am introducing a new training algorithm, somewhat based on RPROP, called MultiProp. This will likely be ready by 2.3. Rather than try and shoehorn the existing encog propagation techniques into multicore, I am creating a new one that should make efficient use of multicore. I will have more on that later.
The threshold is just an additional bias, like the weights, except one per neuron. Some neural network types use a threshold to determine if it fires or not. This is usually when dealing with bipolar type networks(i.e. Hopfield or Boltzman) where the output is either all or nothing. Encog implements this sort of threshold through the bipolar activation function. Most feedforward and SRN implementations just add the threshold value to the output after the weighted input has been calculated. This allows each neuron the ability to increase or decrease the output. And they are adjusted during training. Just additional granularity to assist the neural network to fit to whatever it is being trained for.