Artificial Neural Networks with Java
Artificial Neural Networks with Java, Apress
Tools for Building Neural Network Applications
Von Igor Livshin, im heise Shop in digitaler Fassung erhältlich
Tools for Building Neural Network Applications
Von Igor Livshin, im heise Shop in digitaler Fassung erhältlich
Produktinformationen "Artificial Neural Networks with Java"
Develop neural network applications using the Java environment. After learning the rules involved in neural network processing, this second edition shows you how to manually process your first neural network example. The book covers the internals of front and back propagation and helps you understand the main principles of neural network processing. You also will learn how to prepare the data to be used in neural network development and you will be able to suggest various techniques of data preparation for many unconventional tasks.
This book discusses the practical aspects of using Java for neural network processing. You will know how to use the Encog Java framework for processing large-scale neural network applications. Also covered is the use of neural networks for approximation of non-continuous functions. In addition to using neural networks for regression, this second edition shows you how to use neural networks for computer vision. It focuses on image recognition such as the classification of handwritten digits, input data preparation and conversion, and building the conversion program. And you will learn about topics related to the classification of handwritten digits such as network architecture, program code, programming logic, and execution.
The step-by-step approach taken in the book includes plenty of examples, diagrams, and screenshots to help you grasp the concepts quickly and easily.
WHAT YOU WILL LEARN
* Use Java for the development of neural network applications
* Prepare data for many different tasks
* Carry out some unusual neural network processing
* Use a neural network to process non-continuous functions
* Develop a program that recognizes handwritten digits
WHO THIS BOOK IS FOR
Intermediate machine learning and deep learning developers who are interested in switching to Java
IGOR LIVSHIN is a senior specialist at Dev Technologies Corp, specializing in developing neural network applications. He worked previously as a senior J2EE architect at two large insurance companies: Continental Insurance and Blue Cross & Blue Shield of Illinois, developing large-scale enterprise applications. Igor published his first book, WebSphere Studio Application Developer 5.0 (Apress), in 2003. He has a master’s degree in computer science from the Institute of Technology in Odessa, Russia/Ukraine.
Part One. Getting Started with Neural Networks
Chapter 1. Learning Neural Network
Chapter Goal: This chapter introduces you with the Artificial Intelligence Neural Networks
Sub-Topics
Biological and artificial neurons
Activation functions
Summary
Chapter 2. Internal Mechanism of Neural Network Processing
Chapter Goal: The chapter explores the inner machinery of neural network processing
Sub-Topics
Function to be approximated
Network architecture
Forward pass calculations
Back-propagation pass calculations
Function derivative and function divergent
Table of most commonly used function derivatives
Summary
Chapter 3. Manual Neural Network Processing
Chapter Goal: Manual neural network processing
Sub-Topics
Example 1. Manual approximation of a function at a single point
Building the neural network
Forward pass calculation
Backward pass calculation
Calculating weight adjustments for the output layer neurons
Calculating weight adjustments for the hidden layer neurons
Updating network biases
Back to the forward pass
Matrix form of network calculation
Digging deeper
Mini-batches and stochastic gradient
Summary
Part Two. Neural Network Java Development Environment
Chapter 4. Configuring Your Development Environment
Chapter Goal: Explain how to download and install a set of tools necessary for building, debugging, testing, and executing neural network applications.
Sub-Topics
Installing Java 8 environment on your Windows machine
Installing NetBeans IDEInstalling Encog Java framework
Installing XChart Package
Summary
Chapter 5. Neural Network Development Using Java Encog
Framework
Chapter Goal: Using Java Encog framework.
Sub-Topics
Example 2. Function approximation using Java environment
Network architecture
Normalizing the input datasets
Building the Java program that normalizes both datasets
Program code
Debugging and executing the program Processing results for the training method
Testing the network
Testing results
Digging deeper
Summary
Chapter 6. Neural Network Prediction Outside of the Training Range
Chapter Goal: Neural network is not a function extrapolation mechanism.
Sub-Topics
Example 3a. Approximating periodic functions outside of the training range
Network architecture for example 3a
Program code for example 3a
Testing the network
Example 3b. Correct way of approximating periodic functions outside of the training range
Preparing the training data
Network architecture for the example 3b
Program code for example 3b
Training results for example 3b
Testing results for example 3b
Summary
Chapter 7. Processing Complex Periodic Functions
Chapter Goal: Approximation of the complex periodic function
Sub-Topics
Example 4. Approximation of a complex periodic function
Data preparation
Reflecting function topology in data
Network architecture
Program code
Testing the network
Digging deeper
Summary
Chapter 8. Approximating Non-Continuous Functions
Chapter Goal: This chapter introduced the micro-batch method that is able to approximate any non-continuous function with high precision results.
Sub-Topics
Example 5. Approximating non-continuous functions
Approximating non-continuous function using conventional network process . . . . . . .
Network architecture
Program code
Code fragments for the training process
Unsatisfactory training results
Approximating the non-continuous function using micro-bach method
Program code for micro-batch processing
Program Code for the getChart() method
Code fragment 1 of the training method
Code fragment 2 of the training method
Training results for micro-batch method
Test processing logic
Testing results for micro-batch method
Digging deeper
Summary
Chapter 9. Approximation Continuous Functions with Complex Topology
Chapter Goal: Neural network has problem approximating continuous functions with complex topology. It is very difficult to obtain a good quality approximation for such functions. This chapter showed that the micro-batch method is able to approximate such functions with high precision results.
Sub-Topics
Example 5a. Approximation of continuous function with complex topology
Network architecture for example 5a
Program code for example 5a
Training processing results for example 5a
Approximation of continuous function with complex topology using micro-batch method
Program code for example 5a using micro-batch method
Example 5b. Approximation of spiral-like functions
Network architecture for example 5b
Program Code for example 5b
Approximation of the same functions using micro-batch method
Summary
Chapter 10. Using Neural Network for Classification of Objects
Chapter Goal: Show how to use neural networks for classification of objects
Sub-Topics
Example 6. Classification of records
Training dataset
Network architecture Testing dataset
Program code for data normalization
Program code for classification
Training results
Testing results
Summary
Chapter 11. Importance of Selecting the Correct Model
Chapter Goal: Explained the importance of selecting a correct working model
Sub-Topics
Example 7. Predicting next month stock market price
Data preparation
Including function topology in the dataset
Building micro-batch files
Network architecture
Program code
Training process
Training results
Testing process
Test processing logic
Testing results
Analyzing testing results Summary
Chapter 12. Approximation of Functions in 3-D Space
Chapter Goal: Using neuron network for approximation of functions in 3-D space.
Sub-Topics
Example 8. Approximation of functions in 3-D space
Data preparation Network architecture
Program code
Processing results
Summary
Part Three. Introduction to Computer Vision
Chapter 13. Image Recognition
Chapter Goal: introduction to the computer vision - the branch of Artificial Intelligence
Sub-Topics
Classification of handwritten digits
Input data preparation
Input data conversion
Building the conversion program
Summary
Chapter 14. Classification of Handwritten Digits
Chapter Goal: Developed a program able to recognize (classify) handwritten digits
Sub-Topics
Network architecture
Program code
Programming logic
Execution
Summary
This book discusses the practical aspects of using Java for neural network processing. You will know how to use the Encog Java framework for processing large-scale neural network applications. Also covered is the use of neural networks for approximation of non-continuous functions. In addition to using neural networks for regression, this second edition shows you how to use neural networks for computer vision. It focuses on image recognition such as the classification of handwritten digits, input data preparation and conversion, and building the conversion program. And you will learn about topics related to the classification of handwritten digits such as network architecture, program code, programming logic, and execution.
The step-by-step approach taken in the book includes plenty of examples, diagrams, and screenshots to help you grasp the concepts quickly and easily.
WHAT YOU WILL LEARN
* Use Java for the development of neural network applications
* Prepare data for many different tasks
* Carry out some unusual neural network processing
* Use a neural network to process non-continuous functions
* Develop a program that recognizes handwritten digits
WHO THIS BOOK IS FOR
Intermediate machine learning and deep learning developers who are interested in switching to Java
IGOR LIVSHIN is a senior specialist at Dev Technologies Corp, specializing in developing neural network applications. He worked previously as a senior J2EE architect at two large insurance companies: Continental Insurance and Blue Cross & Blue Shield of Illinois, developing large-scale enterprise applications. Igor published his first book, WebSphere Studio Application Developer 5.0 (Apress), in 2003. He has a master’s degree in computer science from the Institute of Technology in Odessa, Russia/Ukraine.
Part One. Getting Started with Neural Networks
Chapter 1. Learning Neural Network
Chapter Goal: This chapter introduces you with the Artificial Intelligence Neural Networks
Sub-Topics
Biological and artificial neurons
Activation functions
Summary
Chapter 2. Internal Mechanism of Neural Network Processing
Chapter Goal: The chapter explores the inner machinery of neural network processing
Sub-Topics
Function to be approximated
Network architecture
Forward pass calculations
Back-propagation pass calculations
Function derivative and function divergent
Table of most commonly used function derivatives
Summary
Chapter 3. Manual Neural Network Processing
Chapter Goal: Manual neural network processing
Sub-Topics
Example 1. Manual approximation of a function at a single point
Building the neural network
Forward pass calculation
Backward pass calculation
Calculating weight adjustments for the output layer neurons
Calculating weight adjustments for the hidden layer neurons
Updating network biases
Back to the forward pass
Matrix form of network calculation
Digging deeper
Mini-batches and stochastic gradient
Summary
Part Two. Neural Network Java Development Environment
Chapter 4. Configuring Your Development Environment
Chapter Goal: Explain how to download and install a set of tools necessary for building, debugging, testing, and executing neural network applications.
Sub-Topics
Installing Java 8 environment on your Windows machine
Installing NetBeans IDEInstalling Encog Java framework
Installing XChart Package
Summary
Chapter 5. Neural Network Development Using Java Encog
Framework
Chapter Goal: Using Java Encog framework.
Sub-Topics
Example 2. Function approximation using Java environment
Network architecture
Normalizing the input datasets
Building the Java program that normalizes both datasets
Program code
Debugging and executing the program Processing results for the training method
Testing the network
Testing results
Digging deeper
Summary
Chapter 6. Neural Network Prediction Outside of the Training Range
Chapter Goal: Neural network is not a function extrapolation mechanism.
Sub-Topics
Example 3a. Approximating periodic functions outside of the training range
Network architecture for example 3a
Program code for example 3a
Testing the network
Example 3b. Correct way of approximating periodic functions outside of the training range
Preparing the training data
Network architecture for the example 3b
Program code for example 3b
Training results for example 3b
Testing results for example 3b
Summary
Chapter 7. Processing Complex Periodic Functions
Chapter Goal: Approximation of the complex periodic function
Sub-Topics
Example 4. Approximation of a complex periodic function
Data preparation
Reflecting function topology in data
Network architecture
Program code
Testing the network
Digging deeper
Summary
Chapter 8. Approximating Non-Continuous Functions
Chapter Goal: This chapter introduced the micro-batch method that is able to approximate any non-continuous function with high precision results.
Sub-Topics
Example 5. Approximating non-continuous functions
Approximating non-continuous function using conventional network process . . . . . . .
Network architecture
Program code
Code fragments for the training process
Unsatisfactory training results
Approximating the non-continuous function using micro-bach method
Program code for micro-batch processing
Program Code for the getChart() method
Code fragment 1 of the training method
Code fragment 2 of the training method
Training results for micro-batch method
Test processing logic
Testing results for micro-batch method
Digging deeper
Summary
Chapter 9. Approximation Continuous Functions with Complex Topology
Chapter Goal: Neural network has problem approximating continuous functions with complex topology. It is very difficult to obtain a good quality approximation for such functions. This chapter showed that the micro-batch method is able to approximate such functions with high precision results.
Sub-Topics
Example 5a. Approximation of continuous function with complex topology
Network architecture for example 5a
Program code for example 5a
Training processing results for example 5a
Approximation of continuous function with complex topology using micro-batch method
Program code for example 5a using micro-batch method
Example 5b. Approximation of spiral-like functions
Network architecture for example 5b
Program Code for example 5b
Approximation of the same functions using micro-batch method
Summary
Chapter 10. Using Neural Network for Classification of Objects
Chapter Goal: Show how to use neural networks for classification of objects
Sub-Topics
Example 6. Classification of records
Training dataset
Network architecture Testing dataset
Program code for data normalization
Program code for classification
Training results
Testing results
Summary
Chapter 11. Importance of Selecting the Correct Model
Chapter Goal: Explained the importance of selecting a correct working model
Sub-Topics
Example 7. Predicting next month stock market price
Data preparation
Including function topology in the dataset
Building micro-batch files
Network architecture
Program code
Training process
Training results
Testing process
Test processing logic
Testing results
Analyzing testing results Summary
Chapter 12. Approximation of Functions in 3-D Space
Chapter Goal: Using neuron network for approximation of functions in 3-D space.
Sub-Topics
Example 8. Approximation of functions in 3-D space
Data preparation Network architecture
Program code
Processing results
Summary
Part Three. Introduction to Computer Vision
Chapter 13. Image Recognition
Chapter Goal: introduction to the computer vision - the branch of Artificial Intelligence
Sub-Topics
Classification of handwritten digits
Input data preparation
Input data conversion
Building the conversion program
Summary
Chapter 14. Classification of Handwritten Digits
Chapter Goal: Developed a program able to recognize (classify) handwritten digits
Sub-Topics
Network architecture
Program code
Programming logic
Execution
Summary
Artikel-Details
- Anbieter:
- Apress
- Autor:
- Igor Livshin
- Artikelnummer:
- 9781484273685
- Veröffentlicht:
- 18.10.21
- Seitenanzahl:
- 631