consultation about ANN libraries - neural-network

Firstly, I am a beginner in artificial neural networks and I need a special library for training the artificial neural networks, but I very confused in the selection of the library, and since I didn't have the experience I wanted to consult you.
I have read about three libraries:
FANN, Flood, and Neuro Fusion libraries.
So, what are you think about the easiest and Least problems library for using it with VC++.6?

I just started using FANN, and it seems to be very well documented, with great examples and fast.
It operates with floats/doubles/integers and implements the Cascade2 training method, which is really great if you are unsure about the architecture of your NN.
It is not as rich as Encog (didn't use it), but if FANN implements all the functionalities you need, I think you should go with it.
Edit: I just realized that Encog is only available for .NET C# (besides Java)

Related

Looking for advise to create my first neural network to classify text

I am very new in this field and I would like to create a Neural Network to classify a dataset that I have in MongoDB. I would like some advise about where should I start, what technology should I use or any tutorial that you think it can help.
If you know about any open source code that already does this, I would love to take a look at it.
Thank you !!
Pick a platform
In essence, you should pick a platform or framework that does much of the dirty work for you and read up on some tutorials for that.
The big choice is between natural language processing frameworks such as NLTK or spaCy or Stanford NLP tools; or a generic machine learning framework such as Tensorflow or PyTorch.
Text classification is a popular task that's reasonably entry-level, is well supported by pretty much everything (so it's not much to say there in a shopping question, pick whatever you like) and would have a bunch of tutorials available online for any major platform.

A Simple Tool to Train and Test Neural Networks

I’m looking a simple tool to train and test neural networks for classification tasks. It need not be very sophisticated tool and I just want to train and test simple data sets such as given in the following web site.
http://www.stats.ox.ac.uk/pub/PRNN/
It's not a pre-made utility, but you could roll your own quite quickly using the Encog neural network framework (for both Java and .NET).
I've used it before and it was quite easy to get to grips with. The documentation is quite good, and if you need it, I've also found support on the forums to be good.
* UPDATE *
I just remembered that Encog does actually ship with a pre-made utility called Encog Workbench, which should do what you want.

easiest tool to use for a extreme beginner for classification/clustering

I saw that the tool weka is having a gui interface. This gui interface is very easy for non coding users to classify data sets into classes. Matlab is very difficult since say for example making a neural network you need to write code and to do that you need to have a solid understanding of whats going on. Are there other tools like weka or else is there a plugin to matlab that gives more power to it?
RapidMiner has a functional GUI, and will work for both classification and clustering. It is the most popular open-source (free) data mining application available as of 2012.
RapidMiner: http://rapid-i.com/
It also has numerous training videos and tutorials that you can follow along with - I learned basic clustering methods using a K-means cluster method in about 3 hours. See the Vancouver Data blog for some great RapidMiner analytics videos. Top-notch stuff, really.
Vancouver Data (Neil McGuigan): http://vancouverdata.blogspot.com/
As a bonus, you can install the Weka plug-in, which then gives you GUI Weka. All of the add-ons are free and well-integrated. Other add-ons include a GUI 'R' (the stats program), Reporting Services, Text and Web Analytics, etc. It is fairly simple to use straight 'out of the box' (IMO).
Weka is very (very) powerful and you can write your own classifier if that's what you need to do.
Between Matlab and Weka there's pretty much nothing you can't do in terms of Machine Learning.
You might want to check out Netlab toolkit for Matlab, which is a neural network toolkit developed by a Professor at Aston University - it is available from http://www1.aston.ac.uk/eas/research/groups/ncrg/resources/netlab/

Neural networks in Lisp - advice

Can anybody suggest a good tutorial or book for neural networks in Lisp, or a blog, or share some code sample?
I have experience with neural netowrks in the imperative languages C++, Java, C#, but I want to try it in Lisp.
The seminal book AI: a modern approach includes LISP source code on the website: link
Specifically, check out the Learning chapter (perceptron etc)
In the same vein you have Paradigms of AI in Lisp, but it doesn't really touch neural networks if I remember correctly.
While the question is old and my answer is late, I still think it's valuable.
Recently I was looking for some resources on Machine Learning in Common Lisp(hence why I found this question). After doing some more research, I've found this codebase. It contains many interesting things, such as Boltzmann Machines, feed-forward and recurrent backprop neural networks. The author also has other libraries, such as evolutionary algorithms. This code is sure a good way to start.
Yann LeCun, my advisor at NYU, wrote an object-oriented dialect of lisp called Lush while he worked at Bell Labs. It feels like a lispy MATLAB, and is geared towards quick prototyping of numerical experiments and machine learning research. It installs easily if you're using Linux or Mac OS. During the late 90's a good fraction of all checks in the US were being read by the LeNet-5 net that he wrote in Lush.
We use it for most of our research, since it has so much support for convolutional neural networks, linear algebra, and has an easy C/C++ FFI for everything else. It also comes with demo code for implementing neural nets and convolutional networks for image and character classification, which is probably where you'd want to start.
It's in the Ubuntu repositories, but you probably want the latest version from here:
http://lush.sourceforge.net/
Searching on google I found these
book: "Common LISP Modules Artificial Intelligence" (at amazon)
Same at Google Books
library for Fast Artificial Neural Network
And this blog have some posts about ANN

Neural Networks for Pattern Recognition

Hey guys, Am wondering if anybody can help me with a starting point for the design of a Neural Network system that can recognize visual patterns, e.g. checked, and strippes. I have knowledge of the theory, but little practical knowledge. And net searches are give me an information overload. Can anybody recommend a good book or tutorial that is more focus on the practical side.
Thank you!
Are you only trying to recognize patterns such as checkerboards and stripes? Do you have to use a neural network system?
Basically, you want to define a bunch of simple features on the board and use them as input to the learning system. It can often be easier to define a lot of binary features and feed them into a single-layer network (what can become essentially linear regression).
Look at how neural networks were used for learning to play backgammon (http://www.research.ibm.com/massive/tdl.html), as this will help give you a sense of the types of features that make learning with a neural network work well.
As suggested above, you probably want to reduce your image a set of features. A corner detector (perhaps the Harris method) could be used to determine features in the checkerboard pattern. Likewise, an edge detector (perhaps Canny) could be used in the stripes case. As mentioned above, the Hough transform is a good line detection method.
MATLAB's image processing toolbox contains these methods, so you might try those for rapid prototyping. OpenCV is an open-source computer vision library that also provides these tools (and many others).