ActiveX Software for Visual Basic 6/.NET, C++ 6/.NET, Delphi, Borland C++ Builder: Matrix Maths, Time Series
 
 Home   |   Products   |   Testimonials   |   Prices   |   Support   |   Contact   |   Publications   |   About   |   Buy Now
Quick Links   Home   Purchase   Support
Products   Product Home   ActiveX/COM Components   .NET Components   Version History
Support   Support Home   Installation Help
About Us   Company Info   Clients   Testimonials   Publications   Contact Us

   Neural Network Software
 

    MLP/X 5.0
Neural Network ActiveX Control and COM Object

Product Features  Download  Product FAQ  Screen Shots!   Prices Buy Now

Fast, powerful and reliable - MLP/X is the best way to quickly implement a multilayer neural network in your Windows application.

If you need quick results with industrial-strength reliability when using a neural network in your application, whether it is in Visual Basic, Visual C#, Visual C++, Delphi or Borland C++ Builder, then try MLP/X Multilayer Perceptron Active Control and COM Object.

MLP/X is an ActiveX control that is tightly coded in C and C++, and can be used in a wide range of applications. You can now implement neural network software in just minutes by dropping in our control.

Example Neural Networks with Free Source Code

MLP/X lets you quickly and easily implement a Multilayer Perceptron or Time Delay Neural Network in your application. With full source samples in Visual Basic, Excel Visual C++ coming soon), you will be able to quickly and easily implement a neural network in your application. We are serious about ensuring you can use our neural network software in your application. If you aren't sure about how to use an ActiveX control in your application, and need to have some help to get started, just send us an email and we will assist you.

Background on Neural Networks

Neural networks are a relatively recent, but widely used class of mathematical model which can be applied to problems such as time series prediction, classification, and function or functional approximation. In contrast to classical linear models, MLPs are used primarily because of their nonlinear modeling capabilities.

The sample application included shows how to use an MLP for solving function approximation, classification and time series prediction problems.

The Pima Indians Diabetes Classification task is performed using the K-Fold Cross Validation method to determine the best network size within a range.

 

Screen shot of an application built in Visual Basic using MLP/X.

MLP/X Learning Algorithms

MLP/X implements a two weight layer multilayer perceptron or a Time-Delay Neural Network (TDNN). The parameters for an MLP can be found using a range of different techniques. The most well known of these is the backpropagation algorithm which is implemented in MLP/X.

In addition to the backpropagation algorithm, an Extended Kalman Filter-based, second order algorithm is also implemented. This type of algorithm can provide faster convergence to a problem solution.

The particular EKF algorithm used is the MEKA algorithm [1]. Often the MEKA algorithm will provide better results than standard backpropagation, however this is dependent on the actual problem. Both methods use gradient descent and are therefore subject to becoming stuck in a local minima in the weight space. These algorithms belong to a class of neural networks learning algorithms termed "supervised learning". This means, that they are capable of learning from a given set of data which must be provided by the user.

MLP/X provides a range of simple functions to create, delete, load and save an MLP. The K-Fold Cross Validation method creates, trains and selects the optimal network size of an MLP in one step. The size is estimated in terms of the number of hidden units within a nominated range necessary to achieve minimal cross validation error. Network weights can be optionally saved for later recall. Cross validation errors are returned as well as the optimal number of hidden units.

MLP/X ActiveX Control

MLP/X is an ActiveX DLL that can be used in wide range of Windows applications. It requires no user interface and can be accessed by any ActiveX compatible development environment, including VB 6, Visual Basic .NET, Excel, VBA, Visual C#, Delphi and Visual C++. MLP/X is a single DLL, only 205k in size!

MLP/X supports threaded blocking and non-blocking modes. This means for lengthy computations, you can use the control in a program, pass it some data for processing and the program can then run other tasks and respond to user input while the computations are taking place. When processing is complete, an event is fired and the program continues from the data processing step. This blocking/non-blocking mode is under program control. Error codes are returned from the event indicating the success or otherwise of the data processing. The computations can also be interrupted under program control by the user, for example, it is straight forward to implement a "Stop" button to direct the computations to be stopped.

Matrix data used with MLP/X and returned from the control can have different index starting values in Visual Basic. For example, you can choose to index your data from 0 or 1. MLP/X will pass the data back in an array indexed from the value you specify in a property of the control. All data used and returned with MLP/X is in double format. This means it is suitable for use with Visual Basic and Visual C++. In addition, all our controls are designed to function together, so you can build your applications quickly and easily.

Download MLP/X now and you can try it out in full, even compile programs using the trial version.

References

  1. S. Shah and F. Palmieri, "MEKA - A fast, local algorithm for training feedforward neural networks", Intern. Joint Conf. Neural Networks (IJCNN), Vol. 3, 1990, pp. 41-46.