298 Pages 342 B/W Illustrations
    by CRC Press

    298 Pages
    by CRC Press

    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

    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

    Index

    Biography

    Ryszard Tadeusiewicz, Rituparna Chaki, Nabendu Chaki

    This book offers a real-life experimentation environment to readers. Moreover, it permits direct and personal exploration of neural learning and modeling. The companion software to this book is a collection of online programs that facilitate such exploratory methods and systematic self-discovery of neural networks. The programs are available in two forms—as executable applications ready for immediate use as described in the book or as source codes in C#. ... As past president of IEEE’s Computational Intelligence Society with over 6,000 members and the editor-in-chief of IEEE Transactions on Neural Networks, I am very interested in the success of neural network technology. I, therefore, highly recommend this book to all who want to learn neurocomputing techniques for their unique and practical educational value.
    —Dr. Jacek M. Zurada, Department of Electrical and Computer Engineering, University of Louisville, Kentucky