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

  1. Foreword
  2. Preface
  3. Acknowledgments
  4. Chapter 1 - Introduction to Natural and Artificial Neural Networks
    1. 1.1 Why Learn about Neural Networks?
    2. 1.2 From Brain Research to Artificial Neural Networks
    3. 1.3 Construction of First Neural Networks
    4. 1.4 Layered Construction of Neural Network
    5. 1.5 From Biological Brain to First Artificial Neural Network
    6. 1.6 Current Brain Research Methods
    7. 1.7 Using Neural Networks to Study the Human Mind
    8. 1.8 Simplification of Neural Networks: Comparison with Biological Networks
    9. 1.9 Main Advantages of Neural Networks
    10. 1.10 Neural Networks as Replacements for Traditional Computers
    11. 1.11 Working with Neural Networks
    12. References
  5. Chapter 2 - Neural Net Structure
    1. 2.1 Building Neural Nets
    2. 2.2 Constructing Artificial Neurons
    3. 2.3 Attempts to Model Biological Neurons
    4. 2.4 How Artificial Neural Networks Work
    5. 2.5 Impact of Neural Network Structure on Capabilities
    6. 2.6 Choosing Neural Network Structures Wisely
    7. 2.7 “Feeding” Neural Networks: Input Layers
    8. 2.8 Nature of Data: The Home of the Cow
    9. 2.9 Interpreting Answers Generated by Networks: Output Layers
    10. 2.10 Preferred Result: Number or Decision?
    11. 2.11 Network Choices: One Network with Multiple Outputs versus Multiple Networks with Single Outputs
    12. 2.12 Hidden Layers
    13. 2.13 Determining Numbers of Neurons
    14. References
    15. Questions and Self-Study Tasks
  6. Chapter 3 - Teaching Networks
    1. 3.1 Network Tutoring
    2. 3.2 Self-Learning
    3. 3.3 Methods of Gathering Information
    4. 3.4 Organizing Network Learning
    5. 3.5 Learning Failures
    6. 3.6 Use of Momentum
    7. 3.8 Duration of Learning Process
    8. 3.9 Teaching Hidden Layers
    9. 3.10 Learning without Teachers
    10. 3.11 Cautions Surrounding Self-Learning
    11. Questions and Self-Study Tasks
  7. Chapter 4 - Functioning of Simplest Networks
    1. 4.1 From Theory to Practice: Using Neural Networks
    2. 4.2 Capacity of Single Neuron
    3. 4.3 Experimental Observations
    4. 4.4 Managing More Inputs
    5. 4.5 Network Functioning
    6. 4.6 Construction of Simple Linear Neural Network
    7. 4.7 Use of Network
    8. 4.8 Rivalry in Neural Networks
    9. 4.9 Additional Applications
    10. Questions and Self-Study Tasks
  8. Chapter 5 - Teaching Simple Linear One-Layer Neural Networks
    1. 5.1 Building Teaching File
    2. 5.2 Teaching One Neuron
    3. 5.3 “Inborn” Abilities of Neurons
    4. 5.4 Cautions
    5. 5.5 Teaching Simple Networks
    6. 5.6 Potential Uses for Simple Neural Networks
    7. 5.7 Teaching Networks to Filter Signals
    8. Questions and Self-Study Tasks
  9. Chapter 6 - Nonlinear Networks
    1. 6.1 Advantages of Nonlinearity
    2. 6.2 Functioning of Nonlinear Neurons
    3. 6.3 Teaching Nonlinear Networks
    4. 6.4 Demonstrating Actions of Nonlinear Neurons
    5. 6.5 Capabilities of Multilayer Networks of Nonlinear Neurons
    6. 6.6 Nonlinear Neuron Learning Sequence
    7. 6.7 Experimentation during Learning Phase
    8. Questions and Self-Study Tasks
  10. Chapter 7 - Backpropagation
    1. 7.1 Definition
    2. 7.2 Changing Thresholds of Nonlinear Characteristics
    3. 7.3 Shapes of Nonlinear Characteristics
    4. 7.4 Functioning of Multilayer Network Constructed of Nonlinear Elements
    5. 7.5 Teaching Multilayer Networks
    6. 7.6 Observations during Teaching
    7. 7.7 Reviewing Teaching Results
    8. Questions and Self-Study Tasks
  11. Chapter 8 - Forms of Neural Network Learning
    1. 8.1 Using Multilayer Neural Networks for Recognition
    2. 8.2 Implementing a Simple Neural Network for Recognition
    3. 8.3 Selecting Network Structure for Experiments
    4. 8.4 Preparing Recognition Tasks
    5. 8.5 Observation of Learning
    6. 8.6 Additional Observations
    7. Questions and Self-Study Tasks
  12. Chapter 9 - Self-Learning Neural Networks
    1. 9.1 Basic Concepts
    2. 9.2 Observation of Learning Processes
    3. 9.3 Evaluating Progress of Self-Teaching
    4. 9.4 Neuron Responses to Self-Teaching
    5. 9.5 Imagination and Improvisation
    6. 9.6 Remembering and Forgetting
    7. 9.7 Self-Learning Triggers
    8. 9.8 Benefits from Competition
    9. 9.9 Results of Self-Learning with Competition
    10. Questions and Self-Study Tasks
  13. Chapter 10 - Self-Organizing Neural Networks
    1. 10.1 Structure of Neural Network to Create Mappings Resulting from Self-Organizing
    2. 10.2 Uses of Self-Organization
    3. 10.3 Implementing Neighborhood in Networks
    4. 10.4 Neighbor Neurons
    5. 10.5 Uses of Kohonen Networks
    6. 10.6 Kohonen Network Handling of Difficult Data
    7. 10.7 Networks with Excessively Wide Ranges of Initial Weights
    8. 10.8 Changing Self-Organization via Self-Learning
    9. 10.9 Practical Uses of Kohonen Networks
    10. 10.10 Tool for Transformation of Input Space Dimensions
    11. Questions and Self-Study Tasks
  14. Chapter 11 - Recurrent Networks
    1. 11.1 Description of Recurrent Neural Network
    2. 11.2 Features of Networks with Feedback
    3. 11.3 Benefits of Associative Memory
    4. 11.4 Construction of Hopfield Network
    5. 11.5 Functioning of Neural Network as Associative Memory
    6. 11.6 Program for Examining Hopfield Network Operations
    7. 11.7 Interesting Examples
    8. 11.8 Automatic Pattern Generation for Hopfield Network
    9. 11.9 Studies of Associative Memory
    10. 11.10 Other Observations of Associative Memory
    11. Questions and Self-Study Tasks

Product information

  • Title: Exploring Neural Networks with C#
  • Author(s): Ryszard Tadeusiewicz, Rituparna Chaki, Nabendu Chaki
  • Release date: September 2014
  • Publisher(s): CRC Press
  • ISBN: 9781482233407