Data Science: Intro To Deep Learning With Python In 2021

Understand the intuition behind Artificial Neural Networks

Build artificial neural networks with Tensorflow

Classify images, data using deep learning

Apply Convolutional Neural Networks in practice


  • Some prior coding experience with python is required.


Neural networks are a family of machine learning algorithms that are generating a lot of excitement. They are a technique that is inspired by how the neurons in our brains function. They are based on a simple idea: given certain parameters, it is possible to combine them in order to predict a certain result. For example, if you know the number of pixels in an image, there are ways of knowing which number is written in the image. The data that enters passes through various “ layers” in which a series of adjusted learning rules are applied by a weighted function. After passing through the last layer, the results are compared with the “correct” results, and the parameters are adjusted.

Although the algorithms and the learning process in general are complex, one the network has learned, it can freeze the various weights and function in a memory or execution mode. Google uses these types of algorithms, for example, for image searches.

There is no single definition for the meaning of Deep Learning. In general, when we talk of Deep Learning, we are referring to a group of Machine Learning algorithms based on neural networks that, as we have seen, are characterized by cascade data processing. The entrance signal passes through the various stages, and in each one, they are subjected to a non-linear transformation. This helps to extract and transform the variable according to the determined parameters (weights or boundaries). There isn’t an established limit for the number of stages that a neural network must contain to be considered Deep Learning. However, it is thought that Deep Learning arose in the 80’s, using a model which had 5 or 6 layers. It was (and is) called the neocognitron and was created by the Japanese researcher Kunihiki Fukushima. Neural networks are very effective in identifying patterns.

An example worth highlighting of the application of Deep Learning is the project carried out by Google and the Universities of Stanford and Massachusetts. It aimed to improve the natural language processing techniques of a type of AI called Recurrent Neural Network Language Model (RNNLM). It’s used for automatic translations and creating subtitles, among other thing. Basically, it builds up phrases word by words, basing each word on the previous one and in this way, it can even write poems.

Module 1

1. Introduction to Deep Learning and TensorFlow

2. Basics of Neural Networks

3. Designing a shallow neural network (Scratch and python) (Project)

4. Deeper neural network using TensorFlow. (Project)

Who this course is for:

  • Beginners In Python
  • Beginners In Deep Learning
  • Beginners In Machine Learning

Course content

Tensorflow 2.0 | Recurrent Neural Networks, LSTMs, GRUs

What you’ll learn







Time series


  • Python
  • Numpy
  • Tensorflow or keras
  • Feed Forward Neural Networks
  • Back Propagation


This is a preview to the exciting Recurrent Neural Networks course that will be going live soon. Recurrent Networks are an exciting type of neural network that deal with data that come in the form of a sequence. Sequences are all around us such as sentences, music, videos, and stock market graphs. And dealing with them requires some type of memory element to remember the history of the sequences, this is where Recurrent Neural networks come in.

We will be covering topics such as RNNs, LSTMs, GRUs, NLP, Seq2Seq, attention networks and much much more.

You will also be building projects, such as a Time series Prediction, music generator, language translation, image captioning, spam detection, action recognition and much more.

Building these projects will impress even the most senior machine learning developers; and will prepare you to start tackling your own deep learning projects with real datasets to show off to your colleagues or even potential employers.

Sequential Networks are very exciting to work with and allow for the creation of very intelligent applications. If you’re interested in taking your machine learning skills to the next level, then this course is for you!

Who this course is for:

  • machine learning developers
  • Data Scientiests

Course content

Neural Networks Made Easy

Neural Network Fundamentals


  • Be able to code in Python with NumPy and Pandas


Wanna understand deep learning and neural networks so well, you could code them from scratch? In this course, we’ll do exactly that.

The course starts by motivating and explaining perceptrons, and then gradually works its way toward deriving and coding a multiclass neural network with stochastic gradient descent that can recognize hand-written digits from the famous MNIST dataset.

Course Goals

This course is all about understanding the fundamentals of neural networks. So, it does not discuss TensorFlow, PyTorch, or any other neural network libraries. However, by the end of this course, you should understand neural networks so well that learning TensorFlow and PyTorch should be a breeze!


In this course, I present a number of coding challenges inside the video lectures. The general approach is, we’ll discuss an idea and the theory behind it, and then you’re challenged to implement the idea / algorithm in Python. I’ll discuss my solution to every challenge, and my code is readily available on github.


In this course, we’ll be using Python, NumPy, Pandas, and good bit of calculus. ..but don’t let the math scare you. I explain everything in great detail with examples and visuals.

If you’re rusty on your NumPy or Pandas, check out my free courses Python NumPy For Your Grandma and Python Pandas For Your Grandpa.

Who this course is for:

  • People interested in learning how neural networks work

Course content

Deep learning: An Image Classification Bootcamp

