Litcius/Paper detail

Introduction to Machine Learning

Fabio Manganiello

2021Apress eBooks117 citationsDOI

Abstract

Machine learning is defined as the set of techniques to perform through a machine a task it wasn’t explicitly programmed for. It is sometimes seen as a subset of dynamic programming. If you have some prior experience with traditional programming, you’ll know that building a piece of software involves explicitly providing a machine with an unambiguous set of instructions to be executed sequentially or in parallel in order to perform a certain task. This works quite well if the purpose of your software is to calculate the commission on a purchase, or display a dashboard to the user, or read and write data to an attached device. These types of problems usually involve a finite number of well-defined steps in order to perform their task. However, what if the task of your software is to recognize whether a picture contains a cat? Even if you build a software that is able to correctly identify the shape of a cat on a few specific sample pictures (e.g., by checking whether some specific pixels present in your sample pictures are in place), that software will probably fail at performing its task if you provide it with different pictures of cats—or even slightly edited versions of your own sample images. And what if you have to build a software to detect spam? Sure, you can probably still do it with traditional programming—you can, for instance, build a huge list of words or phrases often found in spam emails—but if your software is provided with words similar to those on your list but that are not present on your list, then it will probably fail its task.

Topics & Concepts

Computer scienceSoftwareTask (project management)Set (abstract data type)Sample (material)Artificial intelligenceMachine learningProgramming languageEngineeringSystems engineeringChemistryChromatographyMachine Learning and Data Classification
Introduction to Machine Learning | Litcius