Machine Learning is known by many different names, and is used in many areas of science. It is also used for a variety of applications, including spam filtering, optical character recognition, search engines, computer vision, NLP, advertising, fraud detection, robotics, data prediction, astronomy. Considering this, it can often be difficult to find a solution to a problem in the literature, simply because different words and phrases are used for the same concept. This class-tested textbook aims to alleviate this, using mathematics as the common language. It covers a variety of machine learning concepts from basic principles, and llustrates every concept using examples in MATLAB.