Basics of Image Processing for deep learning using tensorflow

Image Classification


Machine Learning

Deep Learning

Neural Networks


  • Basics of Python 3 programming


Want to dive into Deep Learning and can’t find a simple yet comprehensive course?

Don’t worry you have come to the right place.

We provide easily digestible lessons with plenty of programming question to fill your coding appetite. All topic are thoroughly explained and NO MATH BACKGROUND IS NEEDED. This class will give you a head start among your peers.

This class contains fundamentals of Image Classification with Tensorflow.

This course will teach you everything you need to get started.

Who this course is for:

  • Data Scientists
  • If you have some Knowledge about Python and want to explore Deep learning
  • Beginner python developer curious about Data Science

Course content

Learn Machine Learning algorithms, softwares, deep learning

Understand Machine learning concepts.


  • Just basic computer knowledge to unleash the power of MAchine Learning


Machine learning course comprises below lectures.  

# Course Duration

3.1 Machine learning introduction 00:07:11

3.2 Machine learning algorithms 00:10:25

3.3 Machine learning softwares          00:14:43

5.1 AWS and Machine learning           00:08:51   

5.8 TensorFlow – Open source Machine Learning framework 00:16:15   

Machine Learning on AWS covers more details about concepts of TensorFlow, Amazon SageMaker and other AWS ML topics.

Course covering KDD, AI, BI, Deep learning, Neural Networks, ANN, Decision tree, Bayesian networks, TensorFlow and Knime

Who this course is for:

  • For all those who is interested in learning about Machine Learning and Data science.

Course content

AI4ALL: Natural Language Processing

Explore the foundational building blocks of language problems

Learn to use Tensorflow to process languages

Learn to build Recurrent Neural Network models to predict sentiment

Learn and explore more advanced NLP topics such as LSTM


  • No prior programming experience needed. You will learn directly in this class.


This course is created to follow up with the AI4ALL initiatives. The course presents coding materials at a pre-college level and introduces a fundamental pipeline for a neural network model. The course is designed for the first-time learners and the audience who only want to get a taste of a machine learning project but still uncertain whether this is the career path. We will not bored you with the unnecessary component and we will directly take you through a list of topics that are fundamental for industry practitioners and researchers to design their customized neural network model.  The course follows the previous sequence where we covered Artificial Neural Network models, Convolutional Neural Network models, and Image-to-Image models. This course focuses on some of the most basical tasks in language problems and develop the basic intuition of Recurrent Neural Networks.

This instructor team is lead by Ivy League graduate students and we have had 3+ years coaching high school students. We have seen all the ups and downs. Moreover, we want to share these roadblocks with you. This course is designed for beginner students at pre-college level who just want to have a quick taste of what AI is about and efficiently build a quick Github package to showcase some technical skills. We have other longer courses for more advanced students. However, we welcome anybody to take this course!

Who this course is for:

  • Pre-college level students interested in recurrent neural network models

Course content

Deep Learning Model Compression

Practice model compression using Tensorflow, Pytorch, ONNX, and TensorRT

Serve compressed model in AWS Sagemaker

Understand model compression algorithms, pruning, quantization, distillation and factorization

Conduct literature survey about most recent compression techniques


  • Python programming
  • Familiar with deep learning model components


This course is intended to provide learners with an in-depth understanding of techniques used in compressing deep learning models. The techniques covered in the course include pruning, quantization, knowledge distillation, and factorization, all of which are essential for anyone working in the field of deep learning, particularly those focused on computer vision and natural language processing. These techniques should be generally applicable to all deep learning models.

One of the primary objectives of this course is to provide advanced content that is updated with the latest algorithms. This includes product quantization and its variants, tensor factorization, and other cutting-edge techniques that are rapidly evolving in the field of deep learning. To ensure learners are equipped with the knowledge they need to succeed in this field, the course will summarize these techniques based on academic papers, while avoiding an emphasis on experiment result details. It’s worth noting that leaderboard results are updated frequently, and new models may require compression. As a result, the course will focus on the technical aspects of these techniques, helping learners understand what happens behind the scenes.

Upon completion of the course, learners will feel confident in their ability to read news, blogs, and academic papers related to model compression. You will be encouraged to apply these techniques to your own work and share the knowledge with others.

Who this course is for:

  • deep learning model developers
  • model compression research beginners

Course content

What is Machine Learning?

In this blog on what is Machine Learning, you will learn about Machine Learning, the differences between AI and Machine Learning, why Machine Learning matters, applications of Machine Learning, Machine Learning languages, and some of the most common open-source Machine Learning tools.

