## Exploring Neural Networks with C# Book Description:

The utility of artificial neural network models lies in the fact that they can be used to infer functions from observations—making them especially useful in applications where the complexity of data or tasks makes the design of such functions by hand impractical.

Exploring Neural Networks with C# presents the important properties of neural networks—while keeping the complex mathematics to a minimum. Explaining how to build and use neural networks, it presents complicated information about neural networks structure, functioning, and learning in a manner that is easy to understand.

Taking a “learn by doing” approach, the book is filled with illustrations to guide you through the mystery of neural networks. Examples of experiments are provided in the text to encourage individual research. Online access to C# programs is also provided to help you discover the properties of neural networks.

Following the procedures and using the programs included with the book will allow you to learn how to work with neural networks and evaluate your progress. You can download the programs as both executable applications and C# source code from : http://home.agh.edu.pl/~tad//index.php?page=programy&lang=en

### Table of Contents

**Introduction to Natural and Artificial Neural Networks**Why Learn about Neural Networks?

*From Brain Research to Artificial Neural Networks*

*Construction of First Neural Networks*

*Layered Construction of Neural Network*

*From Biological Brain to First Artificial Neural Network*

*Current Brain Research Methods*

*Using Neural Networks to Study the Human Mind*

*Simplification of Neural Networks: Comparison with Biological Networks*

*Main Advantages of Neural Networks*

*Neural Networks as Replacements for Traditional Computers*

*Working with Neural Networks*

*References*

**Building Neural Nets**

Neural Net Structure

Neural Net Structure

*Constructing Artificial Neurons*

*Attempts to Model Biological Neurons*

*How Artificial Neural Networks Work*

*Impact of Neural Network Structure on Capabilities*

*Choosing Neural Network Structures Wisely*

*“Feeding” Neural Networks: Input Layers*

*Nature of Data: The Home of the Cow*

*Interpreting Answers Generated by Networks: Output Layers*

*Preferred Result: Number or Decision?*

*Network Choices: One Network with Multiple Outputs versus Multiple Networks with Single Outputs*

*Hidden Layers*

*Determining Numbers of Neurons*

*References*

*Questions and Self-Study Tasks*

**Network Tutoring**

Teaching Networks

Teaching Networks

*Self-Learning*

*Methods of Gathering Information*

*Organizing Network Learning*

*Learning Failures*

*Use of Momentum*

*Duration of Learning Process*

*Teaching Hidden Layers*

*Learning without Teachers*

*Cautions Surrounding Self-Learning*

*Questions and Self-Study Tasks*

**From Theory to Practice: Using Neural Networks**

Functioning of Simplest Networks

Functioning of Simplest Networks

*Capacity of Single Neuron*

*Experimental Observations*

*Managing More Inputs*

*Network Functioning*

*Construction of Simple Linear Neural Network*

*Use of Network*

*Rivalry in Neural Networks*

*Additional Applications*

*Questions and Self-Study Tasks*

**Building Teaching File**

Teaching Simple Linear One-Layer Neural Networks

Teaching Simple Linear One-Layer Neural Networks

*Teaching One Neuron*

*“Inborn” Abilities of Neurons*

*Cautions*

*Teaching Simple Networks*

*Potential Uses for Simple Neural Networks*

*Teaching Networks to Filter Signals*

*Questions and Self-Study Tasks*

**Advantages of Nonlinearity**

Nonlinear Networks

Nonlinear Networks

*Functioning of Nonlinear Neurons*

*Teaching Nonlinear Networks*

*Demonstrating Actions of Nonlinear Neurons*

*Capabilities of Multilayer Networks of Nonlinear Neurons*

*Nonlinear Neuron Learning Sequence*

*Experimentation during Learning Phase*

*Questions and Self-Study Tasks*

**Definition**

Backpropagation

Backpropagation

*Changing Thresholds of Nonlinear Characteristics*

*Shapes of Nonlinear Characteristics*

*Functioning of Multilayer Network Constructed of Nonlinear Elements*

*Teaching Multilayer Networks*

*Observations during Teaching*

*Reviewing Teaching Results*

*Questions and Self-Study Tasks*

**Using Multilayer Neural Networks for Recognition**

Forms of Neural Network Learning

Forms of Neural Network Learning

*Implementing a Simple Neural Network for Recognition*

*Selecting Network Structure for Experiments*

*Preparing Recognition Tasks*

*Observation of Learning*

*Additional Observations*

*Questions and Self-Study Tasks*

**Basic Concepts**

Self-Learning Neural Networks

Self-Learning Neural Networks

*Observation of Learning Processes*

*Evaluating Progress of Self-Teaching*

*Neuron Responses to Self-Teaching*

*Imagination and Improvisation*

*Remembering and Forgetting*

*Self-Learning Triggers*

*Benefits from Competition*

*Results of Self-Learning with Competition*

*Questions and Self-Study Tasks*

**Structure of Neural Network to Create Mappings Resulting from Self-Organizing**

Self-Organizing Neural Networks

Self-Organizing Neural Networks

*Uses of Self-Organization*

*Implementing Neighborhood in Networks*

*Neighbor Neurons*

*Uses of Kohonen Networks*

*Kohonen Network Handling of Difficult Data*

*Networks with Excessively Wide Ranges of Initial Weights*

*Changing Self-Organization via Self-Learning*

*Practical Uses of Kohonen Networks*

*Tool for Transformation of Input Space Dimensions*

*Questions and Self-Study Tasks*

**Recurrent Networks**

Description of Recurrent Neural Network*Features of Networks with Feedback*

*Benefits of Associative Memory*

*Construction of Hopfield Network*

*Functioning of Neural Network as Associative Memory*

*Program for Examining Hopfield Network Operations*

*Interesting Examples*

*Automatic Pattern Generation for Hopfield Network*

*Studies of Associative Memory*

*Other Observations of Associative Memory*

*Questions and Self-Study Tasks*