Dear antirez:
Thank you very much for sharing this amazing code. And I have a problem to figure out or I can not sleep.
In function float AnnGlobalError(struct Ann *net, float *desired), Root Mean Square (RMS) error is used to record the loss, which means:

thus, I suppose in function AnnCalculateOutputError(struct Ann *net, float *desired) should be the derivation, which means:

but in your real implementation, it is like this(let n = classification number):

And I do integration on your real implementation to get the real loss function:

can you explain this a little bit for me??
what is the real loss function in your code??
Dear antirez:

Thank you very much for sharing this amazing code. And I have a problem to figure out or I can not sleep.
In function float AnnGlobalError(struct Ann *net, float *desired), Root Mean Square (RMS) error is used to record the loss, which means:
thus, I suppose in function AnnCalculateOutputError(struct Ann *net, float *desired) should be the derivation, which means:

but in your real implementation, it is like this(let n = classification number):

And I do integration on your real implementation to get the real loss function:

can you explain this a little bit for me??
what is the real loss function in your code??