The following topics will be covered in this blog:

  • Machine Learning definition
  • Why Machine Learning?
  • How does Machine Learning work?
  • What are the different types of Machine Learning?
  • Machine Learning Algorithms and Processes
  • ML Programming Languages
  • Machine Learning Tools
  • Difference between AI and Machine Learning
  • Applications of Machine Learning
  • Advantages and Disadvantages of Machine learning
  • Scope of Machine Learning
  • Prerequisites for Machine Learning
  • Conclusion

Machine Learning Definition

Even though there are various Machine Learning examples or applications that we use in our daily lives, people still get confused about Machine Learning, so let’s start by looking at the Machine Learning definition.

In layman’s terms, Machine Learning can be defined as the ability of a machine to learn something without having to be programmed for that specific thing. It is the field of study where computers use a massive set of data and apply algorithms for ‘training’ themselves and making predictions. Training in Machine Learning entails feeding a lot of data into the algorithm and allowing the machine itself to learn more about the processed information.

Answering whether the animal in a photo is a cat or a dog, spotting obstacles in front of a self-driving car, spam mail detection, and speech recognition of a YouTube video to generate captions are just a few examples out of a plethora of predictive Machine Learning models.

Another Machine Learning definition can be given as Machine learning is a subset of Artificial Intelligence that comprises algorithms programmed to gather information without explicit instructions at each step. It has experienced the colossal success of late.

We have often seen confusion around the use of the words Artificial Intelligence and Machine Learning. They are very much related and often seem to be used interchangeably, yet both are different. Confused? Let us elaborate on AI vs. ML vs. DL.

Go through these Top 40 Machine Learning Interview Questions and Answers to crack your interviews.

Why Machine Learning?

Let us start with an instance where a machine surpasses in a strategic game by self-learning. In 2016, the strongest Go player (Go is an abstract strategy board game invented in China more than 2,500 years ago) in the world, Lee Sedol, sat down for a match against Google DeepMind’s Machine Learning program, AlphaGo. AlphaGo won the 5-day long match.

Why Machine Learning

One thing to take away from this instance is not that a machine can learn to conquer Go, but the fact that the ways in which these revolutionary advances in Machine Learning—machines’ ability to mimic a human brain—can be applied are beyond imagination.

Machine Learning has paved its way into various business industries across the world. It is all because of the incredible ability of Machine Learning to drive organizational growth, automate manual and mundane jobs, enrich the customer experience, and meet business goals.

According to BCC Research, the global market for Machine Learning is expected to grow from $17.1 billion in 2021 to $90.1 billion by 2026 with a compound annual growth rate (CAGR) of 39.4% for the period of 2021-2026.

Moreover, Machine Learning Engineer is the fourth-fastest growing job as per LinkedIn.

Both Artificial Intelligence and Machine Learning are going to be imperative to the forthcoming society. Hence, this is the right time to learn Machine Learning.

Enroll for the Machine Learning Training in Noida now and land in your dream job!

How does Machine Learning work?

Machine learning works on different types of algorithms and techniques. These algorithms are created with the help of various ML programming languages. Usually, a training dataset is fed to the algorithm to create a model.

Now, whenever input is provided to the ML algorithm, it returns a result value/predictions based on the model. Now, if the prediction is accurate, it is accepted and the algorithm is deployed. But if the prediction is not accurate, the algorithm is trained repeatedly with a training dataset to arrive at an accurate prediction/result.

Consider this example:

If you wish to predict the weather patterns in a particular area, you can feed the past weather trends and patterns to the model through the algorithm. This will be the training dataset for the algorithm. Now if the model understands perfectly, the result will be accurate.

What are the different types of Machine Learning?

Machine Learning algorithms run on various programming languages and techniques. However, these algorithms are trained using various methods, out of which three main types of Machine learning are:

  • Supervised Learning
  • Unsupervised Learning
  • Reinforcement Learning

Supervised Learning

Supervised Learning is the most basic type of Machine Learning, where labeled data is used for training the machine learning algorithms. A dataset is given to the ML model for understanding and solving the problem. This dataset is a smaller version of a larger dataset and conveys the basic idea of the problem to the machine learning algorithm.

Unsupervised Learning

Unsupervised Learning is the type of Machine Learning where no human intervention is required to make the data machine-readable and train the algorithm. Also, contrary to supervised learning, unlabeled data is used in the case of unsupervised learning.

Since there is no human intervention and unlabeled data is used, the algorithm can work on a larger data set. Unlike supervised learning, unsupervised learning does not require labels to establish relationships between two data points.

Reinforcement Learning

Reinforcement Learning is the type of Machine Learning where the algorithm works upon itself and learns from new situations by using a trial-and-error method. Whether the output is favorable or not is decided based on the output result already fed to each iteration.

Machine Learning Algorithms and Processes

Machine Learning algorithms are sets of instructions that the model follows to return an acceptable result or prediction. Basically, the algorithms analyze the data fed to them and establish a relationship between the variables and data points to return the result.

