Acknowledgments |
|
xv | |
Introduction |
|
xvii | |
|
Chapter 1 Artificially Intelligent Software |
|
|
1 | (8) |
|
How We Ended Up with Software |
|
|
2 | (1) |
|
The Formalization of Computing Machines |
|
|
2 | (1) |
|
The Engineering of Computing Machines |
|
|
3 | (1) |
|
The Birth of Artificial Intelligence |
|
|
3 | (1) |
|
Software as a Side Effect |
|
|
4 | (1) |
|
The Role of Software Today |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (2) |
|
Chapter 2 An Architectural Perspective of ML.NET |
|
|
9 | (18) |
|
|
10 | (1) |
|
Why Is Python So Popular in Machine Learning? |
|
|
10 | (1) |
|
Taxonomy of Python Machine Learning Libraries |
|
|
11 | (2) |
|
End-to-End Solutions on Top of Python Models |
|
|
13 | (1) |
|
|
13 | (1) |
|
The Learning Pipeline in ML.NET |
|
|
14 | (5) |
|
Model Training Executive Summary |
|
|
19 | (4) |
|
Consuming a Trained Model |
|
|
23 | (1) |
|
Making the Model Callable from the Outside |
|
|
23 | (1) |
|
Other Deployment Scenarios |
|
|
23 | (1) |
|
From Data Science to Programming |
|
|
24 | (1) |
|
|
25 | (2) |
|
Chapter 3 The Foundation of ML.NET |
|
|
27 | (18) |
|
On the Way to Data Engineering |
|
|
27 | (1) |
|
The Role of a Data Scientist |
|
|
28 | (1) |
|
The Role of a Data Engineer |
|
|
29 | (1) |
|
The Role of an ML Engineer |
|
|
30 | (1) |
|
|
30 | (1) |
|
Making Sense of the Available Data |
|
|
31 | (1) |
|
Building a Data Processing Pipeline |
|
|
32 | (3) |
|
|
35 | (1) |
|
|
36 | (1) |
|
Measuring the Actual Value of an Algorithm |
|
|
36 | (1) |
|
Planning the Testing Phase |
|
|
37 | (1) |
|
|
38 | (1) |
|
Consuming the Model from a Client Application |
|
|
39 | (1) |
|
|
39 | (1) |
|
|
39 | (1) |
|
Making a Taxi Fare Prediction |
|
|
40 | (2) |
|
|
42 | (1) |
|
Devising an Adequate User Interface |
|
|
42 | (1) |
|
|
43 | (2) |
|
Chapter 4 Prediction Tasks |
|
|
45 | (28) |
|
The Pipeline and the Chain of Estimators |
|
|
46 | (1) |
|
|
46 | (1) |
|
|
47 | (1) |
|
|
47 | (1) |
|
|
48 | (1) |
|
|
48 | (1) |
|
General Aspects of ML Tasks |
|
|
49 | (1) |
|
Supported Regression Algorithms |
|
|
49 | (3) |
|
Supported Validation Techniques |
|
|
52 | (2) |
|
Using the Regression Task |
|
|
54 | (1) |
|
A Look at the Available Training Data |
|
|
54 | (4) |
|
|
58 | (2) |
|
Accessing the Content of Datasets |
|
|
60 | (2) |
|
Composing the Training Pipeline |
|
|
62 | (8) |
|
|
70 | (1) |
|
Simple and Linear Regression |
|
|
70 | (1) |
|
|
71 | (1) |
|
|
71 | (2) |
|
Chapter 5 Classification Tasks |
|
|
73 | (26) |
|
The Binary Classification ML Task |
|
|
73 | (1) |
|
|
73 | (2) |
|
Supported Validation Techniques |
|
|
75 | (1) |
|
Binary Classification for Sentiment Analysis |
|
|
75 | (1) |
|
A Look at the Available Training Data |
|
|
75 | (4) |
|
|
79 | (2) |
|
Composing the Training Pipeline |
|
|
81 | (4) |
|
The Multiclass Classification ML Task |
|
|
85 | (1) |
|
|
85 | (2) |
|
Using the Multiclass Classification Task |
|
|
87 | (1) |
|
A Look at the Available Data |
|
|
88 | (2) |
|
Composing the Training Pipeline |
|
|
90 | (6) |
|
|
96 | (1) |
|
The Many Faces of Classification |
|
|
97 | (1) |
|
Another Perspective on Sentiment Analysis |
|
|
98 | (1) |
|
|
98 | (1) |
|
Chapter 6 Clustering Tasks |
|
|
99 | (20) |
|
|
99 | (1) |
|
|
99 | (1) |
|
A Look at the Available Training Data |
|
|
100 | (4) |
|
|
104 | (1) |
|
|
105 | (4) |
|
Composing the Training Pipeline |
|
|
109 | (2) |
|
Setting Up a Client Application |
|
|
111 | (3) |
|
|
114 | (1) |
|
Clustering Is Always the First Step |
|
|
114 | (1) |
|
Unsupervised Reduction of the Dataset |
|
|
115 | (2) |
|
|
117 | (2) |
|
Chapter 7 Anomaly Detection Tasks |
|
|
119 | (22) |
|
|
119 | (1) |
|
General Approaches to Detect Anomalies |
|
|
120 | (1) |
|
|
120 | (2) |
|
|
122 | (1) |
|
Machine Learning Approaches |
|
|
123 | (2) |
|
The Anomaly Detection ML Task |
|
|
125 | (1) |
|
A Look at the Available Training Data |
|
|
125 | (3) |
|
Composing the Training Pipeline |
|
|
128 | (6) |
|
Setting Up a Client Application |
|
|
134 | (3) |
|
|
137 | (1) |
|
|
137 | (2) |
|
Fraudulent Financial Operations |
|
|
139 | (1) |
|
|
140 | (1) |
|
Chapter 8 Forecasting Tasks |
|
|
141 | (18) |
|
|
141 | (1) |
|
Simple Forecasting Methods |
|
|
141 | (1) |
|
Mathematical Foundation of Forecasting |
|
|
142 | (2) |
|
Common Decomposition Algorithms |
|
|
144 | (1) |
|
|
144 | (2) |
|
|
146 | (1) |
|
A Look at the Available Data |
|
|
146 | (2) |
|
Composing the Training Pipeline |
|
|
148 | (3) |
|
Setting Up a Client Application |
|
|
151 | (3) |
|
|
154 | (1) |
|
Not A Random Walk in the Park? |
|
|
154 | (1) |
|
Other Approaches to Time Series |
|
|
155 | (1) |
|
Energy Production Prediction |
|
|
156 | (2) |
|
|
158 | (1) |
|
Chapter 9 Recommendation Tasks |
|
|
159 | (16) |
|
Inside Information Retrieval Systems |
|
|
159 | (1) |
|
|
160 | (1) |
|
The Flexible Art of Recommendation |
|
|
161 | (1) |
|
The Delicate Art of Collaborative Filtering |
|
|
162 | (1) |
|
The ML Recommendation Task |
|
|
163 | (1) |
|
A Look at the Available Data |
|
|
163 | (3) |
|
Composing the Training Pipeline |
|
|
166 | (4) |
|
Setting Up a Client Application |
|
|
170 | (2) |
|
|
172 | (1) |
|
|
172 | (1) |
|
What If You're Not Like Netflix? |
|
|
173 | (1) |
|
|
173 | (2) |
|
Chapter 10 Image Classification Tasks |
|
|
175 | (14) |
|
|
175 | (1) |
|
Popular Image Processing Neural Networks |
|
|
176 | (1) |
|
Other Image Neural Networks |
|
|
176 | (1) |
|
Transfer Learning via Composition |
|
|
176 | (1) |
|
The Transfer Learning Pattern in ML.NET |
|
|
177 | (1) |
|
Overall Purpose of the New Image Classifier |
|
|
178 | (1) |
|
A Look at the Available Data |
|
|
178 | (2) |
|
Composing the Training Pipeline |
|
|
180 | (2) |
|
Setting Up a Client Application |
|
|
182 | (2) |
|
The ML Image Classification Task |
|
|
184 | (1) |
|
The Image Classification API |
|
|
184 | (1) |
|
Using the Image Classification API |
|
|
185 | (1) |
|
|
186 | (1) |
|
The Magic of the Human Brain |
|
|
186 | (1) |
|
Handcrafted Neural Networks |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
188 | (1) |
|
Chapter 11 Overview of Neural Networks |
|
|
189 | (16) |
|
Feed-forward Neural Networks |
|
|
189 | (1) |
|
|
190 | (1) |
|
|
191 | (2) |
|
|
193 | (1) |
|
Training a Neural Network |
|
|
194 | (3) |
|
More Sophisticated Neural Networks |
|
|
197 | (1) |
|
|
197 | (2) |
|
Convolutional Neural Networks |
|
|
199 | (3) |
|
|
202 | (1) |
|
|
203 | (2) |
|
Chapter 12 A Neural Network to Recognize Passports |
|
|
205 | (14) |
|
Using Azure Cognitive Services |
|
|
205 | (1) |
|
Anatomy and Solution of the Problem |
|
|
206 | (1) |
|
Working with the ID Form Recognizer |
|
|
207 | (3) |
|
Crafting Your Own Neural Network |
|
|
210 | (1) |
|
Topology of the Neural Network |
|
|
211 | (4) |
|
|
215 | (1) |
|
|
216 | (1) |
|
Commodity Versus Vertical Solutions |
|
|
216 | (1) |
|
When Are Custom Solutions Inevitable? |
|
|
217 | (1) |
|
|
217 | (2) |
|
Appendix A Model Explainability |
|
|
219 | (5) |
|
|
219 | (1) |
|
The Super Theory of Artificial Intelligence |
|
|
220 | (1) |
|
Machine Learning Black Boxes |
|
|
221 | (1) |
|
Interpretability and Explainability |
|
|
221 | (2) |
|
Explainability Techniques |
|
|
223 | (1) |
Conclusion |
|
224 | (1) |
Index |
|
225 | |