Libann

Libann : Frequently Asked Questions


Frequently Asked Questions

  1. What is Libann?
  2. What is a Neural Network?
  3. What is an Artificial Neural Network?
  4. How do I use Libann?
  5. Why would I want to use Libann?
  6. Why doesn't it work properly?
  7. Where can I get support?
  8. What about MS Visual C++?
  9. Why doesn't this FAQ answer my question?

What is Libann?

Libann is a C++ library which provides implementations of Artificial Neural Networks.

What is a Neural Network?

The same thing as an Artificial Neural Network. The two terms are used synonymously.

What is an Artificial Neural Network?

It's a structure used in pattern recognition and classification applications. It gets its name from the way in which neurologists believe the human brain works.

Essentially it comprises a number of units (neurons) which are interconnected by weights (dendrites). The network starts in a random configuration. In use, there are two phases: the training phase and the operation phase. During training, data is presented to the network, which modifies its weights according to the data presented. In the operation phase, previously unseen data is presented to the network, which compares it to the information gleemed during its training. In other words, the network learns patterns and can make decisions based upon its learning.

How do I use Libann?

You will need a fairly recent C++ compiler and Standard Template Library. It's been developed using GCC but should work on most modern C++ STL/Compiler combinations. Download and install it. Then you need to read the accompanying documentation, and some of the example programs.

Why would I want to use Libann?

There's a number of reasons to use Neural Networks. There's been a lot of research into them in recent years. However, they are not a magic bullet and sometimes different types of network are better for different applications. If you have a pattern recognition or classification problem then a Neural Network is one way to solve it. Neural Networks are particularly useful when you don't have a complete model of the situation and when you have only a small number of exemplar samples. Libann makes it easy to set one up and test how it works.

Why doesn't it work properly?

Do bear in mind that Libann is under development. There's a number of reasons why you might have problems:

  • Because you're using it wrong. Re read the instructions and try again.
  • Because Neural Nets are temperamental things. Try adjusting some parameters, especially the size of the network. Bigger networks tend to work better (at the expense of speed)
  • Because there's a bug in the library. Please report it

Where can I get support?

Probably the best place is to join the user's mailing list.

What about MS Visual C++?

Libann is designed to be a ANSI C++ compliant library. As such, it should compile on any compliant compiler. That said, not all compilers are strictly compliant, and Microsoft is notable in this respect. Furthermore, I don't have a Visual C++ compiler to test it with. However, considerable attention has been given to keeping the code as portable as possible, and it should be easy to compile with very few changes. Please email reports of your success (or lack thereof) to the user's mailing list.

Why doesn't this FAQ answer my question?

Because no one has yet volunteered to write a more comprehensive one. Your feedback is appreciated.


[Home] [Frequently Asked Questions] [News] [Development] [Links] [Using and Installing] [Download] [Mailing List] [Licence]

Last Updated 15-May-2003