Over time, these algorithms learn to become more efficient and optimize the processes when new data is fed into the model. There are three main categories in which these algorithms are divided- Supervised Learning, Unsupervised Learning, and Reinforcement Learning. These have already been discussed in the above sections.

ML Programming Languages

Now, when it comes to the implementation of Machine Learning, it is important to have a knowledge of programming languages that a computer can understand. The most common programming languages used in Machine Learning are given below.

According to the GitHub 2021report, the below-given table ranks as the most popular programming language for Machine Learning in 2021:

RankProgramming Language

Become a Master of Machine Learning by going through this online Machine Learning course in Singapore.

Machine Learning Tools

Machine Learning Tools

Machine Learning open-source tools are nothing but libraries used in programming languages like Python, R, C++, Java, Scala, Javascript, etc. to make the most out of Machine Learning algorithms.

  • Keras: Keras is an open-source neural network library written in Python. It is capable of running on top of TensorFlow.
  • PyTorch: PyTorch is an open-source Machine Learning library for Python, based on Torch, used for applications such as Natural Language Processing.
  • TensorFlow: Created by the Google Brain team, TensorFlow is an open-source library for numerical computation and large-scale Machine Learning.
  • Scikit-learn: Scikit-learn, also known as Sklearn, is a Python library that has become very popular for solving Science, Math, and Statistics problems–because of its easy-to-adopt nature and its wide range of applications in the field of Machine Learning.
  • Shogun: Shogun can be used with Java, Python, R, Ruby, and MATLAB. It offers a wide range of efficient and unified Machine Learning methods.
  • Spark MLlib: Spark MLlib is the Machine Learning library used in Apache Spark and Apache Hadoop. Although Java is the primary language for working in MLlib, Python users are also allowed to connect to MLlib through the NumPy library.

Difference between AI and Machine Learning

There seems to be a lack of a bright-line distinction between what Machine Learning is and what it is not. Moreover, everyone is using the labels ‘AI’ and ‘ML’ where they do not belong and that includes using the terms interchangeably.

Difference between AI and Machine Learning

Artificial Intelligence is not a machine or a system. It is a concept that is implemented on machines. When we talk about Artificial Intelligence, it could be making a machine move or it could be making a machine detect spam mail. For all these different implementations of AI, there are different sub-fields, and one such sub-field is Machine Learning. There are applications of Artificial Intelligence that are not related to Machine Learning. For example, symbolic logic: rules engines, expert systems, and knowledge graphs.

Machine Learning uses large sets of data and hours of training to make predictions on probable outcomes. But when Machine Learning ‘comes to life’ and moves beyond simple programming, and reflects and interacts with people even at the most basic level, AI comes into play.

AI is a step beyond Machine Learning, yet it needs ML to reflect and optimize decisions. AI uses what it has gained from ML to simulate intelligence, the same way a human is constantly observing their surrounding environment and making intelligent decisions. AI leads to intelligence or wisdom and its end goal is to simulate natural intelligence to solve complex problems of the world.

Now that we have gathered an idea of What Machine Learning is and the difference between AI and Machine Learning, let us move ahead and see why Machine Learning is important.

AI stands for Artificial intelligence, where intelligence is defined as acquisition of knowledge intelligence is defined as an ability to acquire and apply knowledge.ML stands for Machine Learning which is defined as the acquisition of knowledge or skill
The aim is to increase the chance of success and not accuracy.The aim is to increase accuracy, but it does not care about success
It work as a computer program that does smart workHere, machine takes data and learn from data.
The goal is to simulate natural intelligence to solve complex problems.The goal is to learn from data on certain tasks to maximize the performance on that task.
AI is decision making.ML allows systems to learn new things from data.
It is developing a system which mimics humans to solve problems.It involves creating self learning algorithms.
AI will go for finding the optimal solution.ML will go for a solution whether it is optimal or not.
AI leads to intelligence or wisdom.ML leads to knowledge.
AI is a broader family consisting of ML and DL as its components.ML is a subset of AI.

Enroll in our AI Certification and be an AI Expert.

Applications of Machine Learning

As mentioned earlier, the human race has already stepped into the future world with machines. The pervasive growth of Machine Learning can be seen in almost every other field. Let me list out a few real-life applications of Machine Learning.

Fraud Detection

Fraud detection refers to the act of illicitly drawing out money from people by deceiving them. Machine Learning can go a long way in decreasing instances of fraud detection and save many individuals and organizations from losing their money.

For example- by feeding an algorithm into the model, spam emails can be easily detected. Also, the right machine learning models can easily detect fraudulent transactions or suspicious online banking activities.

In fact, fraud detection ML algorithms are nowadays being considered as much more effective than humans.

Moley’s Robotic Kitchen

Moley’s Robotic Kitchen

