Harness the power of MATLAB to resolve a wide range of machine learning challenges. This new and updated third edition provides examples of technologies critical to machine learning. Each example solves a real-world problem, and all code provided is executable. You can easily look up a particular problem and follow the steps in the solution. This book has something for everyone interested in machine learning. It also has material that will allow those with an interest in other technology areas to see how machine learning and MATLAB can help them solve problems in their areas of expertise. The chapter on data representation and MATLAB graphics includes new data types and additional graphics. Chapters on fuzzy logic, simple neural nets, and autonomous driving have new examples added. And there is a new chapter on spacecraft attitude determination using neural nets. Authors Michael Paluszek and Stephanie Thomas show how all of these technologies allow you to build sophisticated applications to solve problems with pattern recognition, autonomous driving, expert systems, and much more. What You Will Learn Write code for machine learning, adaptive control, and estimation using MATLAB Use MATLAB graphics and visualization tools for machine learning Become familiar with neural nets Build expert systems Understand adaptive control Gain knowledge of Kalman Filters Who This Book Is For Software engineers, control engineers, university faculty, undergraduate and graduate students, hobbyists.
Author(s): Paluszek, Michael, Thomas, Stephanie
Publisher: Apress
Year: 2024
Language: English
Pages: 3
Contents
About the Authors
About the Technical Reviewer
Introduction
1 An Overview of Machine Learning
1.1 Introduction
1.2 Elements of Machine Learning
1.2.1 Data
1.2.2 Models
1.2.3 Training
Supervised Learning
Unsupervised Learning
Semi-supervised Learning
Online Learning
1.3 The Learning Machine
1.4 Taxonomy of Machine Learning
1.5 Control
1.5.1 Kalman Filters
1.5.2 Adaptive Control
1.6 Autonomous Learning Methods
1.6.1 Regression
1.6.2 Decision Trees
1.6.3 Neural Networks
Introduction
Generative Deep Learning
Reinforcement Learning
1.6.4 Support Vector Machines (SVMs)
1.7 Artificial Intelligence
1.7.1 What Is Artificial Intelligence?
1.7.2 Intelligent Cars
1.7.3 Expert Systems
1.8 Summary
2 Data for Machine Learning in MATLAB
2.1 Introduction to MATLAB Data Types
2.1.1 Matrices
2.1.2 Cell Arrays
2.1.3 Data Structures
2.1.4 Numerics
2.1.5 Images
2.1.6 Datastore
2.1.7 Tall Arrays
2.1.8 Sparse Matrices
2.1.9 Tables and Categoricals
2.1.10 Large MAT-Files
2.2 Initializing a Data Structure
2.2.1 Problem
2.2.2 Solution
2.2.3 How It Works
2.3 mapreduce on an Image Datastore
2.3.1 Problem
2.3.2 Solution
2.3.3 How It Works
2.4 Processing Table Data
2.4.1 Problem
2.4.2 Solution
2.4.3 How It Works
2.5 String Concatenation
2.5.1 Problem
2.5.2 Solution
2.5.3 How It Works
2.6 Arrays of Strings
2.6.1 Problem
2.6.2 Solution
2.6.3 How It Works
2.7 Substrings
2.7.1 Problem
2.7.2 Solution
2.7.3 How It Works
2.8 Reading an Excel Spreadsheet into a Table
2.8.1 Problem
2.8.2 Solution
2.8.3 How It Works
2.9 Accessing ChatGPT
2.9.1 Problem
2.9.2 Solution
2.9.3 How It Works
2.10 Summary
3 MATLAB Graphics
3.1 2D Line Plots
3.1.1 Problem
3.1.2 Solution
3.1.3 How It Works
3.2 General 2D Graphics
3.2.1 Problem
3.2.2 Solution
3.2.3 How It Works
3.3 Custom Two-Dimensional Diagrams
3.3.1 Problem
3.3.2 Solution
3.3.3 How It Works
3.4 Three-Dimensional Box
3.4.1 Problem
3.4.2 Solution
3.4.3 How It Works
3.5 Draw a 3D Object with a Texture
3.5.1 Problem
3.5.2 Solution
3.5.3 How It Works
3.6 General 3D Graphics
3.6.1 Problem
3.6.2 Solution
3.6.3 How It Works
3.7 Building a GUI
3.7.1 Problem
3.7.2 Solution
3.7.3 How It Works
3.8 Animating a Bar Chart
3.8.1 Problem
3.8.2 Solution
3.8.3 How It Works
3.9 Drawing a Robot
3.9.1 Problem
3.9.2 Solution
3.9.3 How It Works
3.10 Importing a Model
3.10.1 Problem
3.10.2 Solution
3.10.3 How It Works
3.11 Summary
4 Kalman Filters
4.1 Gaussian Distribution
4.2 A State Estimator Using a Linear Kalman Filter
4.2.1 Problem
4.2.2 Solution
4.2.3 How It Works
4.3 Using the Extended Kalman Filter for State Estimation
4.3.1 Problem
4.3.2 Solution
4.3.3 How It Works
4.4 Using the UKF for State Estimation
4.4.1 Problem
4.4.2 Solution
4.4.3 How It Works
4.5 Using the UKF for Parameter Estimation
4.5.1 Problem
4.5.2 Solution
4.5.3 How It Works
4.6 Range to a Car
4.6.1 Problem
4.6.2 Solution
4.6.3 How It Works
4.7 Summary
5 Adaptive Control
5.1 Self-Tuning: Tuning an Oscillator
5.1.1 Problem
5.1.2 Solution
5.1.3 How It Works
5.2 Implement MRAC
5.2.1 Problem
5.2.2 Solution
5.2.3 How It Works
5.3 Generating a Square Wave Input
5.3.1 Problem
5.3.2 Solution
5.3.3 How It Works
5.4 Demonstrate MRAC for a Rotor
5.4.1 Problem
5.4.2 Solution
5.4.3 How It Works
5.5 Ship Steering: Implement Gain Scheduling for Steering Control of a Ship
5.5.1 Problem
5.5.2 Solution
5.5.3 How It Works
5.6 Spacecraft Pointing
5.6.1 Problem
5.6.2 Solution
5.6.3 How It Works
5.7 Direct Adaptive Control
5.7.1 Problem
5.7.2 Solution
5.7.3 How It Works
5.8 Summary
6 Fuzzy Logic
6.1 Building Fuzzy Logic Systems
6.1.1 Problem
6.1.2 Solution
6.1.3 How It Works
6.2 Implement Fuzzy Logic
6.2.1 Problem
6.2.2 Solution
6.2.3 How It Works
6.3 Window Wiper Fuzzy Controller
6.3.1 Problem
6.3.2 Solution
6.3.3 How It Works
6.4 Simple Discrete HVAC Fuzzy Controller
6.4.1 Problem
6.4.2 Solution
6.4.3 How It Works
6.5 Variable HVAC Fuzzy Controller
6.5.1 Problem
6.5.2 Solution
6.5.3 How It Works
6.6 Summary
7 Neural Aircraft Control
7.1 Longitudinal Motion
7.1.1 Problem
7.1.2 Solution
7.1.3 How It Works
7.2 Numerically Finding Equilibrium
7.2.1 Problem
7.2.2 Solution
7.2.3 How It Works
7.3 Numerical Simulation of the Aircraft
7.3.1 Problem
7.3.2 Solution
7.3.3 How It Works
7.4 Activation Function
7.4.1 Problem
7.4.2 Solution
7.4.3 How It Works
7.5 Neural Net for Learning Control
7.5.1 Problem
7.5.2 Solution
7.5.3 How It Works
7.6 Enumeration of All Sets of Inputs
7.6.1 Problem
7.6.2 Solution
7.6.3 How It Works
7.7 Write a Sigma-Pi Neural Net Function
7.7.1 Problem
7.7.2 Solution
7.7.3 How It Works
7.8 Implement PID Control
7.8.1 Problem
7.8.2 Solution
7.8.3 How It Works
7.9 PID Control of Pitch
7.9.1 Problem
7.9.2 Solution
7.9.3 How It Works
7.10 Neural Net for Pitch Dynamics
7.10.1 Problem
7.10.2 Solution
7.10.3 How It Works
7.11 Nonlinear Simulation
7.11.1 Problem
7.11.2 Solution
7.11.3 How It Works
7.12 Summary
8 Introduction to Neural Nets
8.1 Daylight Detector
8.1.1 Problem
8.1.2 Solution
8.1.3 How It Works
8.2 Modeling a Pendulum
8.2.1 Problem
8.2.2 Solution
8.2.3 How It Works
8.3 Single Neuron Angle Estimator
8.3.1 Problem
8.3.2 Solution
8.3.3 How It Works
8.4 Designing a Neural Net for the Pendulum
8.4.1 Problem
8.4.2 Solution
8.4.3 How It Works
8.5 XOR Example
8.6 Training
8.7 Summary
9 Classification of Numbers Using Neural Networks
9.1 Generate Test Images with Defects
9.1.1 Problem
9.1.2 Solution
9.1.3 How It Works
9.2 Create the Neural Net Functions
9.2.1 Problem
9.2.2 Solution
9.2.3 How It Works
9.3 Train a Network with One Output Node
9.3.1 Problem
9.3.2 Solution
9.3.3 How It Works
9.4 Testing the Neural Network
9.4.1 Problem
9.4.2 Solution
9.4.3 How It Works
9.5 Train a Network with Many Outputs
9.5.1 Problem
9.5.2 Solution
9.5.3 How It Works
9.6 Summary
10 Data Classification with Decision Trees
10.1 Generate Test Data
10.1.1 Problem
10.1.2 Solution
10.1.3 How It Works
10.2 Drawing Trees
10.2.1 Problem
10.2.2 Solution
10.2.3 How It Works
10.3 Implementation
10.3.1 Problem
10.3.2 Solution
10.3.3 How It Works
10.4 Creating a Tree
10.4.1 Problem
10.4.2 Solution
10.4.3 How It Works
10.5 Handmade Tree
10.5.1 Problem
10.5.2 Solution
10.5.3 How It Works
10.6 Training and Testing
10.6.1 Problem
10.6.2 Solution
10.6.3 How It Works
10.7 Summary
11 Pattern Recognition with Deep Learning
11.1 Obtain Data Online for Training a Neural Net
11.1.1 Problem
11.1.2 Solution
11.1.3 How It Works
11.2 Generating Training Images of Cats
11.2.1 Problem
11.2.2 Solution
11.2.3 How It Works
11.3 Matrix Convolution
11.3.1 Problem
11.3.2 Solution
11.3.3 How It Works
11.4 Convolution Layer
11.4.1 Problem
11.4.2 Solution
11.4.3 How It Works
11.5 Pooling to Outputs of a Layer
11.5.1 Problem
11.5.2 Solution
11.5.3 How It Works
11.6 Fully Connected Layer
11.6.1 Problem
11.6.2 Solution
11.6.3 How It Works
11.7 Determining the Probability
11.7.1 Problem
11.7.2 Solution
11.7.3 How It Works
11.8 Test the Neural Network
11.8.1 Problem
11.8.2 Solution
11.8.3 How It Works
11.9 Recognizing an Image
11.9.1 Problem
11.9.2 Solution
11.9.3 How It Works
11.10 Using AlexNet
11.10.1 Problem
11.10.2 Solution
11.10.3 How It Works
Summary
12 Multiple Hypothesis Testing
12.1 Overview
12.2 Theory
12.2.1 Introduction
12.2.2 Example
12.2.3 Algorithm
12.2.4 Measurement Assignment and Tracks
12.2.5 Hypothesis Formation
12.2.6 Track Pruning
12.3 Billiard Ball Kalman Filter
12.3.1 Problem
12.3.2 Solution
12.3.3 How It Works
12.4 Billiard Ball MHT
12.4.1 Problem
12.4.2 Solution
12.4.3 How It Works
12.5 One-Dimensional Motion
12.5.1 Problem
12.5.2 Solution
12.5.3 How It Works
12.6 One-Dimensional MHT
12.6.1 Problem
12.6.2 Solution
12.6.3 How It Works
12.7 Summary
13 Autonomous Driving with MHT
13.1 Automobile Dynamics
13.1.1 Problem
13.1.2 Solution
13.1.3 How It Works
13.2 Automobile Radar
13.2.1 Problem
13.2.2 Solution
13.2.3 How It Works
13.3 Passing Control
13.3.1 Problem
13.3.2 Solution
13.3.3 How It Works
13.4 Automobile Animation
13.4.1 Problem
13.4.2 Solution
13.4.3 How It Works
13.4.4 Solution
13.5 Automobile Simulation and the Kalman Filter
13.5.1 Problem
13.5.2 Solution
13.5.3 How It Works
13.6 Automobile Target Tracking
13.6.1 Problem
13.6.2 Solution
13.6.3 How It Works
13.7 Summary
14 Spacecraft Attitude Determination
14.1 Star Catalog
14.1.1 Problem
14.1.2 Solution
14.1.3 How It Works
14.2 Camera Model
14.2.1 Problem
14.2.2 Solution
14.2.3 How It Works
14.3 Celestial Sphere
14.3.1 Problem
14.3.2 Solution
14.3.3 How It Works
14.4 Attitude Simulation of Camera Views
14.4.1 Problem
14.4.2 Solution
14.4.3 How It Works
14.5 Yaw Angle Rotation
14.5.1 Problem
14.5.2 Solution
14.5.3 How It Works
14.6 Yaw Images
14.6.1 Problem
14.6.2 Solution
14.6.3 How It Works
14.7 Attitude Determination
14.7.1 Problem
14.7.2 Solution
14.7.3 How It Works
14.8 Summary
15 Case-Based Expert Systems
15.1 Building Expert Systems
15.1.1 Problem
15.1.2 Solution
15.1.3 How It Works
15.2 Running an Expert System
15.2.1 Problem
15.2.2 Solution
15.2.3 How It Works
15.3 Summary
A A Brief History
A.1 Introduction
A.2 Artificial Intelligence
A.3 Learning Control
A.4 Machine Learning
A.5 Generative Machine Learning
A.6 Reinforcement Learning
A.7 The Future
B Software for Machine Learning
B.1 Autonomous Learning Software
B.2 Commercial MATLAB Software
B.2.1 MathWorks Products
Statistics and Machine Learning Toolbox
Optimization Toolbox
Global Optimization Toolbox
Text Analytics Toolbox
Deep Learning Toolbox
B.2.2 Princeton Satellite Systems Products
Core Control Toolbox
Target Tracking
B.3 Non-MATLAB Products for Machine Learning
B.3.1 R
B.3.2 scikit-learn
B.3.3 LIBSVM
B.4 Products for Optimization
B.4.1 LOQO
B.4.2 SNOPT
B.4.3 GLPK
B.4.4 CVX
B.4.5 SeDuMi
B.4.6 YALMIP
B.5 Products for Expert Systems
B.6 MATLAB mex Files
B.6.1 Problem
B.6.2 Solution
B.6.3 How It Works
Bibliography
Index