Skip to main content
Top

2019 | Book

An Introduction to Machine Learning

insite
SEARCH

About this book

Just like electricity, Machine Learning will revolutionize our life in many ways – some of which are not even conceivable today. This book provides a thorough conceptual understanding of Machine Learning techniques and algorithms. Many of the mathematical concepts are explained in an intuitive manner. The book starts with an overview of machine learning and the underlying Mathematical and Statistical concepts before moving onto machine learning topics. It gradually builds up the depth, covering many of the present day machine learning algorithms, ending in Deep Learning and Reinforcement Learning algorithms. The book also covers some of the popular Machine Learning applications. The material in this book is agnostic to any specific programming language or hardware so that readers can try these concepts on whichever platforms they are already familiar with.

Offers a comprehensive introduction to Machine Learning, while not assuming any prior knowledge of the topic;

Provides a complete overview of available techniques and algorithms in conceptual terms, covering various application domains of machine learning;

Not tied to any specific software language or hardware implementation.

Table of Contents

Frontmatter
Chapter 1. Machine Learning Definition and Basics
Abstract
Machine learning algorithms have shown great promise in providing solutions to complex problems. Some of the applications we use every day from searching the Internet to speech recognition are examples of tremendous strides made in realizing the promise of machine learning.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 2. Learning Models
Abstract
Machine learning algorithms derive their strength from their ability to learn from the available data. This chapter introduces you to the most prominent learning models. Subsequent chapters will dive deeper into the various algorithms or applications that depend on these models. The primary learning models that will be considered are Supervised, Unsupervised, Semi-supervised and Reinforcement learning.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 3. Regressions
Abstract
Regression analysis is a statistical and machine learning technique that allows you to build a model based on a labelled dataset (such as past data for stocks) that can be used to make predictions. This chapter starts getting into the actual aspects of machine learning. By the end of this chapter, you will be able to perform some simple predictions for new data, based on learning from the labelled dataset (from prior observations).
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 4. Improving Further
Abstract
In this chapter, we will further refine the techniques learnt in the previous chapter. With these refinements, you will be able to achieve quicker convergence and get improved predictions.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 5. Classification
Abstract
Classification refers to the problem of identifying the category to which an input belongs to among a possible set of categories. The possible set of categories are labelled, and models are generally learned from training data. Classification models can be created using simple thresholds, regression techniques, or other machine learning techniques like Neural Networks, Random Forests, or Markov models.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 6. Clustering
Abstract
Clustering refers to grouping of elements that are close to each other. The assumption being as elements in a groups are close to each other, they would have similarity in properties of interest.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 7. Random Forests
Abstract
Random Forests are effective and intuitive models used in classification and regression problems. They are intuitive because they provide clear path to a result and are based on underlying Decision Tree structures. A Decision Tree is a machine learning model built using series of decisions based on variable values to take one path or the other. A Random Forest is a collection of Decision Trees that improve the prediction over a single Decision Tree.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 8. Testing the Algorithm and the Network
Abstract
The learnings in this chapter will help you determine if your choice of features and the number of datasets are sufficient or should you increase datasets and/or increase/decrease the number of features forming your hypothesis.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 9. (Artificial) Neural Networks
Abstract
This chapter will cover the basics of artificial neural networks (ANNs) which are also called multilayer perceptrons. Neural networks are networks of interconnected artificial neurons. Their structure is heavily inspired by the brain’s neuron network. A neural network is generally used to create supervised machine learning models for classification, similar to a Logistic Regression model, and is useful in cases where Logistic Regression may not provide reasonable accuracy. Neural networks form the basis of many of the complex applications and algorithms of machine learning. You will subsequently see some of these applications in Chaps. 16 and 17 (Reinforcement Learning), 11 (Recurrent Neural Network Used in Language Processing), and 15 (Convolutional Neural Network). A good understanding of a neural network is necessary to understand these and other applications that have raised so much interest in machine learning. Neural networks are also used in unsupervised learning for compressed representation and/or dimensionality reduction.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 10. Natural Language Processing
Abstract
Natural language processing (NLP) is understanding and interpreting human languages, spoken or written, using machine processing. NLP is useful in a variety of applications including speech recognition, language translations, summarization, question responses, speech generation, and search applications. NLP is an area of research which has proven to be difficult to master. Deep learning techniques have started to solve some of the issues involved in natural language processing.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 11. Deep Learning
Abstract
Deep learning has seen significant success in recent time with applications like speech recognition, image processing, language translation, and list goes on. Deep neural networks in general refer to neural networks with many layers and large number of neurons, often layered in a way that is generally not domain specific. Availability of compute power and large amount of data has made these large structures very effective in learning hidden features along with data patterns.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 12. Principal Component Analysis
Abstract
Principal component analysis (PCA) is a statistical process that allows reducing number of variables from a given dataset to a smaller set of variables that can be used in data analysis. The reduced set of variables retain the variance present in the original dataset. This is very useful in machine learning where the amount of data required for training is related to number of variables used in modeling.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 13. Anomaly Detection
Abstract
The learnings in this chapter will help you determine if something is anomalous. Anomalous in this context effectively means out of range. It could be about a defect in a component or a fraudulent exchange. For example, if a person usually types with a certain speed, and suddenly the system sees a different speed, it is anomalous behavior, giving an indication of possible impersonation. Or, for a component, certain measured parameters being outside the range compared to the range exhibited by normal components could indicate a defective component. This information can be used for quality checks, either during manufacturing, shipment, acceptance stages, or also during preventive maintenance. The concept of anomaly detection depends on being able to observe certain parameters and then being able to form an opinion about some dependent behavior, which is difficult to directly observe at this time. For example, predict the expected remaining life of an aircraft engine based on noise (something that can be observed now). Similarly, use measured value of typing speed to predict if the person (not visible) at the other end is impersonating. Anomaly detection is used very extensively in monitoring computer equipment in large data centers. All the computers in a data center are monitored for many parameters. If a specific computer seems to exhibit a behavior that is very different from other computers, this computer could be defective and may need to be taken out of the network. For example, if it’s getting too few jobs compared to other computers, maybe, it’s working slowly. Or, if it’s getting too many jobs compared to others, maybe, it’s not working properly and terminating jobs immediately that come to it and, thus, be ready to take on additional jobs.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 14. Recommender Systems
Abstract
This chapter explains how to build recommender systems. Recommender systems are the systems that make recommendations to you, based on prior choices exercised by you and by others who have exhibited similar tastes in their choices. When you visit an e-commerce site and look for a specific dress, you start seeing several other dresses which are similar. Or, when you watch a video on YouTube, it starts recommending several other videos which are similar. Similarly, when you read a specific news item, the website starts showing you information related to that same category of items. When you search for a book on amazon.com, it also shows other books in the same genre or by the same author.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 15. Convolution
Abstract
Convolution is a very important concept in the world of machine learning. In many of the previous chapters, you have read about various algorithms, and you have seen how they work on numbers. Convolution is a technique which automates extraction and synthesis of significant features needed to identify the target classes, useful for machine learning applications. Fundamentally, convolution is feature engineering guided by the ground truth and cost function. Thus, convolution is used for some of the coolest applications of machine learning, such as image recognition, handwriting reading, interpreting street signs, etc. As you can well imagine, one of the most famous applications of machine learning – ADAS (autonomous driver assistance system) – depends on convolution as a component of the whole system to identify objects and to interpret signs!!
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 16. Components of Reinforcement Learning
Abstract
Reinforcement learning (RL) is one of the fundamental areas of machine learning and is widely regarded as a necessary component of artificial general intelligence (AGI). While RL has been researched for a few decades, the advent of deep learning has resulted in the so-called deep reinforcement learning algorithms that utilize deep neural networks and large-scale computing power to significantly improve the capabilities of RL. They have resulted in computer programs that play video games and board games at super human level and even beat handcrafted computer programs, e.g., chess program AlphaZero beat the best handcrafted program Stockfish 8. Besides video and board games, RL is being applied to enable robots to learn complex tasks in autonomous driving and industrial automation. This chapter covers the fundamental concepts of RL and the taxonomy of RL algorithms. In the next chapter, you will learn some of the key algorithms in reinforcement learning. An understanding of this chapter will provide you with a good feel for RL.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 17. Reinforcement Learning Algorithms
Abstract
In the previous chapter, you were introduced to major aspects of reinforcement learning. This chapter takes you through the next steps on dealing with those challenges in order to form the algorithms for reinforcement learning. Reinforcement learning is an area of very active research, and new variations of algorithms are proposed regularly. An understanding of this chapter will provide you with a good basis, so that you can appreciate not just the current generation algorithms but also understand new research findings in this area. RL involves interaction of multiple components and concepts, which you have already seen in prior chapters in this book.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Chapter 18. Designing a Machine Learning System
Abstract
In the previous chapters, you have seen various algorithms and how they apply to specific problem domains. This chapter will help you get into the finer details of designing a machine learning system. The concepts explained in this chapter are less about individual algorithms; they are about making choices for implementing your algorithms.
Gopinath Rebala, Ajay Ravi, Sanjay Churiwala
Backmatter
Metadata
Title
An Introduction to Machine Learning
Authors
Gopinath Rebala
Ajay Ravi
Sanjay Churiwala
Copyright Year
2019
Electronic ISBN
978-3-030-15729-6
Print ISBN
978-3-030-15728-9
DOI
https://doi.org/10.1007/978-3-030-15729-6