Machine Learning can do wonders in the food and beverage industry too. Consider this example- The kitchen comes up with a pair of robotic arms, an oven, a shelf for food and utensils, and a touch screen.

Moley’s kitchen is a gift of Machine Learning: it will learn n number of recipes for you, will cook with remarkable precision, and will also clean up by itself. It sounds great, doesn’t it?

Netflix Movie Recommendation

Netflix Movie Recommendation

The algorithm that Netflix uses to recommend movies is nothing but Machine Learning. More than 80 percent of the shows and movies are discovered through the recommendation section.

To recommend movies, it goes through threads within the content rather than relying on the genre board in order to make predictions. According to Todd Yellin, VP of Product at Netflix, the Machine Learning algorithm is one of the pillars of Netflix.

Interested in learning Machine Learning? Enroll in our Machine Learning Certification course!


Alexa using Artificial Intelligence

The latest innovations of Amazon have the brain and the voice of Alexa. Now, for those who are not aware of Alexa, it is the voice-controlled Amazon ‘personal assistant’ in Amazon Echo devices.

Alexa can play music, provide information, deliver news and sports scores, tell you the weather, control your smart home, and even allow prime members to order products that they’ve ordered before. Alexa is smart and gets updated through the Cloud and learns all the time, by itself.

But, does Alexa understand commands? How does it learn by itself? Everything is a gift of the Machine Learning algorithm.

Amazon Product Recommendation

Amazon Product Recommendation

We are sure that you might have noticed while buying something online from Amazon, it recommends a set of items that are bought together or items that are often bought together, along with your ordered item.

Have you ever wondered how Amazon makes those recommendations? Well again, Amazon uses the Machine Learning algorithm to do so.

Google Maps

Google Maps

How does Google Maps predict traffic on a particular route? How does it tell you the estimated time for a certain trip?

Google Maps anonymously sends real-time data from the Google Maps users on the same route back to Google. Google uses the Machine Learning algorithm on this data to accurately predict the traffic on that route.

These are some of the Machine Learning examples that we see or use in our daily lives. Let us go ahead and discuss how we can implement a Machine Learning algorithm.

Come to Intellipaat’s Machine Learning Community if you have more queries on Machine Learning!

Advantages and Disadvantages of Machine Learning

  • Easily identifies trends and patterns

Machine Learning can review large volumes of data and discover specific trends and patterns that would not be apparent to humans. For instance, for e-commerce websites like Amazon and Flipkart, it serves to understand the browsing behaviors and purchase histories of its users to help cater to the right products, deals, and reminders relevant to them. It uses the results to reveal relevant advertisements to them.

  • Continuous Improvement

We are continuously generating new data and when we provide this data to the Machine Learning model which helps it to upgrade with time and increase its performance and accuracy. We can say it is like gaining experience as they keep improving in accuracy and efficiency. This lets them make better decisions.

  • Handling multidimensional and multi-variety data

Machine Learning algorithms are good at handling data that are multidimensional and multi-variety, and they can do this in dynamic or uncertain environments.

  •  Wide Applications

You could be an e-tailer or a healthcare provider and make Machine Learning work for you. Where it does apply, it holds the capability to help deliver a much more personal experience to customers while also targeting the right customers.

Disadvantages of Machine Learning

  • Data Acquisition

Machine Learning requires a massive amount of data sets to train on, and these should be inclusive/unbiased, and of good quality. There can also be times where we must wait for new data to be generated.

  • Time and Resources

Machine Learning needs enough time to let the algorithms learn and develop enough to fulfill their purpose with a considerable amount of accuracy and relevancy. It also needs massive resources to function. This can mean additional requirements of computer power for you.

  • Interpretation of Results

Another major challenge is the ability to accurately interpret results generated by the algorithms. You must also carefully choose the algorithms for your purpose. Sometimes, based on some analysis you might select an algorithm but it is not necessary that this model is best for the problem.

  • High error-susceptibility

Machine Learning is autonomous but highly susceptible to errors. Suppose you train an algorithm with data sets small enough to not be inclusive. You end up with biased predictions coming from a biased training set. This leads to irrelevant advertisements being displayed to customers. In the case of Machine Learning, such blunders can set off a chain of errors that can go undetected for long periods of time. And when they do get noticed, it takes quite some time to recognize the source of the issue, and even longer to correct it.

Scope of Machine Learning

The scope of Machine Learning covers varied industries and sectors. It is expanding across all fields such as Banking and Finance, Information Technology, Media & Entertainment, Gaming, and the Automotive industry. As the Machine Learning scope is very high, there are some areas where researchers are working toward revolutionizing the world for the future.

The scope of Machine Learning in India, as well as in other parts of the world, is high in comparison to other career fields when it comes to job opportunities.

