E-Book, Englisch, 335 Seiten
Paluszek / Thomas MATLAB Machine Learning
1. ed
ISBN: 978-1-4842-2250-8
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, 335 Seiten
ISBN: 978-1-4842-2250-8
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark
This book is a comprehensive guide to machine learning with worked examples in MATLAB. It starts with an overview of the history of Artificial Intelligence and automatic control and how the field of machine learning grew from these. It provides descriptions of all major areas in machine learning.
The book reviews commercially available packages for machine learning and shows how they fit into the field. The book then shows how MATLAB can be used to solve machine learning problems and how MATLAB graphics can enhance the programmer's understanding of the results and help users of their software grasp the results.
Machine Learning can be very mathematical. The mathematics for each area is introduced in a clear and concise form so that even casual readers can understand the math. Readers from all areas of engineering will see connections to what they know and will learn new technology.
The book then provides complete solutions in MATLAB for several important problems in machine learning including face identification, autonomous driving, and data classification. Full source code is provided for all of the examples and applications in the book.
What you'll learn:An overview of the field of machine learning
Commercial and open source packages in MATLAB
How to use MATLAB for programming and building machine learning applications
MATLAB graphics for machine learning
Practical real world examples in MATLAB for major applications of machine learning in big data
Who is this book for:
The primary audiences are engineers and engineering students wanting a comprehensive and practical introduction to machine learning.
Michael Paluszek is the co-author of MATLAB Recipes published by Apress. He is President of Princeton Satellite Systems, Inc. (PSS) in Plainsboro, New Jersey. Mr. Paluszek founded PSS in 1992 to provide aerospace consulting services. He used MATLAB to develop the control system and simulation for the Indostar-1 geosynschronous communications satellite, resulting in the launch of PSS' first commercial MATLAB toolbox, the Spacecraft Control Toolbox, in 1995. Since then he has developed toolboxes and software packages for aircraft, submarines, robotics, and fusion propulsion, resulting in PSS' current extensive product line. He is currently leading an Army research contract for precision attitude control of small satellites and working with the Princeton Plasma Physics Laboratory on a compact nuclear fusion reactor for energy generation and propulsion. Prior to founding PSS, Mr. Paluszek was an engineer at GE Astro Space in East Windsor, NJ. At GE he designed the Global Geospace Science Polar despun platform control system and led the design of the GPS IIR attitude control system, the Inmarsat-3 attitude control systems and the Mars Observer delta-V control system, leveraging MATLAB for control design. Mr. Paluszek also worked on the attitude determination system for the DMSP meteorological satellites. Mr. Paluszek flew communication satellites on over twelve satellite launches, including the GSTAR III recovery, the first transfer of a satellite to an operational orbit using electric thrusters. At Draper Laboratory Mr. Paluszek worked on the Space Shuttle, Space Station and submarine navigation. His Space Station work included designing of Control Moment Gyro based control systems for attitude control. Mr. Paluszek received his bachelors in Electrical Engineering, and master's and engineer's degrees in Aeronautics and Astronautics from the Massachusetts Institute of Technology. He is author of numerous papers and has over a dozen U.S. Patents.<
Stephanie Thomas is the co-author of MATLAB Recipes, published by Apress. She received her bachelor's and master's degrees in Aeronautics and Astronautics from the Massachusetts Institute of Technology in 1999 and 2001. Ms. Thomas was introduced to PSS' Spacecraft Control Toolbox for MATLAB during a summer internship in 1996 and has been using MATLAB for aerospace analysis ever since. She built a simulation of a lunar transfer vehicle in C++, LunarPilot, during the same internship. In her nearly 20 years of MATLAB experience, she has developed many software tools including the Solar Sail Module for the Spacecraft Control Toolbox; a proximity satellite operations toolbox for the Air Force; collision monitoring Simulink blocks for the Prisma satellite mission; and launch vehicle analysis tools in MATLAB and Java, to name a few. She has developed novel methods for space situation assessment such as a numeric approach to assessing the general rendezvous problem between any two satellites implemented in both MATLAB and C++. Ms. Thomas has contributed to PSS' Attitude and Orbit Control textbook, featuring examples using the Spacecraft Control Toolbox, and written many software User's Guides. She has conducted SCT training for engineers from diverse locales such as Australia, Canada, Brazil, and Thailand and has performed MATLAB consulting for NASA, the Air Force, and the European Space Agency.
Autoren/Hrsg.
Weitere Infos & Material
1;Contents at a Glance;5
2;Contents;6
3;About the Authors;14
4;About the Technical Reviewer;16
5;Introduction;17
6;Part I Introduction to Machine Learning;18
6.1;Chapter 1:An Overview of Machine Learning;19
6.1.1;1.1 Introduction;19
6.1.2;1.2 Elements of Machine Learning;20
6.1.2.1;1.2.1 Data;20
6.1.2.2;1.2.2 Models;20
6.1.2.3;1.2.3 Training;21
6.1.2.3.1;1.2.3.1 Supervised Learning;21
6.1.2.3.2;1.2.3.2 Unsupervised Learning;21
6.1.2.3.3;1.2.3.3 Semisupervised Learning;21
6.1.2.3.4;1.2.3.4 Online Learning;21
6.1.3;1.3 The Learning Machine;22
6.1.4;1.4 Taxonomy of Machine Learning;23
6.1.5;1.5 Autonomous Learning Methods;24
6.1.5.1;1.5.1 Regression;24
6.1.5.2;1.5.2 Neural Nets;27
6.1.5.3;1.5.3 Support Vector Machines;28
6.1.5.4;1.5.4 Decision Trees;28
6.1.5.5;1.5.5 Expert System;29
6.1.6;References;31
6.2;Chapter 2:The History of Autonomous Learning;32
6.2.1;2.1 Introduction;32
6.2.2;2.2 Artificial Intelligence;32
6.2.3;2.3 Learning Control;34
6.2.4;2.4 Machine Learning;36
6.2.5;2.5 The Future;37
6.2.6;References;38
6.3;Chapter 3:Software for Machine Learning;39
6.3.1;3.1 Autonomous Learning Software;39
6.3.2;3.2 Commercial MATLAB Software;39
6.3.2.1;3.2.1 MathWorks Products;39
6.3.2.1.1;3.2.1.1 Statistics and Machine Learning Toolbox;40
6.3.2.1.2;3.2.1.2 Neural Network Toolbox;40
6.3.2.1.3;3.2.1.3 Computer Vision System Toolbox;40
6.3.2.1.4;3.2.1.4 System Identification Toolbox;41
6.3.2.2;3.2.2 Princeton Satellite Systems Products;41
6.3.2.2.1;3.2.2.1 Core Control Toolbox;41
6.3.2.2.2;3.2.2.2 Target Tracking;41
6.3.3;3.3 MATLAB Open-Source Resources;42
6.3.3.1;3.3.1 Deep Learn Toolbox;42
6.3.3.2;3.3.2 Deep Neural Network;42
6.3.3.3;3.3.3 MatConvNet;42
6.3.4;3.4 Products for Machine Learning;42
6.3.4.1;3.4.1 R;42
6.3.4.2;3.4.2 scikit-learn;42
6.3.4.3;3.4.3 LIBSVM;43
6.3.5;3.5 Products for Optimization;43
6.3.5.1;3.5.1 LOQO;43
6.3.5.2;3.5.2 SNOPT;43
6.3.5.3;3.5.3 GLPK;44
6.3.5.4;3.5.4 CVX;44
6.3.5.5;3.5.5 SeDuMi;44
6.3.5.6;3.5.6 YALMIP;44
6.3.6;References;45
7;Part II MATLAB Recipes for Machine Learning;46
7.1;Chapter 4:Representation of Data for Machine Learning in MATLAB;47
7.1.1;4.1 Introduction to MATLAB Data Types;47
7.1.1.1;4.1.1 Matrices;47
7.1.1.2;4.1.2 Cell Arrays;48
7.1.1.3;4.1.3 Data Structures;49
7.1.1.4;4.1.4 Numerics;50
7.1.1.5;4.1.5 Images;50
7.1.1.6;4.1.6 Datastore;52
7.1.1.7;4.1.7 Tall Arrays;53
7.1.1.8;4.1.8 Sparse Matrices;54
7.1.1.9;4.1.9 Tables and Categoricals;54
7.1.1.10;4.1.10 Large MAT-Files;55
7.1.2;4.2 Initializing a Data Structure Using Parameters;56
7.1.2.1;4.2.1 Problem;56
7.1.2.2;4.2.2 Solution;56
7.1.2.3;4.2.3 How It Works;56
7.1.3;4.3 Performing mapreduce on an Image Datastore;58
7.1.3.1;4.3.1 Problem;58
7.1.3.2;4.3.2 Solution;58
7.1.3.3;4.3.3 How It Works;58
7.1.4;4.4 Creating a Table from a File;60
7.1.5;Summary;60
7.2;Chapter 5MATLAB Graphics:;61
7.2.1;5.1 Two-Dimensional Line Plots;61
7.2.1.1;5.1.1 Problem;61
7.2.1.2;5.1.2 Solution;61
7.2.1.3;5.1.3 How It Works;62
7.2.2;5.2 General 2D Graphics;66
7.2.2.1;5.2.1 Problem;66
7.2.2.2;5.2.2 Solution;66
7.2.2.3;5.2.3 How It Works;66
7.2.3;5.3 Custom 2D Diagrams;70
7.2.3.1;5.3.1 Problem;70
7.2.3.2;5.3.2 Solution;70
7.2.3.3;5.3.3 How It Works;71
7.2.4;5.4 Three-Dimensional Box;77
7.2.4.1;5.4.1 Problem;77
7.2.4.2;5.4.2 Solution;77
7.2.4.3;5.4.3 How It Works;77
7.2.5;5.5 Draw a 3D Object with a Texture;79
7.2.5.1;5.5.1 Problem;79
7.2.5.2;5.5.2 Solution;80
7.2.5.3;5.5.3 How It Works;80
7.2.6;5.6 General 3D Graphics;82
7.2.6.1;5.6.1 Problem;82
7.2.6.2;5.6.2 Solution;82
7.2.6.3;5.6.3 How It Works;83
7.2.7;5.7 Building a Graphical User Interface;84
7.2.7.1;5.7.1 Problem;84
7.2.7.2;5.7.2 Solution;84
7.2.7.3;5.7.3 How It Works;84
7.2.8;Summary;96
7.3;Chapter 6:Machine Learning Examples in MATLAB;97
7.3.1;6.1 Introduction;97
7.3.2;6.2 Machine Learning;97
7.3.2.1;6.2.1 Neural Networks;97
7.3.2.2;6.2.2 Face Recognition;98
7.3.2.3;6.2.3 Data Classification;98
7.3.3;6.3 Control;98
7.3.3.1;6.3.1 Kalman Filters;98
7.3.3.2;6.3.2 Adaptive Control;99
7.3.4;6.4 Artificial Intelligence;99
7.3.4.1;6.4.1 Autonomous Driving and Target Tracking;100
7.4;Chapter 7:Face Recognition with Deep Learning;101
7.4.1;7.1 Obtain Data Online: For Training a Neural Network;104
7.4.1.1;7.1.1 Problem;104
7.4.1.2;7.1.2 Solution;105
7.4.1.3;7.1.3 How It Works;105
7.4.2;7.2 Generating Data for Training a Neural Net;105
7.4.2.1;7.2.1 Problem;105
7.4.2.2;7.2.2 Solution;105
7.4.2.3;7.2.3 How It Works;105
7.4.3;7.3 Convolution;109
7.4.3.1;7.3.1 Problem;109
7.4.3.2;7.3.2 Solution;110
7.4.3.3;7.3.3 How It Works;110
7.4.4;7.4 Convolution Layer;112
7.4.4.1;7.4.1 Problem;112
7.4.4.2;7.4.2 Solution;112
7.4.4.3;7.4.3 How It Works;112
7.4.5;7.5 Pooling;115
7.4.5.1;7.5.1 Problem;115
7.4.5.2;7.5.2 Solution;115
7.4.5.3;7.5.3 How It Works;115
7.4.6;7.6 Fully Connected Layer;116
7.4.6.1;7.6.1 Problem;116
7.4.6.2;7.6.2 Solution;116
7.4.6.3;7.6.3 How It Works;116
7.4.7;7.7 Determining the Probability;118
7.4.7.1;7.7.1 Problem;118
7.4.7.2;7.7.2 Solution;118
7.4.7.3;7.7.3 How It Works;119
7.4.8;7.8 Test the Neural Network;120
7.4.8.1;7.8.1 Problem;120
7.4.8.2;7.8.2 Solution;120
7.4.8.3;7.8.3 How It Works;120
7.4.9;7.9 Recognizing an Image;121
7.4.9.1;7.9.1 Problem;121
7.4.9.2;7.9.2 Solution;121
7.4.9.3;7.9.3 How It Works;122
7.4.10;Summary;123
7.4.11;Reference;124
7.5;Chapter 8:Data Classification;125
7.5.1;8.1 Generate Classification Test Data;125
7.5.1.1;8.1.1 Problem;125
7.5.1.2;8.1.2 Solution;125
7.5.1.3;8.1.3 How It Works;125
7.5.2;8.2 Drawing Decision Trees;128
7.5.2.1;8.2.1 Problem;128
7.5.2.2;8.2.2 Solution;128
7.5.2.3;8.2.3 How It Works;128
7.5.3;8.3 Decision Tree Implementation;132
7.5.3.1;8.3.1 Problem;132
7.5.3.2;8.3.2 Solution;132
7.5.3.3;8.3.3 How It Works;132
7.5.4;8.4 Implementing a Decision Tree;136
7.5.4.1;8.4.1 Problem;136
7.5.4.2;8.4.2 Solution;136
7.5.4.3;8.4.3 How It Works;136
7.5.5;8.5 Creating a Hand-Made Decision Tree;141
7.5.5.1;8.5.1 Problem;141
7.5.5.2;8.5.2 Solution;141
7.5.5.3;8.5.3 How It Works;141
7.5.6;8.6 Training and Testing the Decision Tree;146
7.5.6.1;8.6.1 Problem;146
7.5.6.2;8.6.2 Solution;146
7.5.6.3;8.6.3 How It Works;146
7.5.7;Summary;152
7.5.8;Reference;153
7.6;Chapter 9:Classification of Numbers Using Neural Networks;154
7.6.1;9.1 Generate Test Images with Defects;154
7.6.1.1;9.1.1 Problem;154
7.6.1.2;9.1.2 Solution;154
7.6.1.3;9.1.3 How It Works;155
7.6.2;9.2 Create the Neural Net Tool;157
7.6.2.1;9.2.1 Problem;157
7.6.2.2;9.2.2 Solution;158
7.6.2.3;9.2.3 How It Works;158
7.6.3;9.3 Train a Network with One Output Node;167
7.6.3.1;9.3.1 Problem;167
7.6.3.2;9.3.2 Solution;168
7.6.3.3;9.3.3 How It Works;169
7.6.4;9.4 Testing the Neural Network;172
7.6.4.1;9.4.1 Problem;172
7.6.4.2;9.4.2 Solution;172
7.6.4.3;9.4.3 How It Works;172
7.6.5;9.5 Train a Network with Multiple Output Nodes;173
7.6.5.1;9.5.1 Problem;173
7.6.5.2;9.5.2 Solution;173
7.6.5.3;9.5.3 How It Works;173
7.6.6;Summary;177
7.6.7;References;178
7.7;Chapter 10:Kalman Filters;179
7.7.1;10.1 A State Estimator;180
7.7.1.1;10.1.1 Problem;180
7.7.1.2;10.1.2 Solution;185
7.7.1.3;10.1.3 How It Works;186
7.7.1.4;10.1.4 Conventional Kalman Filter;190
7.7.2;10.2 Using the Unscented Kalman Filter for StateEstimation;200
7.7.2.1;10.2.1 Problem;200
7.7.2.2;10.2.2 Solution;200
7.7.2.3;10.2.3 How It Works;200
7.7.3;10.3 Using the UKF for Parameter Estimation;207
7.7.3.1;10.3.1 Problem;207
7.7.3.2;10.3.2 Solution;207
7.7.3.3;10.3.3 How It Works;207
7.7.4;Summary;213
7.7.5;References;215
7.8;Chapter 11:Adaptive Control;216
7.8.1;11.1 Self-Tuning: Finding the Frequency of an Oscillator;217
7.8.1.1;11.1.1 Problem;219
7.8.1.2;11.1.2 Solution;219
7.8.1.3;11.1.3 How It Works;219
7.8.2;11.2 Model Reference Adaptive Control;226
7.8.2.1;11.2.1 Generating a Square Wave Input;226
7.8.2.1.1;11.2.1.1 Problem;226
7.8.2.1.2;11.2.1.2 Solution;226
7.8.2.1.3;11.2.1.3 How It Works;226
7.8.2.2;11.2.2 Implement Model Reference Adaptive Control;228
7.8.2.2.1;11.2.2.1 Problem;228
7.8.2.2.2;11.2.2.2 Solution;228
7.8.2.2.3;11.2.2.3 How It Works;228
7.8.2.3;11.2.3 Demonstrate MRAC for a Rotor;231
7.8.2.3.1;11.2.3.1 Problem;231
7.8.2.3.2;11.2.3.2 Solution;231
7.8.2.3.3;11.2.3.3 How It Works;231
7.8.3;11.3 Longitudinal Control of an Aircraft;234
7.8.3.1;11.3.1 Write the Differential Equations for the LongitudinalMotion of an Aircraft;234
7.8.3.1.1;11.3.1.1 Problem;234
7.8.3.1.2;11.3.1.2 Solution;234
7.8.3.1.3;11.3.1.3 How It Works;234
7.8.3.2;11.3.2 Numerically Finding Equilibrium;240
7.8.3.2.1;11.3.2.1 Problem;240
7.8.3.2.2;11.3.2.2 Solution;240
7.8.3.2.3;11.3.2.3 How It Works;240
7.8.3.3;11.3.3 Numerical Simulation of the Aircraft;242
7.8.3.3.1;11.3.3.1 Problem;242
7.8.3.3.2;11.3.3.2 Solution;242
7.8.3.3.3;11.3.3.3 How It Works;242
7.8.3.4;11.3.4 Find a Limiting and Scaling function for a Neural Net;244
7.8.3.4.1;11.3.4.1 Problem;244
7.8.3.4.2;11.3.4.2 Solution;244
7.8.3.4.3;11.3.4.3 How It Works;244
7.8.3.5;11.3.5 Find a Neural Net for the Learning Control;245
7.8.3.5.1;11.3.5.1 Problem;245
7.8.3.5.2;11.3.5.2 Solution;245
7.8.3.5.3;11.3.5.3 How It Works;245
7.8.3.6;11.3.6 Enumerate All Sets of Inputs;249
7.8.3.6.1;11.3.6.1 Problem;249
7.8.3.6.2;11.3.6.2 Solution;249
7.8.3.6.3;11.3.6.3 How It Works;250
7.8.3.7;11.3.7 Write a General Neural Net Function;251
7.8.3.7.1;11.3.7.1 Problem;251
7.8.3.7.2;11.3.7.2 Solution;251
7.8.3.7.3;11.3.7.3 How It Works;251
7.8.3.8;11.3.8 Implement PID Control;256
7.8.3.8.1;11.3.8.1 Problem;256
7.8.3.8.2;11.3.8.2 Solution;256
7.8.3.8.3;11.3.8.3 How It Works;256
7.8.3.9;11.3.9 Demonstrate PID control of Pitch for the Aircraft;260
7.8.3.9.1;11.3.9.1 Problem;260
7.8.3.9.2;11.3.9.2 Solution;260
7.8.3.9.3;11.3.9.3 How It Works;260
7.8.3.10;11.3.10 Create the Neural Net for the Pitch Dynamics;265
7.8.3.10.1;11.3.10.1 Problem;265
7.8.3.10.2;11.3.10.2 Solution;265
7.8.3.10.3;11.3.10.3 How It Works;265
7.8.3.11;11.3.11 Demonstrate the Controller in a Nonlinear Simulation;268
7.8.3.11.1;11.3.11.1 Problem;268
7.8.3.11.2;11.3.11.2 Solution;268
7.8.3.11.3;11.3.11.3 How It Works;268
7.8.4;11.4 Ship Steering: Implement Gain Scheduling for Steering Control of a Ship;270
7.8.4.1;11.4.1 Problem;270
7.8.4.2;11.4.2 Solution;270
7.8.4.3;11.4.3 How It Works;271
7.8.5;Summary;276
7.8.6;References;277
7.9;Chapter12:Autonomous Driving;278
7.9.1;12.1 Modeling the Automobile Radar;278
7.9.1.1;12.1.1 Problem;278
7.9.1.2;12.1.2 How It Works;278
7.9.1.3;12.1.3 Solution;279
7.9.2;12.2 Automobile Autonomous Passing Control;283
7.9.2.1;12.2.1 Problem;283
7.9.2.2;12.2.2 Solution;283
7.9.2.3;12.2.3 How It Works;283
7.9.3;12.3 Automobile Dynamics;285
7.9.3.1;12.3.1 Problem;285
7.9.3.2;12.3.2 How It Works;285
7.9.3.3;12.3.3 Solution;288
7.9.4;12.4 Automobile Simulation and the Kalman Filter;290
7.9.4.1;12.4.1 Problem;290
7.9.4.2;12.4.2 Solution;290
7.9.4.3;12.4.3 How It Works;290
7.9.5;12.5 Perform MHT on the Radar Data;297
7.9.5.1;12.5.1 Problem;297
7.9.5.2;12.5.2 Solution;297
7.9.5.3;12.5.3 How It Works;301
7.9.5.4;12.5.4 Hypothesis Formation;310
7.9.5.4.1;12.5.4.1 Problem;310
7.9.5.4.2;12.5.4.2 Solution;310
7.9.5.4.3;12.5.4.3 How It Works;310
7.9.5.5;12.5.5 Track Pruning;317
7.9.5.5.1;12.5.5.1 Problem;317
7.9.5.5.2;12.5.5.2 Solution;317
7.9.5.5.3;12.5.5.3 How It Works;317
7.9.5.5.4;12.5.5.4 Simulation;321
7.9.6;Summary;329
7.9.7;References;331
8;Index;332




