C#

Programming Contributions

Are you a Java or C# programmer? Would you like to contribute some time to the Encog project? We are always looking for volunteers, and at all skill levels. You do need to be proficient with Java or C#, but you by no means need to be an AI expert. We are, of course, glad to have AI experts help! But we usually have tasks available that do not require advanced knowledge of AI.

Suggesting New Features

Choosing the Best C# Array Type for Matrix Multiplication

Implementing 2D arrays in C# involves some decisions as to how to represent the array. C# has two different types of arrays. This is somewhat different than the Java programming language, which supports only a single type of array. In C# you must choose between rectangular and jagged arrays. There are very important considerations for each of these array types. There are also many articles about the differences between array handling in Java and C#. This article focuses on one thing-- performance. Particularly how to implement a matrix with the best performance.

C# Radial Basis Function Neural Network

The Radial Basis Function neural network contains a hidden layer based on radial basis functions (RBF). A radial basis function is a function that peaks in the center and rapidly falls off in each direction along an axis. One of the most common examples of a RBF is the Gaussian function. The hidden layer consists of one or more RBF's. This allows for a complex function to be modeled inside of the hidden layers. RBF neural networks are used for a variety of purposes, such as function approximation and prediction.

C# Neural Networks

A neural network is a mathematical construct that attempts to emulate the way that actual neural networks, in the brain, work. A neural network accepts input and produces output. The input and output are usually both floating point arrays. Neural networks can be implemented in a variety of programming languages. This page focuses on using neural networks with C#.

Class 3 material for C#/Java has been posted

in

The class 3 material for Introduction to Neural Networks for C#/Java has been posted, visit the forum area for more information.

Hopfield Pattern Recognition Application

    Hopfield networks can be much larger than four neurons. For the third example, we will examine a 64-neuron Hopfield network. This network is connected to an 8x8 grid, which an application allows you to draw upon. As you draw patterns, you can either train the network with them or present them for recognition.

    The user interface for the application can be seen in Figure 3.3.

Figure 3.3: A pattern recognition Hopfield application.

Simple Hopfield Example

    Now you will see how to make use of the HopfieldNetwork class that was created in the last section. The first example implements a simple console application that demonstrates basic pattern recognition. The second example graphically displays the weight matrix using a C# application. Finally, the third example uses a C# application to illustrate how a Hopfield neural network can be used to recognize a grid pattern.

    The first example, which is a simple console application, is shown in Listing 3.2.

Creating a C# Hopfield Neural Network

    The Hopfield neural network is implemented using two classes. The first class, called HopfieldNetwork is the main class that performs training and pattern recognition. This class relies on the Matrix and MatrixMath classes, introduced in chapter 2, to work with the neural network's weight matrix. The second class, called HopfieldException, is an exception that is raised when an error occurs while processing the Hopfield network. This is usually triggered as a result of bad input.

Introduction to Neural Networks for C#, Second Edition

Introduction to Neural Networks with C#, Second Edition, introduces the C# programmer to the world of Neural Networks and Artificial Intelligence. Neural network architectures, such as the feedforward, Hopfield, and self-organizing map architectures are discussed. Training techniques, such as backpropagation, genetic algorithms and simulated annealing are also introduced. Practical examples are given for each neural network. Examples include the traveling salesman problem, handwriting recognition, financial prediction, game strategy, mathematical functions, and Internet bots.

Introduction to Neural Networks for C# Ebook Available

The EBook for Introduction to Neural Networks for C# has been released. The paperback is off to the printer, and should start showing up for sale in a few weeks. For more information about purchasing the ebook, click [Here].

Syndicate content

Copyright 2005 - 2010 by Heaton Research, Inc.. Heaton Research™ and Encog™ are trademarks of Heaton Research. Click here for copyright and trademark information.