According to Gartner, there will be 2.3 million jobs in the field of Artificial Intelligence and Machine Learning by 2023. Also, the salary of a Machine Learning Engineer is much higher than the salaries offered to other job profiles. According to Forbes, the average salary of an ML Engineer in the United States is US$99,007.

Go through our AI Course in Chennai to master AI & ML skills and land in a high paying job!

Prerequisites for Machine Learning

Prerequisites to building a career in Machine Learning include knowledge of the following:

  • Statistics– Knowledge of statistical tools and techniques is a basic requirement to understand Machine Learning. You should be well trained in using various types of statistics such as descriptive statistics and inferential statistics to extract useful information from raw data.
  • Probability– Machine Learning is built on probability. The very possibility of the occurrence of an event is known as probability.
  • Programming languages– It is very important that an ML engineer knows which machine-readable programming language to be used.
  • Calculus– The working of Machine Learning algorithms depends on how Calculus and related concepts such as Integration and Differentiation are used. Hence, it is very important that you understand and are well acquainted with Calculus.
  • Linear Algebra– Vectors, Matrices, and Linear Transformations form an important part of Linear Algebra and play an important role in dataset operations.


This module focuses on the meaning of Machine Learning, common Machine Learning definitions, the difference between AI and Machine Learning, why Machine Learning matters, prerequisites, and types of machine learning. We have also highlighted different Machine Learning tools, as well as discussed some of the applications of Machine Learning. If you want to have a deeper understanding of Machine Learning, refer to the Machine Learning tutorial. See you there!

What is machine learning?

Machine learning is a branch of artificial intelligence (AI) and computer science which focuses on the use of data and algorithms to imitate the way that humans learn, gradually improving its accuracy.

IBM has a rich history with machine learning. One of its own, Arthur Samuel, is credited for coining the term, “machine learning” with his research (PDF, 481 KB) (link resides outside IBM) around the game of checkers. Robert Nealey, the self-proclaimed checkers master, played the game on an IBM 7094 computer in 1962, and he lost to the computer. Compared to what can be done today, this feat seems trivial, but it’s considered a major milestone in the field of artificial intelligence.

Over the last couple of decades, the technological advances in storage and processing power have enabled some innovative products based on machine learning, such as Netflix’s recommendation engine and self-driving cars.

Machine learning is an important component of the growing field of data science. Through the use of statistical methods, algorithms are trained to make classifications or predictions, and to uncover key insights in data mining projects. These insights subsequently drive decision making within applications and businesses, ideally impacting key growth metrics. As big data continues to expand and grow, the market demand for data scientists will increase. They will be required to help identify the most relevant business questions and the data to answer them.

Machine learning algorithms are typically created using frameworks that accelerate solution development, such as TensorFlow and PyTorch.

Machine Learning vs. Deep Learning vs. Neural Networks
Since deep learning and machine learning tend to be used interchangeably, it’s worth noting the nuances between the two. Machine learning, deep learning, and neural networks are all sub-fields of artificial intelligence. However, neural networks is actually a sub-field of machine learning, and deep learning is a sub-field of neural networks.

The way in which deep learning and machine learning differ is in how each algorithm learns. “Deep” machine learning can use labeled datasets, also known as supervised learning, to inform its algorithm, but it doesn’t necessarily require a labeled dataset. Deep learning can ingest unstructured data in its raw form (e.g., text or images), and it can automatically determine the set of features which distinguish different categories of data from one another. This eliminates some of the human intervention required and enables the use of larger data sets. You can think of deep learning as “scalable machine learning” as Lex Fridman notes in this MIT lecture (01:08:05) (link resides outside IBM).

Classical, or “non-deep”, machine learning is more dependent on human intervention to learn. Human experts determine the set of features to understand the differences between data inputs, usually requiring more structured data to learn.

Neural networks, or artificial neural networks (ANNs), are comprised of node layers, containing an input layer, one or more hidden layers, and an output layer. Each node, or artificial neuron, connects to another and has an associated weight and threshold. If the output of any individual node is above the specified threshold value, that node is activated, sending data to the next layer of the network. Otherwise, no data is passed along to the next layer of the network by that node. The “deep” in deep learning is just referring to the number of layers in a neural network. A neural network that consists of more than three layers—which would be inclusive of the input and the output—can be considered a deep learning algorithm or a deep neural network. A neural network that only has three layers is just a basic neural network.

Deep learning and neural networks are credited with accelerating progress in areas such as computer vision, natural language processing, and speech recognition.

See the blog post “AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?” for a closer look at how the different concepts relate.

How machine learning works
UC Berkeley (link resides outside IBM) breaks out the learning system of a machine learning algorithm into three main parts.

