In this chapter, we have introduced some main concepts about machine learning. We started with some basic mathematical definitions so that we have a clear view of data formats, standards, and certain kinds of functions. This notation will be adopted in the rest of the chapters in this book, and it's also the most diffused in technical publications. We also discussed how scikit-learn seamlessly works with multi-class problems, and when a strategy is preferable to another.
The next step was the introduction of some fundamental theoretical concepts regarding learnability. The main questions we tried to answer were: how can we decide if a problem can be learned by an algorithm and what is the maximum precision we can achieve? PAC learning is a generic but powerful definition that can be adopted when defining the boundaries of an algorithm. A PAC learnable problem, in...