

Fast multilayer perceptron neural network library for iOS and Mac OS X - nikolaypavlov
http://nikolaypavlov.github.io/MLPNeuralNet/

======
svantana
While I applaud the effort, why on earth would anyone write a numerical
library in obj-c? AFAIK, there aren't any platforms that support obj-c but not
C/C++.

I need stuff like this from time to time, but I wouldn't restrict my
portability like this unless I really had to.

~~~
liuliu
Because Accelerate framework is in obj-c? (It is in C).

But in all seriousness, most cases, you want to implement your own neural
network anyway because the specific choice of network structure, activation
functions etc. Beyond that, it just matrix multiplication which is well
handled by lower level primitives like libatlas / libcblas / CUDAblas etc.

~~~
nikolaypavlov
I wrote it for real time motion analysis. Since it requires some signal
processing and detection, I decided to use Accelerate framework. Though my
main tool is R for such things.

------
Raz0rblade
But just keep in mind that neural networks beyond 4 layers are often not
better. and most work can be done with 3 layers total.. (so that is one hidden
one), having two hidden ones can just do some things that a 3layer cant.

But more then 4 is more often a bad design and usually overkill of layers for
most practical usages.

Although theoretical there no math limit to the amount of layers in practical
terms its more often calculation time that explodes to unless its a simple
FANN based network but then still 3 or 4 layers is 95% of the time enough

~~~
dnautics
I've heard this many times. Not contradicting it (I believe it, for the tasks
we tend to give ANNs, anyways) Do you have a good review/citation for this?

~~~
chestervonwinch
[http://neuron.eng.wayne.edu/tarek/MITbook/chap2/2_3.html#2.3...](http://neuron.eng.wayne.edu/tarek/MITbook/chap2/2_3.html#2.3.2)

~~~
dnautics
thanks, this is perfect.

