Neural network

EBooks for Encog C# and Java now on sale

The ebooks for Encog have been released. There is one for Java and another for C#. Both are on sale for $19.99. Paperback versions of each should be out in a few weeks.

Heaton Research's New(smaller) Home in SL

Given that we are now focusing more on neural network programming, than Second Life, we are scaling back our Second Life operations considerably. Heaton Research at one point had three islands in Second Life. We are dropping back to just a small area on "mainland" so that people can pick up the examples from our books. You can see the new Heaton Research home here.

You can access this area, and download any of our book examples, from the following URL.

http://slurl.com/secondlife/Venn/96/86/29

Applying Multithreading to Resilient Propagation and Backpropagation

This article shows how the Multi Propagation (MPROP) algorithm was implemented for Encog for Java. Though this article focuses on the Java implementation the C# version would be very similar. MPROP is based on resilient propagation, but is designed to work well with multicore computers and gain maximum performance.

Questions for Review

    1. What is the best general purpose training algorithm, provided by Encog, for a feedforward neural network?

    2. What is the difference in the training data used by supervised and unsupervised training?

    3. Can both neural networks and training data be stored in an .EG file?

    4. Why should training a neural network occur before querying it?

    5. How else can you load training into the workbench, other than manually entering it.

Summary

    In this chapter you saw how to use the Encog Workbench. The Encog Workbench provides a way to edit the .EG files produced by the Encog Framework. There are also templates available to help you quickly create common neural network patterns. There is also a GUI network editor that allows networks to be designed using drag and drop functionality.

Generating Code

    The Encog workbench provides two ways that you can make use of your neural network in Java code. First, you can save the neural network and training data to an .EG file. Java applications can then load data from this .EG file. Using .EG files will be covered in much greater detail in Chapter 9, “Encog Persistence”.

    Another way to generate code is to use the Encog Workbench. The Encog workbench can generate code in the following languages.

Querying the Neural Network

    Querying the neural network allows you to specify values for the inputs to the neural network and observe the outputs. To query the neural network, click “Query” at the top of the network editor seen in Figure 4.7. This will open the query window as seen in Figure 4.14.

Figure 4.14: Query the Neural Network

Training a Neural Network

    Training a neural network is a process where the neural network's weights and thresholds are modified so that the neural network will produce output according to the training data. There are many different ways to train a neural network. The choice of training method will be partially determined by the neural network type you are creating. Not all neural network types work with all training methods.

Creating a Training Set

    A training set is a collection of data to be used to train the neural network. There are two types of training sets commonly used with Encog.

Creating a Neural Network

    We will begin by creating a neural network. The Encog Workbench starts with an empty file. Once things have been added to this empty file, it can be saved to an .EG file. This .EG file can then be loaded by the workbench again or loaded by Java or C# Encog applications. The C# and Java versions of Encog read exactly the same type of .EG files.

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.