A Decision Process: In general, machine learning algorithms are used to make a prediction or classification. Based on some input data, which can be labeled or unlabeled, your algorithm will produce an estimate about a pattern in the data.
An Error Function: An error function evaluates the prediction of the model. If there are known examples, an error function can make a comparison to assess the accuracy of the model.
A Model Optimization Process: If the model can fit better to the data points in the training set, then weights are adjusted to reduce the discrepancy between the known example and the model estimate. The algorithm will repeat this “evaluate and optimize” process, updating weights autonomously until a threshold of accuracy has been met.
Machine learning methods
Machine learning models fall into three primary categories.

Supervised machine learning
Supervised learning, also known as supervised machine learning, is defined by its use of labeled datasets to train algorithms to classify data or predict outcomes accurately. As input data is fed into the model, the model adjusts its weights until it has been fitted appropriately. This occurs as part of the cross validation process to ensure that the model avoids overfitting or underfitting. Supervised learning helps organizations solve a variety of real-world problems at scale, such as classifying spam in a separate folder from your inbox. Some methods used in supervised learning include neural networks, naïve bayes, linear regression, logistic regression, random forest, and support vector machine (SVM).

Unsupervised machine learning
Unsupervised learning, also known as unsupervised machine learning, uses machine learning algorithms to analyze and cluster unlabeled datasets. These algorithms discover hidden patterns or data groupings without the need for human intervention. This method’s ability to discover similarities and differences in information make it ideal for exploratory data analysis, cross-selling strategies, customer segmentation, and image and pattern recognition. It’s also used to reduce the number of features in a model through the process of dimensionality reduction. Principal component analysis (PCA) and singular value decomposition (SVD) are two common approaches for this. Other algorithms used in unsupervised learning include neural networks, k-means clustering, and probabilistic clustering methods.

Semi-supervised learning
Semi-supervised learning offers a happy medium between supervised and unsupervised learning. During training, it uses a smaller labeled data set to guide classification and feature extraction from a larger, unlabeled data set. Semi-supervised learning can solve the problem of not having enough labeled data for a supervised learning algorithm. It also helps if it’s too costly to label enough data.

For a deep dive into the differences between these approaches, check out “Supervised vs. Unsupervised Learning: What’s the Difference?”

Reinforcement machine learning
Reinforcement machine learning is a machine learning model that is similar to supervised learning, but the algorithm isn’t trained using sample data. This model learns as it goes by using trial and error. A sequence of successful outcomes will be reinforced to develop the best recommendation or policy for a given problem.

The IBM Watson® system that won the Jeopardy! challenge in 2011 is a good example. The system used reinforcement learning to learn when to attempt an answer (or question, as it were), which square to select on the board, and how much to wager—especially on daily doubles.

Learn more about reinforcement learning.

Common machine learning algorithms
A number of machine learning algorithms are commonly used. These include:

Neural networks: Neural networks simulate the way the human brain works, with a huge number of linked processing nodes. Neural networks are good at recognizing patterns and play an important role in applications including natural language translation, image recognition, speech recognition, and image creation.
Linear regression: This algorithm is used to predict numerical values, based on a linear relationship between different values. For example, the technique could be used to predict house prices based on historical data for the area.
Logistic regression: This supervised learning algorithm makes predictions for categorical response variables, such as“yes/no” answers to questions. It can be used for applications such as classifying spam and quality control on a production line.
Clustering: Using unsupervised learning, clustering algorithms can identify patterns in data so that it can be grouped. Computers can help data scientists by identifying differences between data items that humans have overlooked.
Decision trees: Decision trees can be used for both predicting numerical values (regression) and classifying data into categories. Decision trees use a branching sequence of linked decisions that can be represented with a tree diagram. One of the advantages of decision trees is that they are easy to validate and audit, unlike the black box of the neural network.
Random forests: In a random forest, the machine learning algorithm predicts a value or category by combining the results from a number of decision trees.
Real-world machine learning use cases
Here are just a few examples of machine learning you might encounter every day:

Speech recognition: It is also known as automatic speech recognition (ASR), computer speech recognition, or speech-to-text, and it is a capability which uses natural language processing (NLP) to translate human speech into a written format. Many mobile devices incorporate speech recognition into their systems to conduct voice search—e.g. Siri—or improve accessibility for texting.

Customer service: Customer service: Online chatbots are replacing human agents along the customer journey, changing the way we think about customer engagement across websites and social media platforms. Chatbots answer frequently asked questions (FAQs) about topics such as shipping, or provide personalized advice, cross-selling products or suggesting sizes for users. Examples include virtual agents on e-commerce sites; messaging bots, using Slack and Facebook Messenger; and tasks usually done by virtual assistants and voice assistants.

Computer vision: This AI technology enables computers to derive meaningful information from digital images, videos, and other visual inputs, and then take the appropriate action. Powered by convolutional neural networks, computer vision has applications in photo tagging on social media, radiology imaging in healthcare, and self-driving cars in the automotive industry.

