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
Neural Net Structure
Building Neural Nets
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
Teaching Networks
Network Tutoring
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
Functioning of Simplest Networks
From Theory to Practice: Using Neural 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
Teaching Simple Linear One-Layer Neural Networks
Building Teaching File
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
Nonlinear Networks
Advantages of Nonlinearity
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
Backpropagation
Definition
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
Forms of Neural Network Learning
Using Multilayer Neural Networks for Recognition
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
Self-Learning Neural Networks
Basic Concepts
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
Self-Organizing Neural Networks
Structure of Neural Network to Create Mappings Resulting from Self-Organizing
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