Mam problem z siecią neuronową.
Na początek - całość wygląda tak: http://pastebin.com/cQVmm3Hh
Fragment, z którym mam problem wygląda tak:
void Neuron::feedForward(const Layer &prevLayer)
{
double sum = 0.0;
for (unsigned n = 0; n < prevLayer.size(); n++)
{
sum += prevLayer[n].getOutputVal() *
prevLayer[n]._outputWeights[_myIndex].weight;
}
_outputVal = Neuron::_transferFunction(sum);
}
Suma liczy się dobrze, problem jest prawdopodobnie z funkcją Neuron::_transferFunction(sum)
double Neuron::_transferFunction(double x)
{
return tanh(x);
}
Za każdym razem przekształca sumę w liczbę -9.2559631349317831e+61.
Trochę się nad tym głowię, czy jest ktoś w stanie wskazać mi gdzie robię błąd?