Recommendation engines: Using past consumption behavior data, AI algorithms can help to discover data trends that can be used to develop more effective cross-selling strategies. This approach is used by online retailers to make relevant product recommendations to customers during the checkout process.

Automated stock trading: Designed to optimize stock portfolios, AI-driven high-frequency trading platforms make thousands or even millions of trades per day without human intervention.

Fraud detection: Banks and other financial institutions can use machine learning to spot suspicious transactions. Supervised learning can train a model using information about known fraudulent transactions. Anomaly detection can identify transactions that look atypical and deserve further investigation.

Challenges of machine learning
As machine learning technology has developed, it has certainly made our lives easier. However, implementing machine learning in businesses has also raised a number of ethical concerns about AI technologies. Some of these include:

Technological singularity
While this topic garners a lot of public attention, many researchers are not concerned with the idea of AI surpassing human intelligence in the near future. Technological singularity is also referred to as strong AI or superintelligence. Philosopher Nick Bostrum defines superintelligence as “any intellect that vastly outperforms the best human brains in practically every field, including scientific creativity, general wisdom, and social skills.” Despite the fact that superintelligence is not imminent in society, the idea of it raises some interesting questions as we consider the use of autonomous systems, like self-driving cars. It’s unrealistic to think that a driverless car would never have an accident, but who is responsible and liable under those circumstances? Should we still develop autonomous vehicles, or do we limit this technology to semi-autonomous vehicles which help people drive safely? The jury is still out on this, but these are the types of ethical debates that are occurring as new, innovative AI technology develops.

AI impact on jobs
While a lot of public perception of artificial intelligence centers around job losses, this concern should probably be reframed. With every disruptive, new technology, we see that the market demand for specific job roles shifts. For example, when we look at the automotive industry, many manufacturers, like GM, are shifting to focus on electric vehicle production to align with green initiatives. The energy industry isn’t going away, but the source of energy is shifting from a fuel economy to an electric one.

In a similar way, artificial intelligence will shift the demand for jobs to other areas. There will need to be individuals to help manage AI systems. There will still need to be people to address more complex problems within the industries that are most likely to be affected by job demand shifts, such as customer service. The biggest challenge with artificial intelligence and its effect on the job market will be helping people to transition to new roles that are in demand.

Privacy tends to be discussed in the context of data privacy, data protection, and data security. These concerns have allowed policymakers to make more strides in recent years. For example, in 2016, GDPR legislation was created to protect the personal data of people in the European Union and European Economic Area, giving individuals more control of their data. In the United States, individual states are developing policies, such as the California Consumer Privacy Act (CCPA), which was introduced in 2018 and requires businesses to inform consumers about the collection of their data. Legislation such as this has forced companies to rethink how they store and use personally identifiable information (PII). As a result, investments in security have become an increasing priority for businesses as they seek to eliminate any vulnerabilities and opportunities for surveillance, hacking, and cyberattacks.

Bias and discrimination
Instances of bias and discrimination across a number of machine learning systems have raised many ethical questions regarding the use of artificial intelligence. How can we safeguard against bias and discrimination when the training data itself may be generated by biased human processes? While companies typically have good intentions for their automation efforts, Reuters (link resides outside IBM) ) highlights some of the unforeseen consequences of incorporating AI into hiring practices. In their effort to automate and simplify a process, Amazon unintentionally discriminated against job candidates by gender for technical roles, and the company ultimately had to scrap the project. Harvard Business Review (link resides outside IBM) has raised other pointed questions about the use of AI in hiring practices, such as what data you should be able to use when evaluating a candidate for a role.

Bias and discrimination aren’t limited to the human resources function either; they can be found in a number of applications from facial recognition software to social media algorithms.

As businesses become more aware of the risks with AI, they’ve also become more active in this discussion around AI ethics and values. For example, IBM has sunset its general purpose facial recognition and analysis products. IBM CEO Arvind Krishna wrote: “IBM firmly opposes and will not condone uses of any technology, including facial recognition technology offered by other vendors, for mass surveillance, racial profiling, violations of basic human rights and freedoms, or any purpose which is not consistent with our values and Principles of Trust and Transparency.”

Since there isn’t significant legislation to regulate AI practices, there is no real enforcement mechanism to ensure that ethical AI is practiced. The current incentives for companies to be ethical are the negative repercussions of an unethical AI system on the bottom line. To fill the gap, ethical frameworks have emerged as part of a collaboration between ethicists and researchers to govern the construction and distribution of AI models within society. However, at the moment, these only serve to guide. Some research (link resides outside IBM) (PDF, 1 MB) shows that the combination of distributed responsibility and a lack of foresight into potential consequences aren’t conducive to preventing harm to society.

Read more about IBM’s position on AI Ethics.