Introduction to Data Science using Python (Module 1/3)

Understand the basics of Data Science and Analytics

Understand how to use Python and Scikit learn

Get a good understanding of all buzz words like “Data Science”, “Machine learning”, “Data Scientist” etc.


  • This course does not have any pre-requisities. All you need is a Windows or a MAC machine.


Are you completely new to Data science?

Have you been hearing these buzz words like Machine learning, Data Science, Data Scientist, Text analytics, Statistics and don’t know what this is?

Do you want to start or switch career to Data Science and analytics?

If yes, then I have a new course for you. In this course, I cover the absolute basics of Data Science and Machine learning. This course will not cover in-depth algorithms. I have split this course into 3 Modules. This module, takes a 500,000ft. view of what Data science is and how is it used. We will go through commonly used terms and write some code in Python. I spend some time walking you through different career areas in the Business Intelligence Stack, where does Data Science fit in, What is Data Science and what are the tools you will need to get started. I will be using Python and Scikit-Learn Package in this course. I am not assuming any prior knowledge in this area. I have given some reading materials, which will help you solidify the concepts that are discussed in this lectures.

This course will the first data science course in a series of courses. Consider this course as a 101 level course, where I don’t go too much deep into any particular statistical area, but rather just cover enough to raise your curiosity in the field of Data Science and Analytics.

The other modules will cover more complex concepts. 

Who this course is for:

  • Anyone who wants to learn about Data Science from absolute scratch.
  • Anyone who wants to switch or make a career in Data Science and Analytics
  • Anyone who is curious to know what is Data Science and what does a Data Scientist do in his/her day job.

Course content

What is machine learning?

Machine-learning algorithms find and apply patterns in data. And they pretty much run the world.

Machine-learning algorithms are responsible for the vast majority of the artificial intelligence advancements and applications you hear about. (For more background, check out our first flowchart on “What is AI?” here.)

What is the definition of machine learning?

Machine-learning algorithms use statistics to find patterns in massive* amounts of data. And data, here, encompasses a lot of things—numbers, words, images, clicks, what have you. If it can be digitally stored, it can be fed into a machine-learning algorithm.

Machine learning is the process that powers many of the services we use today—recommendation systems like those on Netflix, YouTube, and Spotify; search engines like Google and Baidu; social-media feeds like Facebook and Twitter; voice assistants like Siri and Alexa. The list goes on.

In all of these instances, each platform is collecting as much data about you as possible—what genres you like watching, what links you are clicking, which statuses you are reacting to—and using machine learning to make a highly educated guess about what you might want next. Or, in the case of a voice assistant, about which words match best with the funny sounds coming out of your mouth.

Frankly, this process is quite basic: find the pattern, apply the pattern. But it pretty much runs the world. That’s in big part thanks to an invention in 1986, courtesy of Geoffrey Hinton, today known as the father of deep learning.

What is deep learning?

Deep learning is machine learning on steroids: it uses a technique that gives machines an enhanced ability to find—and amplify—even the smallest patterns. This technique is called a deep neural network—deep because it has many, many layers of simple computational nodes that work together to munch through data and deliver a final result in the form of the prediction.

What are neural networks?

Neural networks were vaguely inspired by the inner workings of the human brain. The nodes are sort of like neurons, and the network is sort of like the brain itself. (For the researchers among you who are cringing at this comparison: Stop pooh-poohing the analogy. It’s a good analogy.) But Hinton published his breakthrough paper at a time when neural nets had fallen out of fashion. No one really knew how to train them, so they weren’t producing good results. It took nearly 30 years for the technique to make a comeback. And boy, did it make a comeback.

What is supervised learning?

One last thing you need to know: machine (and deep) learning comes in three flavors: supervised, unsupervised, and reinforcement. In supervised learning, the most prevalent, the data is labeled to tell the machine exactly what patterns it should look for. Think of it as something like a sniffer dog that will hunt down targets once it knows the scent it’s after. That’s what you’re doing when you press play on a Netflix show—you’re telling the algorithm to find similar shows.

What is unsupervised learning?

In unsupervised learning, the data has no labels. The machine just looks for whatever patterns it can find. This is like letting a dog smell tons of different objects and sorting them into groups with similar smells. Unsupervised techniques aren’t as popular because they have less obvious applications. Interestingly, they have gained traction in cybersecurity.

What is reinforcement learning?

Lastly, we have reinforcement learning, the latest frontier of machine learning. A reinforcement algorithm learns by trial and error to achieve a clear objective. It tries out lots of different things and is rewarded or penalized depending on whether its behaviors help or hinder it from reaching its objective. This is like giving and withholding treats when teaching a dog a new trick. Reinforcement learning is the basis of Google’s AlphaGo, the program that famously beat the best human players in the complex game of Go.

That’s it. That’s machine learning. Now check out the flowchart above for a final recap.

*Note: Okay, there are technically ways to perform machine learning on smallish amounts of data, but you typically need huge piles of it to achieve good results.


ChatGPT is about to revolutionize the economy. We need to decide what that looks like.

New large language models will transform many jobs. Whether they will lead to widespread prosperity or not is up to us.

ChatGPT is going to change education, not destroy it

The narrative around cheating students doesn’t tell the whole story. Meet the teachers who think generative AI could actually make learning better.

Deep learning pioneer Geoffrey Hinton has quit Google

Hinton will be speaking at EmTech Digital on Wednesday.

A Machine Learning Tutorial With Examples: An Introduction to ML Theory and Its Applications

This Machine Learning tutorial introduces the basics of ML theory, laying down the common themes and concepts, making it easy to follow the logic and get comfortable with the topic.

Machine learning (ML) is coming into its own, with a growing recognition that ML can play a key role in a wide range of critical applications, such as data mining, natural language processing, image recognition, and expert systems. ML provides potential solutions in all these domains and more, and likely will become a pillar of our future civilization.

The supply of expert ML designers has yet to catch up to this demand. A major reason for this is that ML is just plain tricky. This machine learning tutorial introduces the basic theory, laying out the common themes and concepts, and making it easy to follow the logic and get comfortable with machine learning basics.

Machine learning tutorial illustration: This curious machine is learning machine learning, unsupervised.

Machine Learning Basics: What Is Machine Learning?

So what exactly is “machine learning” anyway? ML is a lot of things. The field is vast and is expanding rapidly, being continually partitioned and sub-partitioned into different sub-specialties and types of machine learning.

There are some basic common threads, however, and the overarching theme is best summed up by this oft-quoted statement made by Arthur Samuel way back in 1959: “[Machine Learning is the] field of study that gives computers the ability to learn without being explicitly programmed.”

In 1997, Tom Mitchell offered a “well-posed” definition that has proven more useful to engineering types: “A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.”

“A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.” — Tom Mitchell, Carnegie Mellon University

So if you want your program to predict, for example, traffic patterns at a busy intersection (task T), you can run it through a machine learning algorithm with data about past traffic patterns (experience E) and, if it has successfully “learned,” it will then do better at predicting future traffic patterns (performance measure P).

The highly complex nature of many real-world problems, though, often means that inventing specialized algorithms that will solve them perfectly every time is impractical, if not impossible.

Real-world examples of machine learning problems include “Is this cancer?”, “What is the market value of this house?”, “Which of these people are good friends with each other?”, “Will this rocket engine explode on take off?”, “Will this person like this movie?”, “Who is this?”, “What did you say?”, and “How do you fly this thing?” All of these problems are excellent targets for an ML project; in fact ML has been applied to each of them with great success.

ML solves problems that cannot be solved by numerical means alone.

Among the different types of ML tasks, a crucial distinction is drawn between supervised and unsupervised learning:

  • Supervised machine learning is when the program is “trained” on a predefined set of “training examples,” which then facilitate its ability to reach an accurate conclusion when given new data.
  • Unsupervised machine learning is when the program is given a bunch of data and must find patterns and relationships therein.

We will focus primarily on supervised learning here, but the last part of the article includes a brief discussion of unsupervised learning with some links for those who are interested in pursuing the topic.

Supervised Machine Learning

In the majority of supervised learning applications, the ultimate goal is to develop a finely tuned predictor function h(x) (sometimes called the “hypothesis”). “Learning” consists of using sophisticated mathematical algorithms to optimize this function so that, given input data x about a certain domain (say, square footage of a house), it will accurately predict some interesting value h(x) (say, market price for said house).

In practice, x almost always represents multiple data points. So, for example, a housing price predictor might consider not only square footage (x1) but also number of bedrooms (x2), number of bathrooms (x3), number of floors (x4), year built (x5), ZIP code (x6), and so forth. Determining which inputs to use is an important part of ML design. However, for the sake of explanation, it is easiest to assume a single input value.

Let’s say our simple predictor has this form:

h of x equals theta 0 plus theta 1 times x


theta 0


theta 1

are constants. Our goal is to find the perfect values of

theta 0


theta 1

to make our predictor work as well as possible.

Optimizing the predictor h(x) is done using training examples. For each training example, we have an input value x_train, for which a corresponding output, y, is known in advance. For each example, we find the difference between the known, correct value y, and our predicted value h(x_train). With enough training examples, these differences give us a useful way to measure the “wrongness” of h(x). We can then tweak h(x) by tweaking the values of

theta 0


theta 1

to make it “less wrong”. This process is repeated until the system has converged on the best values for

theta 0


theta 1

. In this way, the predictor becomes trained, and is ready to do some real-world predicting.

Machine Learning Examples

We’re using simple problems for the sake of illustration, but the reason ML exists is because, in the real world, problems are much more complex. On this flat screen, we can present a picture of, at most, a three-dimensional dataset, but ML problems often deal with data with millions of dimensions and very complex predictor functions. ML solves problems that cannot be solved by numerical means alone.

With that in mind, let’s look at another simple example. Say we have the following training data, wherein company employees have rated their satisfaction on a scale of 1 to 100:

Employee satisfaction rating by salary is a great machine learning example.

First, notice that the data is a little noisy. That is, while we can see that there is a pattern to it (i.e., employee satisfaction tends to go up as salary goes up), it does not all fit neatly on a straight line. This will always be the case with real-world data (and we absolutely want to train our machine using real-world data). How can we train a machine to perfectly predict an employee’s level of satisfaction? The answer, of course, is that we can’t. The goal of ML is never to make “perfect” guesses because ML deals in domains where there is no such thing. The goal is to make guesses that are good enough to be useful.

It is somewhat reminiscent of the famous statement by George E. P. Box, the British mathematician and professor of statistics: “All models are wrong, but some are useful.”

The goal of ML is never to make “perfect” guesses because ML deals in domains where there is no such thing. The goal is to make guesses that are good enough to be useful.

Machine learning builds heavily on statistics. For example, when we train our machine to learn, we have to give it a statistically significant random sample as training data. If the training set is not random, we run the risk of the machine learning patterns that aren’t actually there. And if the training set is too small (see the law of large numbers), we won’t learn enough and may even reach inaccurate conclusions. For example, attempting to predict companywide satisfaction patterns based on data from upper management alone would likely be error-prone.

With this understanding, let’s give our machine the data we’ve been given above and have it learn it. First we have to initialize our predictor h(x) with some reasonable values of

theta 0


theta 1

. Now, when placed over our training set, our predictor looks like this:

h of x equals twelve plus 0 point two x

Employee satisfaction rating by salary is a great machine learning example.

If we ask this predictor for the satisfaction of an employee making $60,000, it would predict a rating of 27:

In this image, the machine has yet to learn to predict a probable outcome.

It’s obvious that this is a terrible guess and that this machine doesn’t know very much.

Now let’s give this predictor all the salaries from our training set, and note the differences between the resulting predicted satisfaction ratings and the actual satisfaction ratings of the corresponding employees. If we perform a little mathematical wizardry (which I will describe later in the article), we can calculate, with very high certainty, that values of 13.12 for

theta 0

and 0.61 for

theta 1

are going to give us a better predictor.

h of x equals thirteen point one two plus 0 point six one x

h of x equals twelve plus 0 point two x

And if we repeat this process, say 1,500 times, our predictor will end up looking like this:

h of x equals fifteen point five four plus 0 point seven five x

In this image, the machine has yet to learn to predict a probable outcome.

At this point, if we repeat the process, we will find that

theta 0


theta 1

will no longer change by any appreciable amount, and thus we see that the system has converged. If we haven’t made any mistakes, this means we’ve found the optimal predictor. Accordingly, if we now ask the machine again for the satisfaction rating of the employee who makes $60,000, it will predict a rating of ~60.

In this example, the machine has learned to predict a probable data point.

Now we’re getting somewhere.

Machine Learning Regression: A Note on Complexity

The above example is technically a simple problem of univariate linear regression, which in reality can be solved by deriving a simple normal equation and skipping this “tuning” process altogether. However, consider a predictor that looks like this:

Four dimensional equation example

This function takes input in four dimensions and has a variety of polynomial terms. Deriving a normal equation for this function is a significant challenge. Many modern machine learning problems take thousands or even millions of dimensions of data to build predictions using hundreds of coefficients. Predicting how an organism’s genome will be expressed or what the climate will be like in 50 years are examples of such complex problems.

Many modern ML problems take thousands or even millions of dimensions of data to build predictions using hundreds of coefficients.

Fortunately, the iterative approach taken by ML systems is much more resilient in the face of such complexity. Instead of using brute force, a machine learning system “feels” its way to the answer. For big problems, this works much better. While this doesn’t mean that ML can solve all arbitrarily complex problems—it can’t—it does make for an incredibly flexible and powerful tool.

Gradient Descent: Minimizing “Wrongness”

Let’s take a closer look at how this iterative process works. In the above example, how do we make sure

theta 0


theta 1

are getting better with each step, not worse? The answer lies in our “measurement of wrongness”, along with a little calculus. (This is the “mathematical wizardry” mentioned to previously.)

The wrongness measure is known as the cost function (aka loss function),

J of theta

. The input


represents all of the coefficients we are using in our predictor. In our case,


is really the pair

theta 0


theta 1


J of theta 0 and theta 1

gives us a mathematical measurement of the wrongness of our predictor is when it uses the given values of

theta 0


theta 1


The choice of the cost function is another important piece of an ML program. In different contexts, being “wrong” can mean very different things. In our employee satisfaction example, the well-established standard is the linear least squares function:

Cost function expressed as a linear least squares function

With least squares, the penalty for a bad guess goes up quadratically with the difference between the guess and the correct answer, so it acts as a very “strict” measurement of wrongness. The cost function computes an average penalty across all the training examples.

Now we see that our goal is to find

theta 0


theta 1

for our predictor h(x) such that our cost function

J of theta 0 and theta 1

is as small as possible. We call on the power of calculus to accomplish this.

Consider the following plot of a cost function for some particular machine learning problem:

This graphic depicts the bowl-shaped plot of a cost function for a machine learning example.

Here we can see the cost associated with different values of

theta 0


theta 1

. We can see the graph has a slight bowl to its shape. The bottom of the bowl represents the lowest cost our predictor can give us based on the given training data. The goal is to “roll down the hill” and find

theta 0


theta 1

corresponding to this point.

This is where calculus comes in to this machine learning tutorial. For the sake of keeping this explanation manageable, I won’t write out the equations here, but essentially what we do is take the gradient of

J of theta 0 and theta 1

, which is the pair of derivatives of

(one over

and one over

). The gradient will be different for every different value of

theta 0


theta 1

, and defines the “slope of the hill” and, in particular, “which way is down” for these particular


s. For example, when we plug our current values of


into the gradient, it may tell us that adding a little to

theta 0

and subtracting a little from

theta 1

will take us in the direction of the cost function-valley floor. Therefore, we add a little to

theta 0

, subtract a little from

, and voilà! We have completed one round of our learning algorithm. Our updated predictor, h(x) =


x, will return better predictions than before. Our machine is now a little bit smarter.

This process of alternating between calculating the current gradient and updating the

s from the results is known as gradient descent.

This image depicts an example of a machine learning gradient descent.

This image depicts the number of iterations for this machine learning tutorial.

That covers the basic theory underlying the majority of supervised machine learning systems. But the basic concepts can be applied in a variety of ways, depending on the problem at hand.

Classification Problems in Machine Learning

Under supervised ML, two major subcategories are:

  • Regression machine learning systems – Systems where the value being predicted falls somewhere on a continuous spectrum. These systems help us with questions of “How much?” or “How many?”
  • Classification machine learning systems – Systems where we seek a yes-or-no prediction, such as “Is this tumor cancerous?”, “Does this cookie meet our quality standards?”, and so on.

As it turns out, the underlying machine learning theory is more or less the same. The major differences are the design of the predictor h(x) and the design of the cost function

J of theta


Our examples so far have focused on regression problems, so now let’s take a look at a classification example.

Here are the results of a cookie quality testing study, where the training examples have all been labeled as either “good cookie” (y = 1) in blue or “bad cookie” (y = 0) in red.

This example shows how a machine learning regression predictor is not the right solution here.

In classification, a regression predictor is not very useful. What we usually want is a predictor that makes a guess somewhere between 0 and 1. In a cookie quality classifier, a prediction of 1 would represent a very confident guess that the cookie is perfect and utterly mouthwatering. A prediction of 0 represents high confidence that the cookie is an embarrassment to the cookie industry. Values falling within this range represent less confidence, so we might design our system such that a prediction of 0.6 means “Man, that’s a tough call, but I’m gonna go with yes, you can sell that cookie,” while a value exactly in the middle, at 0.5, might represent complete uncertainty. This isn’t always how confidence is distributed in a classifier but it’s a very common design and works for the purposes of our illustration.

It turns out there’s a nice function that captures this behavior well. It’s called the sigmoid function, g(z), and it looks something like this:

h of x equals g of z

The sigmoid function at work to accomplish a supervised machine learning example.

z is some representation of our inputs and coefficients, such as:

z equals theta 0 plus theta 1 times x

so that our predictor becomes:

h of x equals g of theta 0 plus theta 1 times x

Notice that the sigmoid function transforms our output into the range between 0 and 1.

The logic behind the design of the cost function is also different in classification. Again we ask “What does it mean for a guess to be wrong?” and this time a very good rule of thumb is that if the correct guess was 0 and we guessed 1, then we were completely wrong—and vice-versa. Since you can’t be more wrong than completely wrong, the penalty in this case is enormous. Alternatively, if the correct guess was 0 and we guessed 0, our cost function should not add any cost for each time this happens. If the guess was right, but we weren’t completely confident (e.g., y = 1, but h(x) = 0.8), this should come with a small cost, and if our guess was wrong but we weren’t completely confident (e.g., y = 1 but h(x) = 0.3), this should come with some significant cost but not as much as if we were completely wrong.

This behavior is captured by the log function, such that:

cost expressed as log

Again, the cost function

J of theta

gives us the average cost over all of our training examples.

So here we’ve described how the predictor h(x) and the cost function

J of theta

differ between regression and classification, but gradient descent still works fine.

A classification predictor can be visualized by drawing the boundary line; i.e., the barrier where the prediction changes from a “yes” (a prediction greater than 0.5) to a “no” (a prediction less than 0.5). With a well-designed system, our cookie data can generate a classification boundary that looks like this:

A graph of a completed machine learning example using the sigmoid function.

Now that’s a machine that knows a thing or two about cookies!

An Introduction to Neural Networks

No discussion of Machine Learning would be complete without at least mentioning neural networks. Not only do neural networks offer an extremely powerful tool to solve very tough problems, they also offer fascinating hints at the workings of our own brains and intriguing possibilities for one day creating truly intelligent machines.

Neural networks are well suited to machine learning models where the number of inputs is gigantic. The computational cost of handling such a problem is just too overwhelming for the types of systems we’ve discussed. As it turns out, however, neural networks can be effectively tuned using techniques that are strikingly similar to gradient descent in principle.

A thorough discussion of neural networks is beyond the scope of this tutorial, but I recommend checking out previous post on the subject.

Unsupervised Machine Learning

Unsupervised machine learning is typically tasked with finding relationships within data. There are no training examples used in this process. Instead, the system is given a set of data and tasked with finding patterns and correlations therein. A good example is identifying close-knit groups of friends in social network data.

The machine learning algorithms used to do this are very different from those used for supervised learning, and the topic merits its own post. However, for something to chew on in the meantime, take a look at clustering algorithms such as k-means, and also look into dimensionality reduction systems such as principle component analysis. You can also read our article on semi-supervised image classification.

Putting Theory Into Practice

We’ve covered much of the basic theory underlying the field of machine learning but, of course, we have only scratched the surface.

Keep in mind that to really apply the theories contained in this introduction to real-life machine learning examples, a much deeper understanding of these topics is necessary. There are many subtleties and pitfalls in ML and many ways to be lead astray by what appears to be a perfectly well-tuned thinking machine. Almost every part of the basic theory can be played with and altered endlessly, and the results are often fascinating. Many grow into whole new fields of study that are better suited to particular problems.

Clearly, machine learning is an incredibly powerful tool. In the coming years, it promises to help solve some of our most pressing problems, as well as open up whole new worlds of opportunity for data science firms. The demand for machine learning engineers is only going to grow, offering incredible chances to be a part of something big. I hope you will consider getting in on the action!


This article draws heavily on material taught by Stanford professor Dr. Andrew Ng in his free and open “Supervised Machine Learning” course. It covers everything discussed in this article in great depth, and gives tons of practical advice to ML practitioners. I cannot recommend it highly enough for those interested in further exploring this fascinating field.

Further Reading on the Toptal Blog:

  • Machine Learning Video Analysis: Identifying Fish
  • A Deep Learning Tutorial: From Perceptrons to Deep Networks
  • Adversarial Machine Learning: How to Attack and Defend ML Models
  • Machine Learning Number Recognition: From Zero to Application
  • Getting Started With TensorFlow: A Machine Learning Tutorial

What is Machine Learning?

Machine learning defined

Machine learning (ML) is the subset of artificial intelligence (AI) that focuses on building systems that learn—or improve performance—based on the data they consume. Artificial intelligence is a broad term that refers to systems or machines that mimic human intelligence. Machine learning and AI are often discussed together, and the terms are sometimes used interchangeably, but they don’t mean the same thing. An important distinction is that although all machine learning is AI, not all AI is machine learning.

Today, machine learning is at work all around us. When we interact with banks, shop online, or use social media, machine learning algorithms come into play to make our experience efficient, smooth, and secure. Machine learning and the technology around it are developing rapidly, and we’re just beginning to scratch the surface of its capabilities.

Learn more about machine learning solution

Types of Machine learning: two approaches to learning

Algorithms are the engines that power machine learning. In general, two major types of machine learning algorithms are used today: supervised learning and unsupervised learning. The difference between them is defined by how each learns about data to make predictions.

Supervised Machine LearningSupervised machine learning algorithms are the most commonly used. With this model, a data scientist acts as a guide and teaches the algorithm what conclusions it should make. Just as a child learns to identify fruits by memorizing them in a picture book, in supervised learning, the algorithm is trained by a dataset that is already labeled and has a predefined output.

Examples of supervised machine learning include algorithms such as linear and logistic regression, multiclass classification, and support vector machines.
Unsupervised Machine LearningUnsupervised machine learning uses a more independent approach, in which a computer learns to identify complex processes and patterns without a human providing close, constant guidance. Unsupervised machine learning involves training based on data that does not have labels or a specific, defined output.

To continue the childhood teaching analogy, unsupervised machine learning is akin to a child learning to identify fruit by observing colors and patterns, rather than memorizing the names with a teacher’s help. The child would look for similarities between images and separate them into groups, assigning each group its own new label. Examples of unsupervised machine learning algorithms include k-means clustering, principal and independent component analysis, and association rules.
Choosing an ApproachWhich approach is best for your needs? Choosing a supervised or unsupervised machine learning algorithm usually depends on factors related to the structure and volume of your data, and the use case to which you want to apply it. Machine learning has blossomed across a wide range of industries, supporting a variety of business goals and use cases including:

Customer lifetime valueAnomaly detectionDynamic pricingPredictive maintenanceImage classificationRecommendation engines

Machine learning and developers

When getting started with machine learning, developers will rely on their knowledge of statistics, probability, and calculus to most successfully create models that learn over time. With sharp skills in these areas, developers should have no problem learning the tools many other developers use to train modern ML algorithms. Developers also can make decisions about whether their algorithms will be supervised or unsupervised. It’s possible for a developer to make decisions and set up a model early on in a project, then allow the model to learn without much further developer involvement.

There is often a blurry line between developer and data scientist. Sometimes developers will synthesize data from a machine learning model, while data scientists will contribute to developing solutions for the end user. Collaboration between these two disciplines can make ML projects more valuable and useful.

Get started with ML

Machine learning business goal: model customer lifetime value

Customer lifetime value modeling is essential for ecommerce businesses but is also applicable across many other industries. In this model, organizations use machine learning algorithms to identify, understand, and retain their most valuable customers. These value models evaluate massive amounts of customer data to determine the biggest spenders, the most loyal advocates for a brand, or combinations of these types of qualities.

Customer lifetime value models are especially effective at predicting the future revenue that an individual customer will bring to a business in a given period. This information empowers organizations to focus marketing efforts on encouraging high-value customers to interact with their brand more often. Customer lifetime value models also help organizations target their acquisition spend to attract new customers that are similar to existing high-value customers.

Model customer churn through machine learning

Acquiring new customers is more time consuming and costlier than keeping existing customers satisfied and loyal. Customer churn modeling helps organizations identify which customers are likely to stop engaging with a business—and why.

An effective churn model uses machine learning algorithms to provide insight into everything from churn risk scores for individual customers to churn drivers, ranked by importance. These outputs are key to developing an algorithmic retention strategy.

Gaining deeper insight into customer churn helps businesses optimize discount offers, email campaigns, and other targeted marketing initiatives that keep their high-value customers buying—and coming back for more.

Consumers have more choices than ever, and they can compare prices via a wide range of channels, instantly. Dynamic pricing, also known as demand pricing, enables businesses to keep pace with accelerating market dynamics. It lets organizations flexibly price items based on factors including the level of interest of the target customer, demand at the time of purchase, and whether the customer has engaged with a marketing campaign.

This level of business agility requires a solid machine learning strategy and a great deal of data about how different customers’ willingness to pay for a good or service changes across a variety of situations. Although dynamic pricing models can be complex, companies such as airlines and ride-share services have successfully implemented dynamic price optimization strategies to maximize revenue.

Machine learning business goal: target customers with customer segmentation

Successful marketing has always been about offering the right product to the right person at the right time. Not so long ago, marketers relied on their own intuition for customer segmentation, separating customers into groups for targeted campaigns.

Today, machine learning enables data scientists to use clustering and classification algorithms to group customers into personas based on specific variations. These personas consider customer differences across multiple dimensions such as demographics, browsing behavior, and affinity. Connecting these traits to patterns of purchasing behavior enables data-savvy companies to roll out highly personalized marketing campaigns that are more effective at boosting sales than generalized campaigns are.

As the data available to businesses grows and algorithms become more sophisticated, personalization capabilities will increase, moving businesses closer to the ideal customer segment of one.

Machine learning business goal: tap the power of image classification

Machine learning supports a variety of use cases beyond retail, financial services, and ecommerce. It also has tremendous potential for science, healthcare, construction, and energy applications. For example, image classification employs machine learning algorithms to assign a label from a fixed set of categories to any input image. It enables organizations to model 3D construction plans based on 2D designs, facilitate photo tagging in social media, inform medical diagnoses, and more.

Deep learning methods such as neural networks are often used for image classification because they can most effectively identify the relevant features of an image in the presence of potential complications. For example, they can consider variations in the point of view, illumination, scale, or volume of clutter in the image and offset these issues to deliver the most relevant, high-quality insights.

Blog: What’s the Difference Between AI, Machine Learning, and Deep Learning?

Recommendation engines

Recommendation engines are essential to cross-selling and up-selling consumers and delivering a better customer experience.

Netflix values the recommendation engine powering its content suggestions at US$1 billion per year and Amazon claims that its system increases annual sales by 20 to 35 percent.

Recommendation engines use machine learning algorithms to sift through large quantities of data to predict how likely a customer is to purchase an item or enjoy a piece of content, and then make customized suggestions to the user. The result is a more personalized, relevant experience that encourages better engagement and reduces churn.

Machine learning use cases

Machine learning powers a variety of key business use cases. But how does it deliver competitive advantage? Among machine learning’s most compelling qualities is its ability to automate and speed time to decision and accelerate time to value. That starts with gaining better business visibility and enhancing collaboration.

“Traditionally what we see is people not being able to work together,” says Rich Clayton, vice president of product strategy for Oracle Analytics. “Adding machine learning to Oracle Analytics Cloud ultimately helps people organize their work and build, train, and deploy these data models. It’s a collaboration tool whose value is in accelerating the process and allowing different parts of the business to collaborate, giving you better quality and models for you to deploy.”

For example, typical finance departments are routinely burdened by repeating a variance analysis process—a comparison between what is actual and what was forecast. It’s a low-cognitive application that can benefit greatly from machine learning.

“By embedding machine learning, finance can work faster and smarter, and pick up where the machine left off,” Clayton says.

The power of prediction

Another exciting capability of machine learning is its predictive capabilities. In the past, business decisions were often made based on historical outcomes. Today, machine learning employs rich analytics to predict what will happen. Organizations can make forward-looking, proactive decisions instead of relying on past data.

For example, predictive maintenance can enable manufacturers, energy companies, and other industries to seize the initiative and ensure that their operations remain dependable and optimized. In an oil field with hundreds of drills in operation, machine learning models can spot equipment that’s at risk of failure in the near future and then notify maintenance teams in advance. This approach not only maximizes productivity, it increases asset performance, uptime, and longevity. It can also minimize worker risk, decrease liability, and improve regulatory compliance.

The benefits of predictive maintenance extend to inventory control and management. Avoiding unplanned equipment downtime by implementing predictive maintenance helps organizations more accurately predict the need for spare parts and repairs—significantly reducing capital and operating expenses.

Webcast: Where Will Machine Learning Take You?

Machine learning potential

Machine learning offers tremendous potential to help organizations derive business value from the wealth of data available today. However, inefficient workflows can hold companies back from realizing machine learning’s maximum potential.

To succeed at an enterprise level, machine learning needs to be part of a comprehensive platform that helps organizations simplify operations and deploy models at scale. The right solution will enable organizations to centralize all data science work in a collaborative platform and accelerate the use and management of open source tools, frameworks, and infrastructure.

Try an AI workshop

Machine Learning – What it is and why it matters

Machine learning is a method of data analysis that automates analytical model building. It is a branch of artificial intelligence based on the idea that systems can learn from data, identify patterns and make decisions with minimal human intervention.

Evolution of machine learning

Because of new computing technologies, machine learning today is not like machine learning of the past. It was born from pattern recognition and the theory that computers can learn without being programmed to perform specific tasks; researchers interested in artificial intelligence wanted to see if computers could learn from data. The iterative aspect of machine learning is important because as models are exposed to new data, they are able to independently adapt. They learn from previous computations to produce reliable, repeatable decisions and results. It’s a science that’s not new – but one that has gained fresh momentum.

While many machine learning algorithms have been around for a long time, the ability to automatically apply complex mathematical calculations to big data – over and over, faster and faster – is a recent development. Here are a few widely publicized examples of machine learning applications you may be familiar with:

  • The heavily hyped, self-driving Google car? The essence of machine learning.
  • Online recommendation offers such as those from Amazon and Netflix? Machine learning applications for everyday life.
  • Knowing what customers are saying about you on Twitter? Machine learning combined with linguistic rule creation.
  • Fraud detection? One of the more obvious, important uses in our world today.

Machine Learning and Artificial Intelligence

While artificial intelligence (AI) is the broad science of mimicking human abilities, machine learning is a specific subset of AI that trains a machine how to learn. Watch this video to better understand the relationship between AI and machine learning. You’ll see how these two technologies work, with useful examples and a few funny asides.

Why is machine learning important?

Resurging interest in machine learning is due to the same factors that have made data mining and Bayesian analysis more popular than ever. Things like growing volumes and varieties of available data, computational processing that is cheaper and more powerful, and affordable data storage.

All of these things mean it’s possible to quickly and automatically produce models that can analyze bigger, more complex data and deliver faster, more accurate results – even on a very large scale. And by building precise models, an organization has a better chance of identifying profitable opportunities – or avoiding unknown risks.

What’s required to create good machine learning systems?

  • Data preparation capabilities.
  • Algorithms – basic and advanced.
  • Automation and iterative processes.
  • Scalability.
  • Ensemble modeling.
Machine learning infographic

Did you know?

  • In machine learning, a target is called a label.
  • In statistics, a target is called a dependent variable.
  • A variable in statistics is called a feature in machine learning.
  • A transformation in statistics is called feature creation in machine learning.

Machine learning in today’s world

By using algorithms to build models that uncover connections, organizations can make better decisions without human intervention. Learn more about the technologies that are shaping the world we live in.

White Paper

Opportunities and challenges for machine learning in business

This O’Reilly white paper provides a practical guide to implementing machine-learning applications in your organization.

Read white paper

Fact Sheet

Expand your skill set

Get in-depth instruction and free access to SAS Software to build your machine learning skills. Courses include: 14 hours of course time, 90 days free software access in the cloud, a flexible e-learning format, with no programming skills required. 

Machine learning courses

Will machine learning change your organization?

This Harvard Business Review Insight Center report looks at how machine learning will change companies and the way we manage them.   

Applying machine learning to IoT

Machine learning can be used to achieve higher levels of efficiency, particularly when applied to the Internet of Things. This article explores the topic.

Read the IoT article

Who’s using it?

Most industries working with large amounts of data have recognized the value of machine learning technology. By gleaning insights from this data – often in real time – organizations are able to work more efficiently or gain an advantage over competitors.

Financial services

Banks and other businesses in the financial industry use machine learning technology for two key purposes: to identify important insights in data, and prevent fraud. The insights can identify investment opportunities, or help investors know when to trade. Data mining can also identify clients with high-risk profiles, or use cybersurveillance to pinpoint warning signs of fraud.


Government agencies such as public safety and utilities have a particular need for machine learning since they have multiple sources of data that can be mined for insights. Analyzing sensor data, for example, identifies ways to increase efficiency and save money. Machine learning can also help detect fraud and minimize identity theft.

Health care

Machine learning is a fast-growing trend in the health care industry, thanks to the advent of wearable devices and sensors that can use data to assess a patient’s health in real time. The technology can also help medical experts analyze data to identify trends or red flags that may lead to improved diagnoses and treatment. 


Websites recommending items you might like based on previous purchases are using machine learning to analyze your buying history.  Retailers rely on machine learning to capture data, analyze it and use it to personalize a shopping experience, implement a marketing campaign, price optimization, merchandise planning, and for customer insights.   

Oil and gas

Finding new energy sources. Analyzing minerals in the ground. Predicting refinery sensor failure. Streamlining oil distribution to make it more efficient and cost-effective. The number of machine learning use cases for this industry is vast – and still expanding.


Analyzing data to identify patterns and trends is key to the transportation industry, which relies on making routes more efficient and predicting potential problems to increase profitability. The data analysis and modeling aspects of machine learning are important tools to delivery companies, public transportation and other transportation organizations.

Machine learning

Machine learning (ML) is a field devoted to understanding and building methods that let machines “learn” – that is, methods that leverage data to improve computer performance on some set of tasks.[1]

Machine learning algorithms build a model based on sample data, known as training data, in order to make predictions or decisions without being explicitly programmed to do so.[2] Machine learning algorithms are used in a wide variety of applications, such as in medicine, email filtering, speech recognition, agriculture, and computer vision, where it is difficult or unfeasible to develop conventional algorithms to perform the needed tasks.[3][4]

A subset of machine learning is closely related to computational statistics, which focuses on making predictions using computers, but not all machine learning is statistical learning. The study of mathematical optimization delivers methods, theory and application domains to the field of machine learning. Data mining is a related field of study, focusing on exploratory data analysis through unsupervised learning.[6][7]

Some implementations of machine learning use data and neural networks in a way that mimics the working of a biological brain.[8][9]

In its application across business problems, machine learning is also referred to as predictive analytics.

Learning algorithms work on the basis that strategies, algorithms, and inferences that worked well in the past are likely to continue working well in the future. These inferences can sometimes be obvious, such as “since the sun rose every morning for the last 10,000 days, it will probably rise tomorrow morning as well”. Other times, they can be more nuanced, such as “X% of families have geographically separate species with color variants, so there is a Y% chance that undiscovered black swans exist”.[10]

Machine learning programs can perform tasks without being explicitly programmed to do so. It involves computers learning from data provided so that they carry out certain tasks. For simple tasks assigned to computers, it is possible to program algorithms telling the machine how to execute all steps required to solve the problem at hand; on the computer’s part, no learning is needed. For more advanced tasks, it can be challenging for a human to manually create the needed algorithms. In practice, it can turn out to be more effective to help the machine develop its own algorithm, rather than having human programmers specify every needed step.[11]

The discipline of machine learning employs various approaches to teach computers to accomplish tasks where no fully satisfactory algorithm is available. In cases where vast numbers of potential answers exist, one approach is to label some of the correct answers as valid. This can then be used as training data for the computer to improve the algorithm(s) it uses to determine correct answers. For example, to train a system for the task of digital character recognition, the MNIST dataset of handwritten digits has often been used.[11]

History and relationships to other fields
See also: Timeline of machine learning
The term machine learning was coined in 1959 by Arthur Samuel, an IBM employee and pioneer in the field of computer gaming and artificial intelligence.[12][13] The synonym self-teaching computers was also used in this time period.[14][15]

By the early 1960s an experimental “learning machine” with punched tape memory, called CyberTron, had been developed by Raytheon Company to analyze sonar signals, electrocardiograms, and speech patterns using rudimentary reinforcement learning. It was repetitively “trained” by a human operator/teacher to recognize patterns and equipped with a “goof” button to cause it to re-evaluate incorrect decisions.[16] A representative book on research into machine learning during the 1960s was Nilsson’s book on Learning Machines, dealing mostly with machine learning for pattern classification.[17] Interest related to pattern recognition continued into the 1970s, as described by Duda and Hart in 1973.[18] In 1981 a report was given on using teaching strategies so that a neural network learns to recognize 40 characters (26 letters, 10 digits, and 4 special symbols) from a computer terminal.[19]

Tom M. Mitchell provided a widely quoted, more formal definition of the algorithms studied in the machine learning field: “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.”[20] This definition of the tasks in which machine learning is concerned offers a fundamentally operational definition rather than defining the field in cognitive terms. This follows Alan Turing’s proposal in his paper “Computing Machinery and Intelligence”, in which the question “Can machines think?” is replaced with the question “Can machines do what we (as thinking entities) can do?”.[21]

Modern-day machine learning has two objectives, one is to classify data based on models which have been developed, the other purpose is to make predictions for future outcomes based on these models. A hypothetical algorithm specific to classifying data may use computer vision of moles coupled with supervised learning in order to train it to classify the cancerous moles. A machine learning algorithm for stock trading may inform the trader of future potential predictions.[22]

Artificial intelligence

As a scientific endeavor, machine learning grew out of the quest for artificial intelligence (AI). In the early days of AI as an academic discipline, some researchers were interested in having machines learn from data. They attempted to approach the problem with various symbolic methods, as well as what were then termed “neural networks”; these were mostly perceptrons and other models that were later found to be reinventions of the generalized linear models of statistics.[24] Probabilistic reasoning was also employed, especially in automated medical diagnosis.[25]: 488 

However, an increasing emphasis on the logical, knowledge-based approach caused a rift between AI and machine learning. Probabilistic systems were plagued by theoretical and practical problems of data acquisition and representation.[25]: 488  By 1980, expert systems had come to dominate AI, and statistics was out of favor.[26] Work on symbolic/knowledge-based learning did continue within AI, leading to inductive logic programming, but the more statistical line of research was now outside the field of AI proper, in pattern recognition and information retrieval.[25]: 708–710, 755  Neural networks research had been abandoned by AI and computer science around the same time. This line, too, was continued outside the AI/CS field, as “connectionism”, by researchers from other disciplines including Hopfield, Rumelhart, and Hinton. Their main success came in the mid-1980s with the reinvention of backpropagation.[25]: 25 

Machine learning (ML), reorganized and recognized as its own field, started to flourish in the 1990s. The field changed its goal from achieving artificial intelligence to tackling solvable problems of a practical nature. It shifted focus away from the symbolic approaches it had inherited from AI, and toward methods and models borrowed from statistics, fuzzy logic, and probability theory.[26]

Data mining
Machine learning and data mining often employ the same methods and overlap significantly, but while machine learning focuses on prediction, based on known properties learned from the training data, data mining focuses on the discovery of (previously) unknown properties in the data (this is the analysis step of knowledge discovery in databases). Data mining uses many machine learning methods, but with different goals; on the other hand, machine learning also employs data mining methods as “unsupervised learning” or as a preprocessing step to improve learner accuracy. Much of the confusion between these two research communities (which do often have separate conferences and separate journals, ECML PKDD being a major exception) comes from the basic assumptions they work with: in machine learning, performance is usually evaluated with respect to the ability to reproduce known knowledge, while in knowledge discovery and data mining (KDD) the key task is the discovery of previously unknown knowledge. Evaluated with respect to known knowledge, an uninformed (unsupervised) method will easily be outperformed by other supervised methods, while in a typical KDD task, supervised methods cannot be used due to the unavailability of training data.

Machine learning also has intimate ties to optimization: many learning problems are formulated as minimization of some loss function on a training set of examples. Loss functions express the discrepancy between the predictions of the model being trained and the actual problem instances (for example, in classification, one wants to assign a label to instances, and models are trained to correctly predict the pre-assigned labels of a set of examples).[27]

The difference between optimization and machine learning arises from the goal of generalization: while optimization algorithms can minimize the loss on a training set, machine learning is concerned with minimizing the loss on unseen samples. Characterizing the generalization of various learning algorithms is an active topic of current research, especially for deep learning algorithms.

Machine learning and statistics are closely related fields in terms of methods, but distinct in their principal goal: statistics draws population inferences from a sample, while machine learning finds generalizable predictive patterns.[28] According to Michael I. Jordan, the ideas of machine learning, from methodological principles to theoretical tools, have had a long pre-history in statistics.[29] He also suggested the term data science as a placeholder to call the overall field.[29]

Leo Breiman distinguished two statistical modeling paradigms: data model and algorithmic model,[30] wherein “algorithmic model” means more or less the machine learning algorithms like Random Forest.

Some statisticians have adopted methods from machine learning, leading to a combined field that they call statistical learning.[31]

Analytical and computational techniques derived from deep-rooted physics of disordered systems can be extended to large-scale problems, including machine learning, e.g., to analyze the weight space of deep neural networks.[32] Statistical physics is thus finding applications in the area of medical diagnostics.[33]

Main articles: Computational learning theory and Statistical learning theory
A core objective of a learner is to generalize from its experience.[5][34] Generalization in this context is the ability of a learning machine to perform accurately on new, unseen examples/tasks after having experienced a learning data set. The training examples come from some generally unknown probability distribution (considered representative of the space of occurrences) and the learner has to build a general model about this space that enables it to produce sufficiently accurate predictions in new cases.

The computational analysis of machine learning algorithms and their performance is a branch of theoretical computer science known as computational learning theory via the Probably Approximately Correct Learning (PAC) model. Because training sets are finite and the future is uncertain, learning theory usually does not yield guarantees of the performance of algorithms. Instead, probabilistic bounds on the performance are quite common. The bias–variance decomposition is one way to quantify generalization error.

For the best performance in the context of generalization, the complexity of the hypothesis should match the complexity of the function underlying the data. If the hypothesis is less complex than the function, then the model has under fitted the data. If the complexity of the model is increased in response, then the training error decreases. But if the hypothesis is too complex, then the model is subject to overfitting and generalization will be poorer.[35]

In addition to performance bounds, learning theorists study the time complexity and feasibility of learning. In computational learning theory, a computation is considered feasible if it can be done in polynomial time. There are two kinds of time complexity results: Positive results show that a certain class of functions can be learned in polynomial time. Negative results show that certain classes cannot be learned in polynomial time.

Machine learning approaches are traditionally divided into three broad categories, which correspond to learning paradigms, depending on the nature of the “signal” or “feedback” available to the learning system:

Supervised learning: The computer is presented with example inputs and their desired outputs, given by a “teacher”, and the goal is to learn a general rule that maps inputs to outputs.
Unsupervised learning: No labels are given to the learning algorithm, leaving it on its own to find structure in its input. Unsupervised learning can be a goal in itself (discovering hidden patterns in data) or a means towards an end (feature learning).
Reinforcement learning: A computer program interacts with a dynamic environment in which it must perform a certain goal (such as driving a vehicle or playing a game against an opponent). As it navigates its problem space, the program is provided feedback that’s analogous to rewards, which it tries to maximize.[5] Although each algorithm has advantages and limitations, no single algorithm works for all problems.[36][37][38]

Supervised learning

Main article: Supervised learning

Supervised learning algorithms build a mathematical model of a set of data that contains both the inputs and the desired outputs.[39] The data is known as training data, and consists of a set of training examples. Each training example has one or more inputs and the desired output, also known as a supervisory signal. In the mathematical model, each training example is represented by an array or vector, sometimes called a feature vector, and the training data is represented by a matrix. Through iterative optimization of an objective function, supervised learning algorithms learn a function that can be used to predict the output associated with new inputs.[40] An optimal function will allow the algorithm to correctly determine the output for inputs that were not a part of the training data. An algorithm that improves the accuracy of its outputs or predictions over time is said to have learned to perform that task.[20]

Types of supervised-learning algorithms include active learning, classification and regression.[41] Classification algorithms are used when the outputs are restricted to a limited set of values, and regression algorithms are used when the outputs may have any numerical value within a range. As an example, for a classification algorithm that filters emails, the input would be an incoming email, and the output would be the name of the folder in which to file the email.

Similarity learning is an area of supervised machine learning closely related to regression and classification, but the goal is to learn from examples using a similarity function that measures how similar or related two objects are. It has applications in ranking, recommendation systems, visual identity tracking, face verification, and speaker verification.

Unsupervised learning
Main article: Unsupervised learning
See also: Cluster analysis
Unsupervised learning algorithms take a set of data that contains only inputs, and find structure in the data, like grouping or clustering of data points. The algorithms, therefore, learn from test data that has not been labeled, classified or categorized. Instead of responding to feedback, unsupervised learning algorithms identify commonalities in the data and react based on the presence or absence of such commonalities in each new piece of data. A central application of unsupervised learning is in the field of density estimation in statistics, such as finding the probability density function.[42] Though unsupervised learning encompasses other domains involving summarizing and explaining data features. Unsupervised learning algorithms streamlined the process of survey and graph large indel based haplotypes of a gene of interest from pan-genome.[43]

Cluster analysis is the assignment of a set of observations into subsets (called clusters) so that observations within the same cluster are similar according to one or more predesignated criteria, while observations drawn from different clusters are dissimilar. Different clustering techniques make different assumptions on the structure of the data, often defined by some similarity metric and evaluated, for example, by internal compactness, or the similarity between members of the same cluster, and separation, the difference between clusters. Other methods are based on estimated density and graph connectivity.

Semi-supervised learning
Main article: Semi-supervised learning
Semi-supervised learning falls between unsupervised learning (without any labeled training data) and supervised learning (with completely labeled training data). Some of the training examples are missing training labels, yet many machine-learning researchers have found that unlabeled data, when used in conjunction with a small amount of labeled data, can produce a considerable improvement in learning accuracy.

In weakly supervised learning, the training labels are noisy, limited, or imprecise; however, these labels are often cheaper to obtain, resulting in larger effective training sets.[44]

Reinforcement learning
Main article: Reinforcement learning
Reinforcement learning is an area of machine learning concerned with how software agents ought to take actions in an environment so as to maximize some notion of cumulative reward. Due to its generality, the field is studied in many other disciplines, such as game theory, control theory, operations research, information theory, simulation-based optimization, multi-agent systems, swarm intelligence, statistics and genetic algorithms. In machine learning, the environment is typically represented as a Markov decision process (MDP). Many reinforcements learning algorithms use dynamic programming techniques.[45] Reinforcement learning algorithms do not assume knowledge of an exact mathematical model of the MDP and are used when exact models are infeasible. Reinforcement learning algorithms are used in autonomous vehicles or in learning to play a game against a human opponent.

Dimensionality reduction
Dimensionality reduction is a process of reducing the number of random variables under consideration by obtaining a set of principal variables.[46] In other words, it is a process of reducing the dimension of the feature set, also called the “number of features”. Most of the dimensionality reduction techniques can be considered as either feature elimination or extraction. One of the popular methods of dimensionality reduction is principal component analysis (PCA). PCA involves changing higher-dimensional data (e.g., 3D) to a smaller space (e.g., 2D). This results in a smaller dimension of data (2D instead of 3D), while keeping all original variables in the model without changing the data.[47] The manifold hypothesis proposes that high-dimensional data sets lie along low-dimensional manifolds, and many dimensionality reduction techniques make this assumption, leading to the area of manifold learning and manifold regularization.

Other types
Other approaches have been developed which do not fit neatly into this three-fold categorization, and sometimes more than one is used by the same machine learning system. For example, topic modeling, meta-learning.[48]

As of 2022, deep learning is the dominant approach for much ongoing work in the field of machine learning.[11]

Self-learning, as a machine learning paradigm was introduced in 1982 along with a neural network capable of self-learning, named crossbar adaptive array (CAA).[49] It is learning with no external rewards and no external teacher advice. The CAA self-learning algorithm computes, in a crossbar fashion, both decisions about actions and emotions (feelings) about consequence situations. The system is driven by the interaction between cognition and emotion.[50] The self-learning algorithm updates a memory matrix W =||w(a,s)|| such that in each iteration executes the following machine learning routine:

in situation s perform action a
receive consequence situation s’
compute emotion of being in consequence situation v(s’)
update crossbar memory w'(a,s) = w(a,s) + v(s’)
It is a system with only one input, situation, and only one output, action (or behavior) a. There is neither a separate reinforcement input nor an advice input from the environment. The backpropagated value (secondary reinforcement) is the emotion toward the consequence situation. The CAA exists in two environments, one is the behavioral environment where it behaves, and the other is the genetic environment, wherefrom it initially and only once receives initial emotions about situations to be encountered in the behavioral environment. After receiving the genome (species) vector from the genetic environment, the CAA learns a goal-seeking behavior, in an environment that contains both desirable and undesirable situations.[51]

Feature learning
Main article: Feature learning
Several learning algorithms aim at discovering better representations of the inputs provided during training.[52] Classic examples include principal component analysis and cluster analysis. Feature learning algorithms, also called representation learning algorithms, often attempt to preserve the information in their input but also transform it in a way that makes it useful, often as a pre-processing step before performing classification or predictions. This technique allows reconstruction of the inputs coming from the unknown data-generating distribution, while not being necessarily faithful to configurations that are implausible under that distribution. This replaces manual feature engineering, and allows a machine to both learn the features and use them to perform a specific task.

Feature learning can be either supervised or unsupervised. In supervised feature learning, features are learned using labeled input data. Examples include artificial neural networks, multilayer perceptrons, and supervised dictionary learning. In unsupervised feature learning, features are learned with unlabeled input data. Examples include dictionary learning, independent component analysis, autoencoders, matrix factorization[53] and various forms of clustering.[54][55][56]

Manifold learning algorithms attempt to do so under the constraint that the learned representation is low-dimensional. Sparse coding algorithms attempt to do so under the constraint that the learned representation is sparse, meaning that the mathematical model has many zeros. Multilinear subspace learning algorithms aim to learn low-dimensional representations directly from tensor representations for multidimensional data, without reshaping them into higher-dimensional vectors.[57] Deep learning algorithms discover multiple levels of representation, or a hierarchy of features, with higher-level, more abstract features defined in terms of (or generating) lower-level features. It has been argued that an intelligent machine is one that learns a representation that disentangles the underlying factors of variation that explain the observed data.[58]

Feature learning is motivated by the fact that machine learning tasks such as classification often require input that is mathematically and computationally convenient to process. However, real-world data such as images, video, and sensory data has not yielded attempts to algorithmically define specific features. An alternative is to discover such features or representations through examination, without relying on explicit algorithms.

Sparse dictionary learning
Main article: Sparse dictionary learning
Sparse dictionary learning is a feature learning method where a training example is represented as a linear combination of basis functions, and is assumed to be a sparse matrix. The method is strongly NP-hard and difficult to solve approximately.[59] A popular heuristic method for sparse dictionary learning is the K-SVD algorithm. Sparse dictionary learning has been applied in several contexts. In classification, the problem is to determine the class to which a previously unseen training example belongs. For a dictionary where each class has already been built, a new training example is associated with the class that is best sparsely represented by the corresponding dictionary. Sparse dictionary learning has also been applied in image de-noising. The key idea is that a clean image patch can be sparsely represented by an image dictionary, but the noise cannot.[60]

Anomaly detection
Main article: Anomaly detection
In data mining, anomaly detection, also known as outlier detection, is the identification of rare items, events or observations which raise suspicions by differing significantly from the majority of the data.[61] Typically, the anomalous items represent an issue such as bank fraud, a structural defect, medical problems or errors in a text. Anomalies are referred to as outliers, novelties, noise, deviations and exceptions.[62]

In particular, in the context of abuse and network intrusion detection, the interesting objects are often not rare objects, but unexpected bursts of inactivity. This pattern does not adhere to the common statistical definition of an outlier as a rare object. Many outlier detection methods (in particular, unsupervised algorithms) will fail on such data unless aggregated appropriately. Instead, a cluster analysis algorithm may be able to detect the micro-clusters formed by these patterns.[63]

Three broad categories of anomaly detection techniques exist.[64] Unsupervised anomaly detection techniques detect anomalies in an unlabeled test data set under the assumption that the majority of the instances in the data set are normal, by looking for instances that seem to fit the least to the remainder of the data set. Supervised anomaly detection techniques require a data set that has been labeled as “normal” and “abnormal” and involves training a classifier (the key difference to many other statistical classification problems is the inherently unbalanced nature of outlier detection). Semi-supervised anomaly detection techniques construct a model representing normal behavior from a given normal training data set and then test the likelihood of a test instance to be generated by the model.

Robot learning
Robot learning is inspired by a multitude of machine learning methods, starting from supervised learning, reinforcement learning,[65][66] and finally meta-learning (e.g. MAML).

Association rules
Main article: Association rule learning
See also: Inductive logic programming
Association rule learning is a rule-based machine learning method for discovering relationships between variables in large databases. It is intended to identify strong rules discovered in databases using some measure of “interestingness”.[67]

Rule-based machine learning is a general term for any machine learning method that identifies, learns, or evolves “rules” to store, manipulate or apply knowledge. The defining characteristic of a rule-based machine learning algorithm is the identification and utilization of a set of relational rules that collectively represent the knowledge captured by the system. This is in contrast to other machine learning algorithms that commonly identify a singular model that can be universally applied to any instance in order to make a prediction.[68] Rule-based machine learning approaches include learning classifier systems, association rule learning, and artificial immune systems.

Based on the concept of strong rules, Rakesh Agrawal, Tomasz Imieliński and Arun Swami introduced association rules for discovering regularities between products in large-scale transaction data recorded by point-of-sale (POS) systems in supermarkets.[69] For example, the rule
{{\mathrm {onions,potatoes}}}\Rightarrow {{\mathrm {burger}}} found in the sales data of a supermarket would indicate that if a customer buys onions and potatoes together, they are likely to also buy hamburger meat. Such information can be used as the basis for decisions about marketing activities such as promotional pricing or product placements. In addition to market basket analysis, association rules are employed today in application areas including Web usage mining, intrusion detection, continuous production, and bioinformatics. In contrast with sequence mining, association rule learning typically does not consider the order of items either within a transaction or across transactions.

Learning classifier systems (LCS) are a family of rule-based machine learning algorithms that combine a discovery component, typically a genetic algorithm, with a learning component, performing either supervised learning, reinforcement learning, or unsupervised learning. They seek to identify a set of context-dependent rules that collectively store and apply knowledge in a piecewise manner in order to make predictions.[70]

Inductive logic programming (ILP) is an approach to rule learning using logic programming as a uniform representation for input examples, background knowledge, and hypotheses. Given an encoding of the known background knowledge and a set of examples represented as a logical database of facts, an ILP system will derive a hypothesized logic program that entails all positive and no negative examples. Inductive programming is a related field that considers any kind of programming language for representing hypotheses (and not only logic programming), such as functional programs.

Inductive logic programming is particularly useful in bioinformatics and natural language processing. Gordon Plotkin and Ehud Shapiro laid the initial theoretical foundation for inductive machine learning in a logical setting.[71][72][73] Shapiro built their first implementation (Model Inference System) in 1981: a Prolog program that inductively inferred logic programs from positive and negative examples.[74] The term inductive here refers to philosophical induction, suggesting a theory to explain observed facts, rather than mathematical induction, proving a property for all members of a well-ordered set.

Performing machine learning involves creating a model, which is trained on some training data and then can process additional data to make predictions. Various types of models have been used and researched for machine learning systems.

Artificial neural networks
Main article: Artificial neural network
See also: Deep learning

An artificial neural network is an interconnected group of nodes, akin to the vast network of neurons in a brain. Here, each circular node represents an artificial neuron and an arrow represents a connection from the output of one artificial neuron to the input of another.
Artificial neural networks (ANNs), or connectionist systems, are computing systems vaguely inspired by the biological neural networks that constitute animal brains. Such systems “learn” to perform tasks by considering examples, generally without being programmed with any task-specific rules.

An ANN is a model based on a collection of connected units or nodes called “artificial neurons”, which loosely model the neurons in a biological brain. Each connection, like the synapses in a biological brain, can transmit information, a “signal”, from one artificial neuron to another. An artificial neuron that receives a signal can process it and then signal additional artificial neurons connected to it. In common ANN implementations, the signal at a connection between artificial neurons is a real number, and the output of each artificial neuron is computed by some non-linear function of the sum of its inputs. The connections between artificial neurons are called “edges”. Artificial neurons and edges typically have a weight that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection. Artificial neurons may have a threshold such that the signal is only sent if the aggregate signal crosses that threshold. Typically, artificial neurons are aggregated into layers. Different layers may perform different kinds of transformations on their inputs. Signals travel from the first layer (the input layer) to the last layer (the output layer), possibly after traversing the layers multiple times.

The original goal of the ANN approach was to solve problems in the same way that a human brain would. However, over time, attention moved to performing specific tasks, leading to deviations from biology. Artificial neural networks have been used on a variety of tasks, including computer vision, speech recognition, machine translation, social network filtering, playing board and video games and medical diagnosis.

Deep learning consists of multiple hidden layers in an artificial neural network. This approach tries to model the way the human brain processes light and sound into vision and hearing. Some successful applications of deep learning are computer vision and speech recognition.[75]

Decision trees

Main article: Decision tree learning

Decision tree learning uses a decision tree as a predictive model to go from observations about an item (represented in the branches) to conclusions about the item’s target value (represented in the leaves). It is one of the predictive modeling approaches used in statistics, data mining, and machine learning. Tree models where the target variable can take a discrete set of values are called classification trees; in these tree structures, leaves represent class labels, and branches represent conjunctions of features that lead to those class labels. Decision trees where the target variable can take continuous values (typically real numbers) are called regression trees. In decision analysis, a decision tree can be used to visually and explicitly represent decisions and decision making. In data mining, a decision tree describes data, but the resulting classification tree can be an input for decision-making.

Support-vector machines
Main article: Support-vector machine
Support-vector machines (SVMs), also known as support-vector networks, are a set of related supervised learning methods used for classification and regression. Given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm builds a model that predicts whether a new example falls into one category.[76] An SVM training algorithm is a non-probabilistic, binary, linear classifier, although methods such as Platt scaling exist to use SVM in a probabilistic classification setting. In addition to performing linear classification, SVMs can efficiently perform a non-linear classification using what is called the kernel trick, implicitly mapping their inputs into high-dimensional feature spaces.

Regression analysis

Main article: Regression analysis

Regression analysis encompasses a large variety of statistical methods to estimate the relationship between input variables and their associated features. Its most common form is linear regression, where a single line is drawn to best fit the given data according to a mathematical criterion such as ordinary least squares. The latter is often extended by regularization methods to mitigate overfitting and bias, as in ridge regression. When dealing with non-linear problems, go-to models include polynomial regression (for example, used for trendline fitting in Microsoft Excel[77]), logistic regression (often used in statistical classification) or even kernel regression, which introduces non-linearity by taking advantage of the kernel trick to implicitly map input variables to higher-dimensional space.

Bayesian networks

A Bayesian network, belief network, or directed acyclic graphical model is a probabilistic graphical model that represents a set of random variables and their conditional independence with a directed acyclic graph (DAG). For example, a Bayesian network could represent the probabilistic relationships between diseases and symptoms. Given symptoms, the network can be used to compute the probabilities of the presence of various diseases. Efficient algorithms exist that perform inference and learning. Bayesian networks that model sequences of variables, like speech signals or protein sequences, are called dynamic Bayesian networks. Generalizations of Bayesian networks that can represent and solve decision problems under uncertainty are called influence diagrams.

Gaussian processes

A Gaussian process is a stochastic process in which every finite collection of the random variables in the process has a multivariate normal distribution, and it relies on a pre-defined covariance function, or kernel, that models how pairs of points relate to each other depending on their locations.

Given a set of observed points, or input–output examples, the distribution of the (unobserved) output of a new point as function of its input data can be directly computed by looking like the observed points and the covariances between those points and the new, unobserved point.

Gaussian processes are popular surrogate models in Bayesian optimization used to do hyperparameter optimization.

Genetic algorithms
Main article: Genetic algorithm
A genetic algorithm (GA) is a search algorithm and heuristic technique that mimics the process of natural selection, using methods such as mutation and crossover to generate new genotypes in the hope of finding good solutions to a given problem. In machine learning, genetic algorithms were used in the 1980s and 1990s.[79][80] Conversely, machine learning techniques have been used to improve the performance of genetic and evolutionary algorithms.[81]

Training models
Typically, machine learning models require a high quantity of reliable data in order for the models to perform accurate predictions. When training a machine learning model, machine learning engineers need to target and collect a large and representative sample of data. Data from the training set can be as varied as a corpus of text, a collection of images, sensor data, and data collected from individual users of a service. Overfitting is something to watch out for when training a machine learning model. Trained models derived from biased or non-evaluated data can result in skewed or undesired predictions. Bias models may result in detrimental outcomes thereby furthering the negative impacts on society or objectives. Algorithmic bias is a potential result of data not being fully prepared for training. Machine learning ethics is becoming a field of study and notably be integrated within machine learning engineering teams.

Federated learning
Main article: Federated learning
Federated learning is an adapted form of distributed artificial intelligence to training machine learning models that decentralizes the training process, allowing for users’ privacy to be maintained by not needing to send their data to a centralized server. This also increases efficiency by decentralizing the training process to many devices. For example, Gboard uses federated machine learning to train search query prediction models on users’ mobile phones without having to send individual searches back to Google.[82]

There are many applications for machine learning, including:

Adaptive website
Affective computing
Automated decision-making
Brain–machine interfaces
Citizen Science
Climate Science
Computer networks
Computer vision
Credit-card fraud detection
Data quality
DNA sequence classification
Financial market analysis[83]
General game playing
Handwriting recognition
Information retrieval
Internet fraud detection
Knowledge graph embedding
Machine learning control
Machine perception
Machine translation
Medical diagnosis
Natural language processing
Natural language understanding
Online advertising
Recommender systems
Robot locomotion
Search engines
Sentiment analysis
Sequence mining
Software engineering
Speech recognition
Structural health monitoring
Syntactic pattern recognition
Theorem proving
Time-series forecasting
User behavior analytics
In 2006, the media-services provider Netflix held the first “Netflix Prize” competition to find a program to better predict user preferences and improve the accuracy of its existing Cinematch movie recommendation algorithm by at least 10%. A joint team made up of researchers from AT&T Labs-Research in collaboration with the teams Big Chaos and Pragmatic Theory built an ensemble model to win the Grand Prize in 2009 for $1 million.[84] Shortly after the prize was awarded, Netflix realized that viewers’ ratings were not the best indicators of their viewing patterns (“everything is a recommendation”) and they changed their recommendation engine accordingly.[85] In 2010 The Wall Street Journal wrote about the firm Rebellion Research and their use of machine learning to predict the financial crisis.[86] In 2012, co-founder of Sun Microsystems, Vinod Khosla, predicted that 80% of medical doctors jobs would be lost in the next two decades to automated machine learning medical diagnostic software.[87] In 2014, it was reported that a machine learning algorithm had been applied in the field of art history to study fine art paintings and that it may have revealed previously unrecognized influences among artists.[88] In 2019 Springer Nature published the first research book created using machine learning.[89] In 2020, machine learning technology was used to help make diagnoses and aid researchers in developing a cure for COVID-19.[90] Machine learning was recently applied to predict the pro-environmental behavior of travelers.[91] Recently, machine learning technology was also applied to optimize smartphone’s performance and thermal behavior based on the user’s interaction with the phone.[92][93][94]

Although machine learning has been transformative in some fields, machine-learning programs often fail to deliver expected results.[95][96][97] Reasons for this are numerous: lack of (suitable) data, lack of access to the data, data bias, privacy problems, badly chosen tasks and algorithms, wrong tools and people, lack of resources, and evaluation problems.[98]

In 2018, a self-driving car from Uber failed to detect a pedestrian, who was killed after a collision.[99] Attempts to use machine learning in healthcare with the IBM Watson system failed to deliver even after years of time and billions of dollars invested.[100][101]

Machine learning has been used as a strategy to update the evidence related to a systematic review and increased reviewer burden related to the growth of biomedical literature. While it has improved with training sets, it has not yet developed sufficiently to reduce the workload burden without limiting the necessary sensitivity for the findings research themselves.[102]

Main article: Algorithmic bias
Machine learning approaches in particular can suffer from different data biases. A machine learning system trained specifically on current customers may not be able to predict the needs of new customer groups that are not represented in the training data. When trained on human-made data, machine learning is likely to pick up the constitutional and unconscious biases already present in society.[103] Language models learned from data have been shown to contain human-like biases.[104][105] Machine learning systems used for criminal risk assessment have been found to be biased against black people.[106][107] In 2015, Google photos would often tag black people as gorillas,[108] and in 2018 this still was not well resolved, but Google reportedly was still using the workaround to remove all gorillas from the training data, and thus was not able to recognize real gorillas at all.[109] Similar issues with recognizing non-white people have been found in many other systems.[110] In 2016, Microsoft tested a chatbot that learned from Twitter, and it quickly picked up racist and sexist language.[111] Because of such challenges, the effective use of machine learning may take longer to be adopted in other domains.[112] Concern for fairness in machine learning, that is, reducing bias in machine learning and propelling its use for human good is increasingly expressed by artificial intelligence scientists, including Fei-Fei Li, who reminds engineers that “There’s nothing artificial about AI…It’s inspired by people, it’s created by people, and—most importantly—it impacts people. It is a powerful tool we are only just beginning to understand, and that is a profound responsibility.”[113]

Main article: Explainable artificial intelligence
Explainable AI (XAI), or Interpretable AI, or Explainable Machine Learning (XML), is artificial intelligence (AI) in which humans can understand the decisions or predictions made by the AI. It contrasts with the “black box” concept in machine learning where even its designers cannot explain why an AI arrived at a specific decision. By refining the mental models of users of AI-powered systems and dismantling their misconceptions, XAI promises to help users perform more effectively. XAI may be an implementation of the social right to explanation.


Settling on a bad, overly complex theory gerrymandered to fit all the past training data is known as overfitting. Many systems attempt to reduce overfitting by rewarding a theory in accordance with how well it fits the data but penalizing the theory in accordance with how complex the theory is.[10]

Other limitations and vulnerabilities
Learners can also disappoint by “learning the wrong lesson”. A toy example is that an image classifier trained only on pictures of brown horses and black cats might conclude that all brown patches are likely to be horses.[114] A real-world example is that, unlike humans, current image classifiers often do not primarily make judgments from the spatial relationship between components of the picture, and they learn relationships between pixels that humans are oblivious to, but that still correlate with images of certain types of real objects. Modifying these patterns on a legitimate image can result in “adversarial” images that the system misclassifies.[115][116]

Adversarial vulnerabilities can also result in nonlinear systems, or from non-pattern perturbations. Some systems are so brittle that changing a single adversarial pixel predictably induces misclassification.[citation needed] Machine learning models are often vulnerable to manipulation and/or evasion via adversarial machine learning.[117]

Researchers have demonstrated how backdoors can be placed undetectably into classifying (e.g., for categories “spam” and well-visible “not spam” of posts) machine learning models which are often developed and/or trained by third parties. Parties can change the classification of any input, including in cases for which a type of data/software transparency is provided, possibly including white-box access.[118][119][120]

Model assessments
Classification of machine learning models can be validated by accuracy estimation techniques like the holdout method, which splits the data in a training and test set (conventionally 2/3 training set and 1/3 test set designation) and evaluates the performance of the training model on the test set. In comparison, the K-fold-cross-validation method randomly partitions the data into K subsets and then K experiments are performed each respectively considering 1 subset for evaluation and the remaining K-1 subsets for training the model. In addition to the holdout and cross-validation methods, bootstrap, which samples n instances with replacement from the dataset, can be used to assess model accuracy.[121]

In addition to overall accuracy, investigators frequently report sensitivity and specificity meaning True Positive Rate (TPR) and True Negative Rate (TNR) respectively. Similarly, investigators sometimes report the false positive rate (FPR) as well as the false negative rate (FNR). However, these rates are ratios that fail to reveal their numerators and denominators. The total operating characteristic (TOC) is an effective method to express a model’s diagnostic ability. TOC shows the numerators and denominators of the previously mentioned rates, thus TOC provides more information than the commonly used receiver operating characteristic (ROC) and ROC’s associated area under the curve (AUC).[122]

See also: AI control problem, Toronto Declaration, and Ethics of artificial intelligence
Machine learning poses a host of ethical questions. Systems that are trained on datasets collected with biases may exhibit these biases upon use (algorithmic bias), thus digitizing cultural prejudices.[123] For example, in 1988, the UK’s Commission for Racial Equality found that St. George’s Medical School had been using a computer program trained from data of previous admissions staff and this program had denied nearly 60 candidates who were found to be either women or had non-European sounding names.[103] Using job hiring data from a firm with racist hiring policies may lead to a machine learning system duplicating the bias by scoring job applicants by similarity to previous successful applicants.[124][125] Responsible collection of data and documentation of algorithmic rules used by a system thus is a critical part of machine learning.

AI can be well-equipped to make decisions in technical fields, which rely heavily on data and historical information. These decisions rely on the objectivity and logical reasoning.[126] Because human languages contain biases, machines trained on language corpora will necessarily also learn these biases.[127][128]

Other forms of ethical challenges, not related to personal biases, are seen in health care. There are concerns among health care professionals that these systems might not be designed in the public’s interest but as income-generating machines.[129] This is especially true in the United States where there is a long-standing ethical dilemma of improving health care, but also increase profits. For example, the algorithms could be designed to provide patients with unnecessary tests or medication in which the algorithm’s proprietary owners hold stakes. There is potential for machine learning in health care to provide professionals an additional tool to diagnose, medicate, and plan recovery paths for patients, but this requires these biases to be mitigated.[130]

Since the 2010s, advances in both machine learning algorithms and computer hardware have led to more efficient methods for training deep neural networks (a particular narrow subdomain of machine learning) that contain many layers of non-linear hidden units.[131] By 2019, graphic processing units (GPUs), often with AI-specific enhancements, had displaced CPUs as the dominant method of training large-scale commercial cloud AI.[132] OpenAI estimated the hardware computing used in the largest deep learning projects from AlexNet (2012) to AlphaZero (2017), and found a 300,000-fold increase in the amount of compute required, with a doubling-time trendline of 3.4 months.[133][134]

Neuromorphic/Physical Neural Networks
A physical neural network or Neuromorphic computer is a type of artificial neural network in which an electrically adjustable material is used to emulate the function of a neural synapse. “Physical” neural network is used to emphasize the reliance on physical hardware used to emulate neurons as opposed to software-based approaches. More generally the term is applicable to other artificial neural networks in which a memristor or other electrically adjustable resistance material is used to emulate a neural synapse.[135][136]

Embedded Machine Learning
Embedded Machine Learning is a sub-field of machine learning, where the machine learning model is run on embedded systems with limited computing resources such as wearable computers, edge devices and microcontrollers.[137][138][139] Running machine learning model in embedded devices removes the need for transferring and storing data on cloud servers for further processing, henceforth, reducing data breaches and privacy leaks happening because of transferring data, and also minimizes theft of intellectual properties, personal data and business secrets. Embedded Machine Learning could be applied through several techniques including hardware acceleration,[140][141] using approximate computing,[142] optimization of machine learning models and many more.[143][144]

Software suites containing a variety of machine learning algorithms include the following:

Free and open-source software
Google JAX
Microsoft Cognitive Toolkit
Neural Lab
pandas (software)
Spark MLlib
Torch / PyTorch
Weka / MOA
Proprietary software with free and open-source editions
Proprietary software
Amazon Machine Learning
Angoss KnowledgeSTUDIO
Azure Machine Learning
IBM Watson Studio
Google Cloud Vertex AI
Google Prediction API
IBM SPSS Modeler
KXEN Modeler
Neural Designer
Oracle Data Mining
Oracle AI Platform Cloud Service
SAS Enterprise Miner
Journal of Machine Learning Research
Machine Learning
Nature Machine Intelligence
Neural Computation
IEEE Transactions on Pattern Analysis and Machine Intelligence
AAAI Conference on Artificial Intelligence
Association for Computational Linguistics (ACL)
European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases (ECML PKDD)
International Conference on Computational Intelligence Methods for Bioinformatics and Biostatistics (CIBB)
International Conference on Machine Learning (ICML)
International Conference on Learning Representations (ICLR)
International Conference on Intelligent Robots and Systems (IROS)
Conference on Knowledge Discovery and Data Mining (KDD)
Conference on Neural Information Processing Systems (NeurIPS)
See also
Automated machine learning – Process of automating the application of machine learning
Big data – Information assets characterized by high volume, velocity, and variety
Differentiable programming – Programming paradigm
List of important publications in machine learning
List of datasets for machine-learning research


  1. Mitchell, Tom (1997). Machine Learning. New York: McGraw Hill. ISBN 0-07-042807-7. OCLC 36417892. Archived from the original on 2020-04-07. Retrieved 2020-04-09.
  2. The definition “without being explicitly programmed” is often attributed to Arthur Samuel, who coined the term “machine learning” in 1959, but the phrase is not found verbatim in this publication, and may be a paraphrase that appeared later. Confer “Paraphrasing Arthur Samuel (1959), the question is: How can computers learn to solve problems without being explicitly programmed?” in Koza, John R.; Bennett, Forrest H.; Andre, David; Keane, Martin A. (1996). “Automated Design of Both the Topology and Sizing of Analog Electrical Circuits Using Genetic Programming”. Artificial Intelligence in Design ’96. Artificial Intelligence in Design ’96. Springer, Dordrecht. pp. 151–170. doi:10.1007/978-94-009-0279-4_9. ISBN 978-94-010-6610-5.
  3. Hu, Junyan; Niu, Hanlin; Carrasco, Joaquin; Lennox, Barry; Arvin, Farshad (2020). “Voronoi-Based Multi-Robot Autonomous Exploration in Unknown Environments via Deep Reinforcement Learning”. IEEE Transactions on Vehicular Technology. 69 (12): 14413–14423. doi:10.1109/tvt.2020.3034800. ISSN 0018-9545. S2CID 228989788. Archived from the original on 2023-04-16. Retrieved 2023-04-16.
  4. Yoosefzadeh-Najafabadi, Mohsen; Hugh, Earl; Tulpan, Dan; Sulik, John; Eskandari, Milad (2021). “Application of Machine Learning Algorithms in Plant Breeding: Predicting Yield From Hyperspectral Reflectance in Soybean?”. Front. Plant Sci. 11: 624273. doi:10.3389/fpls.2020.624273. PMC 7835636. PMID 33510761.
  5. Bishop, C. M. (2006), Pattern Recognition and Machine Learning, Springer, ISBN 978-0-387-31073-2
  6. Machine learning and pattern recognition “can be viewed as two facets of the same field.”[5]: vii 
  7. Friedman, Jerome H. (1998). “Data Mining and Statistics: What’s the connection?”. Computing Science and Statistics. 29 (1): 3–9.
  8. “What is Machine Learning?”. Archived from the original on 2021-08-13. Retrieved 2021-08-15.
  9. Zhou, Victor (2019-12-20). “Machine Learning for Beginners: An Introduction to Neural Networks”. Medium. Archived from the original on 2022-03-09. Retrieved 2021-08-15.
  10. Domingos 2015, Chapter 6, Chapter 7.
  11. Ethem Alpaydin (2020). Introduction to Machine Learning (Fourth ed.). MIT. pp. xix, 1–3, 13–18. ISBN 978-0262043793.
  12. Samuel, Arthur (1959). “Some Studies in Machine Learning Using the Game of Checkers”. IBM Journal of Research and Development. 3 (3): 210–229. CiteSeerX doi:10.1147/rd.33.0210. S2CID 2126705.
  13. R. Kohavi and F. Provost, “Glossary of terms,” Machine Learning, vol. 30, no. 2–3, pp. 271–274, 1998.
  14. Gerovitch, Slava (9 April 2015). “How the Computer Got Its Revenge on the Soviet Union”. Nautilus. Archived from the original on 22 September 2021. Retrieved 19 September 2021.
  15. Lindsay, Richard P. (1 September 1964). “The Impact of Automation On Public Administration”. Western Political Quarterly. 17 (3): 78–81. doi:10.1177/106591296401700364. ISSN 0043-4078. S2CID 154021253. Archived from the original on 6 October 2021. Retrieved 6 October 2021.
  16. “Science: The Goof Button,” Time (magazine), 18 August 1961.
  17. Nilsson N. Learning Machines, McGraw Hill, 1965.
  18. Duda, R., Hart P. Pattern Recognition and Scene Analysis, Wiley Interscience, 1973
  19. S. Bozinovski “Teaching space: A representation concept for adaptive pattern classification” COINS Technical Report No. 81-28, Computer and Information Science Department, University of Massachusetts at Amherst, MA, 1981. Archived 2021-02-25 at the Wayback Machine
  20. Mitchell, T. (1997). Machine Learning. McGraw Hill. p. 2. ISBN 978-0-07-042807-2.
  21. Harnad, Stevan (2008), “The Annotation Game: On Turing (1950) on Computing, Machinery, and Intelligence”, in Epstein, Robert; Peters, Grace (eds.), The Turing Test Sourcebook: Philosophical and Methodological Issues in the Quest for the Thinking Computer, Kluwer, pp. 23–66, ISBN 9781402067082, archived from the original on 2012-03-09, retrieved 2012-12-11
  22. “Introduction to AI Part 1”. Edzion. 2020-12-08. Archived from the original on 2021-02-18. Retrieved 2020-12-09.
  23. Sindhu V, Nivedha S, Prakash M (February 2020). “An Empirical Science Research on Bioinformatics in Machine Learning”. Journal of Mechanics of Continua and Mathematical Sciences (7). doi:10.26782/jmcms.spl.7/2020.02.00006.
  24. Sarle, Warren S. (1994). “Neural Networks and statistical models”. SUGI 19: proceedings of the Nineteenth Annual SAS Users Group International Conference. SAS Institute. pp. 1538–50. ISBN 9781555446116. OCLC 35546178.
  25. Russell, Stuart; Norvig, Peter (2003) [1995]. Artificial Intelligence: A Modern Approach (2nd ed.). Prentice Hall. ISBN 978-0137903955.
  26. Langley, Pat (2011). “The changing science of machine learning”. Machine Learning. 82 (3): 275–9. doi:10.1007/s10994-011-5242-y.
  27. Le Roux, Nicolas; Bengio, Yoshua; Fitzgibbon, Andrew (2012). “Improving First and Second-Order Methods by Modeling Uncertainty”. In Sra, Suvrit; Nowozin, Sebastian; Wright, Stephen J. (eds.). Optimization for Machine Learning. MIT Press. p. 404. ISBN 9780262016469. Archived from the original on 2023-01-17. Retrieved 2020-11-12.
  28. Bzdok, Danilo; Altman, Naomi; Krzywinski, Martin (2018). “Statistics versus Machine Learning”. Nature Methods. 15 (4): 233–234. doi:10.1038/nmeth.4642. PMC 6082636. PMID 30100822.
  29. Michael I. Jordan (2014-09-10). “statistics and machine learning”. reddit. Archived from the original on 2017-10-18. Retrieved 2014-10-01.
  30. Cornell University Library (August 2001). “Breiman: Statistical Modeling: The Two Cultures (with comments and a rejoinder by the author)”. Statistical Science. 16 (3). doi:10.1214/ss/1009213726. S2CID 62729017. Archived from the original on 26 June 2017. Retrieved 8 August 2015.
  31. Gareth James; Daniela Witten; Trevor Hastie; Robert Tibshirani (2013). An Introduction to Statistical Learning. Springer. p. vii. Archived from the original on 2019-06-23. Retrieved 2014-10-25.
  32. [Ramezanpour, A.; Beam, A.L.; Chen, J.H.; Mashaghi, A. Statistical Physics for Medical Diagnostics: Learning, Inference, and Optimization Algorithms. Diagnostics 2020, 10, 972. ]
  33. [Mashaghi, A.; Ramezanpour, A. Statistical physics of medical diagnostics: Study of a probabilistic model. Phys. Rev. E 97, 032118 (2018)]
  34. Mohri, Mehryar; Rostamizadeh, Afshin; Talwalkar, Ameet (2012). Foundations of Machine Learning. US, Massachusetts: MIT Press. ISBN 9780262018258.
  35. Alpaydin, Ethem (2010). Introduction to Machine Learning. London: The MIT Press. ISBN 978-0-262-01243-0. Retrieved 4 February 2017.
  36. Jordan, M. I.; Mitchell, T. M. (17 July 2015). “Machine learning: Trends, perspectives, and prospects”. Science. 349 (6245): 255–260. Bibcode:2015Sci…349..255J. doi:10.1126/science.aaa8415. PMID 26185243. S2CID 677218.
  37. El Naqa, Issam; Murphy, Martin J. (2015). “What Is Machine Learning?”. Machine Learning in Radiation Oncology: 3–11. doi:10.1007/978-3-319-18305-3_1. ISBN 978-3-319-18304-6. S2CID 178586107.
  38. Okolie, Jude A.; Savage, Shauna; Ogbaga, Chukwuma C.; Gunes, Burcu (June 2022). “Assessing the potential of machine learning methods to study the removal of pharmaceuticals from wastewater using biochar or activated carbon”. Total Environment Research Themes. 1–2: 100001. doi:10.1016/j.totert.2022.100001. S2CID 249022386.
  39. Russell, Stuart J.; Norvig, Peter (2010). Artificial Intelligence: A Modern Approach (Third ed.). Prentice Hall. ISBN 9780136042594.
  40. Mohri, Mehryar; Rostamizadeh, Afshin; Talwalkar, Ameet (2012). Foundations of Machine Learning. The MIT Press. ISBN 9780262018258.
  41. Alpaydin, Ethem (2010). Introduction to Machine Learning. MIT Press. p. 9. ISBN 978-0-262-01243-0. Archived from the original on 2023-01-17. Retrieved 2018-11-25.
  42. Jordan, Michael I.; Bishop, Christopher M. (2004). “Neural Networks”. In Allen B. Tucker (ed.). Computer Science Handbook, Second Edition (Section VII: Intelligent Systems). Boca Raton, Florida: Chapman & Hall/CRC Press LLC. ISBN 978-1-58488-360-9.
  43. Zhang, Bosen; Huang, Haiyan; Tibbs-Cortes, Laura E.; Vanous, Adam; Zhang, Zhiwu; Sanguinet, Karen; Garland-Campbell, Kimberly A.; Yu, Jianming; Li, Xianran (2023-02-13). “Streamline unsupervised machine learning to survey and graph indel-based haplotypes from pan-genomes”. doi:10.1101/2023.02.11.527743.
  44. Alex Ratner; Stephen Bach; Paroma Varma; Chris. “Weak Supervision: The New Programming Paradigm for Machine Learning”. referencing work by many other members of Hazy Research. Archived from the original on 2019-06-06. Retrieved 2019-06-06.
  45. van Otterlo, M.; Wiering, M. (2012). Reinforcement learning and Markov decision processes. Reinforcement Learning. Adaptation, Learning, and Optimization. Vol. 12. pp. 3–42. doi:10.1007/978-3-642-27645-3_1. ISBN 978-3-642-27644-6.
  48. Pavel Brazdil; Christophe Giraud Carrier; Carlos Soares; Ricardo Vilalta (2009). Metalearning: Applications to Data Mining (Fourth ed.). Springer Science+Business Media. pp. 10–14, passim. ISBN 978-3540732624.
  49. Bozinovski, S. (1982). “A self-learning system using secondary reinforcement”. In Trappl, Robert (ed.). Cybernetics and Systems Research: Proceedings of the Sixth European Meeting on Cybernetics and Systems Research. North-Holland. pp. 397–402. ISBN 978-0-444-86488-8.
  50. Bozinovski, Stevo (2014) “Modeling mechanisms of cognition-emotion interaction in artificial neural networks, since 1981.” Procedia Computer Science p. 255-263
  51. Bozinovski, S. (2001) “Self-learning agents: A connectionist theory of emotion based on crossbar value judgment.” Cybernetics and Systems 32(6) 637–667.
  52. Y. Bengio; A. Courville; P. Vincent (2013). “Representation Learning: A Review and New Perspectives”. IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (8): 1798–1828. arXiv:1206.5538. doi:10.1109/tpami.2013.50. PMID 23787338. S2CID 393948.
  53. Nathan Srebro; Jason D. M. Rennie; Tommi S. Jaakkola (2004). Maximum-Margin Matrix Factorization. NIPS.
  54. Coates, Adam; Lee, Honglak; Ng, Andrew Y. (2011). An analysis of single-layer networks in unsupervised feature learning (PDF). Int’l Conf. on AI and Statistics (AISTATS). Archived from the original (PDF) on 2017-08-13. Retrieved 2018-11-25.
  55. Csurka, Gabriella; Dance, Christopher C.; Fan, Lixin; Willamowski, Jutta; Bray, Cédric (2004). Visual categorization with bags of keypoints (PDF). ECCV Workshop on Statistical Learning in Computer Vision. Archived (PDF) from the original on 2019-07-13. Retrieved 2019-08-29.
  56. Daniel Jurafsky; James H. Martin (2009). Speech and Language Processing. Pearson Education International. pp. 145–146.
  57. Lu, Haiping; Plataniotis, K.N.; Venetsanopoulos, A.N. (2011). “A Survey of Multilinear Subspace Learning for Tensor Data” (PDF). Pattern Recognition. 44 (7): 1540–1551. Bibcode:2011PatRe..44.1540L. doi:10.1016/j.patcog.2011.01.004. Archived (PDF) from the original on 2019-07-10. Retrieved 2015-09-04.
  58. Yoshua Bengio (2009). Learning Deep Architectures for AI. Now Publishers Inc. pp. 1–3. ISBN 978-1-60198-294-0. Archived from the original on 2023-01-17. Retrieved 2016-02-15.
  59. Tillmann, A. M. (2015). “On the Computational Intractability of Exact and Approximate Dictionary Learning”. IEEE Signal Processing Letters. 22 (1): 45–49. arXiv:1405.6664. Bibcode:2015ISPL…22…45T. doi:10.1109/LSP.2014.2345761. S2CID 13342762.
  60. Aharon, M, M Elad, and A Bruckstein. 2006. “K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation Archived 2018-11-23 at the Wayback Machine.” Signal Processing, IEEE Transactions on 54 (11): 4311–4322
  61. Zimek, Arthur; Schubert, Erich (2017), “Outlier Detection”, Encyclopedia of Database Systems, Springer New York, pp. 1–5, doi:10.1007/978-1-4899-7993-3_80719-1, ISBN 9781489979933
  62. Hodge, V. J.; Austin, J. (2004). “A Survey of Outlier Detection Methodologies” (PDF). Artificial Intelligence Review. 22 (2): 85–126. CiteSeerX doi:10.1007/s10462-004-4304-y. S2CID 59941878. Archived (PDF) from the original on 2015-06-22. Retrieved 2018-11-25.
  63. Dokas, Paul; Ertoz, Levent; Kumar, Vipin; Lazarevic, Aleksandar; Srivastava, Jaideep; Tan, Pang-Ning (2002). “Data mining for network intrusion detection” (PDF). Proceedings NSF Workshop on Next Generation Data Mining. Archived (PDF) from the original on 2015-09-23. Retrieved 2023-03-26.
  64. Chandola, V.; Banerjee, A.; Kumar, V. (2009). “Anomaly detection: A survey”. ACM Computing Surveys. 41 (3): 1–58. doi:10.1145/1541880.1541882. S2CID 207172599.
  65. Fleer, S.; Moringen, A.; Klatzky, R. L.; Ritter, H. (2020). “Learning efficient haptic shape exploration with a rigid tactile sensor array, S. Fleer, A. Moringen, R. Klatzky, H. Ritter”. PLOS ONE. 15 (1): e0226880. arXiv:1902.07501. doi:10.1371/journal.pone.0226880. PMC 6940144. PMID 31896135.
  66. Moringen, Alexandra; Fleer, Sascha; Walck, Guillaume; Ritter, Helge (2020), Nisky, Ilana; Hartcher-O’Brien, Jess; Wiertlewski, Michaël; Smeets, Jeroen (eds.), “Attention-Based Robot Learning of Haptic Interaction”, Haptics: Science, Technology, Applications, Cham: Springer International Publishing, vol. 12272, pp. 462–470, doi:10.1007/978-3-030-58147-3_51, ISBN 978-3-030-58146-6, S2CID 220069113, archived from the original on 2023-01-17, retrieved 2022-01-19
  67. Piatetsky-Shapiro, Gregory (1991), Discovery, analysis, and presentation of strong rules, in Piatetsky-Shapiro, Gregory; and Frawley, William J.; eds., Knowledge Discovery in Databases, AAAI/MIT Press, Cambridge, MA.
  68. Bassel, George W.; Glaab, Enrico; Marquez, Julietta; Holdsworth, Michael J.; Bacardit, Jaume (2011-09-01). “Functional Network Construction in Arabidopsis Using Rule-Based Machine Learning on Large-Scale Data Sets”. The Plant Cell. 23 (9): 3101–3116. doi:10.1105/tpc.111.088153. ISSN 1532-298X. PMC 3203449. PMID 21896882.
  69. Agrawal, R.; Imieliński, T.; Swami, A. (1993). “Mining association rules between sets of items in large databases”. Proceedings of the 1993 ACM SIGMOD international conference on Management of data – SIGMOD ’93. p. 207. CiteSeerX doi:10.1145/170035.170072. ISBN 978-0897915922. S2CID 490415.
  70. Urbanowicz, Ryan J.; Moore, Jason H. (2009-09-22). “Learning Classifier Systems: A Complete Introduction, Review, and Roadmap”. Journal of Artificial Evolution and Applications. 2009: 1–25. doi:10.1155/2009/736398. ISSN 1687-6229.
  71. Plotkin G.D. Automatic Methods of Inductive Inference Archived 2017-12-22 at the Wayback Machine, PhD thesis, University of Edinburgh, 1970.
  72. Shapiro, Ehud Y. Inductive inference of theories from facts Archived 2021-08-21 at the Wayback Machine, Research Report 192, Yale University, Department of Computer Science, 1981. Reprinted in J.-L. Lassez, G. Plotkin (Eds.), Computational Logic, The MIT Press, Cambridge, MA, 1991, pp. 199–254.
  73. Shapiro, Ehud Y. (1983). Algorithmic program debugging. Cambridge, Mass: MIT Press. ISBN 0-262-19218-7
  74. Shapiro, Ehud Y. “The model inference system.” Proceedings of the 7th international joint conference on Artificial intelligence-Volume 2. Morgan Kaufmann Publishers Inc., 1981.
  75. Honglak Lee, Roger Grosse, Rajesh Ranganath, Andrew Y. Ng. “Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations Archived 2017-10-18 at the Wayback Machine” Proceedings of the 26th Annual International Conference on Machine Learning, 2009.
  76. Cortes, Corinna; Vapnik, Vladimir N. (1995). “Support-vector networks”. Machine Learning. 20 (3): 273–297. doi:10.1007/BF00994018.
  77. Stevenson, Christopher. “Tutorial: Polynomial Regression in Excel”. Archived from the original on 2 June 2013. Retrieved 22 January 2017.
  78. The documentation for scikit-learn also has similar examples Archived 2022-11-02 at the Wayback Machine.
  79. Goldberg, David E.; Holland, John H. (1988). “Genetic algorithms and machine learning” (PDF). Machine Learning. 3 (2): 95–99. doi:10.1007/bf00113892. S2CID 35506513. Archived (PDF) from the original on 2011-05-16. Retrieved 2019-09-03.
  80. Michie, D.; Spiegelhalter, D. J.; Taylor, C. C. (1994). “Machine Learning, Neural and Statistical Classification”. Ellis Horwood Series in Artificial Intelligence.…..M.
  81. Zhang, Jun; Zhan, Zhi-hui; Lin, Ying; Chen, Ni; Gong, Yue-jiao; Zhong, Jing-hui; Chung, Henry S.H.; Li, Yun; Shi, Yu-hui (2011). “Evolutionary Computation Meets Machine Learning: A Survey”. Computational Intelligence Magazine. 6 (4): 68–75. doi:10.1109/mci.2011.942584. S2CID 6760276.
  82. “Federated Learning: Collaborative Machine Learning without Centralized Training Data”. Google AI Blog. Archived from the original on 2019-06-07. Retrieved 2019-06-08.
  83. Machine learning is included in the CFA Curriculum (discussion is top-down); see: Kathleen DeRose and Christophe Le Lanno (2020). “Machine Learning” Archived 2020-01-13 at the Wayback Machine.
  84. “BelKor Home Page”
  85. “The Netflix Tech Blog: Netflix Recommendations: Beyond the 5 stars (Part 1)”. 2012-04-06. Archived from the original on 31 May 2016. Retrieved 8 August 2015.
  86. Scott Patterson (13 July 2010). “Letting the Machines Decide”. The Wall Street Journal. Archived from the original on 24 June 2018. Retrieved 24 June 2018.
  87. Vinod Khosla (January 10, 2012). “Do We Need Doctors or Algorithms?”. Tech Crunch. Archived from the original on June 18, 2018. Retrieved October 20, 2016.
  88. When A Machine Learning Algorithm Studied Fine Art Paintings, It Saw Things Art Historians Had Never Noticed Archived 2016-06-04 at the Wayback Machine, The Physics at ArXiv blog
  89. Vincent, James (2019-04-10). “The first AI-generated textbook shows what robot writers are actually good at”. The Verge. Archived from the original on 2019-05-05. Retrieved 2019-05-05.
  90. Vaishya, Raju; Javaid, Mohd; Khan, Ibrahim Haleem; Haleem, Abid (July 1, 2020). “Artificial Intelligence (AI) applications for COVID-19 pandemic”. Diabetes & Metabolic Syndrome: Clinical Research & Reviews. 14 (4): 337–339. doi:10.1016/j.dsx.2020.04.012. PMC 7195043. PMID 32305024.
  91. Rezapouraghdam, Hamed; Akhshik, Arash; Ramkissoon, Haywantee (March 10, 2021). “Application of machine learning to predict visitors’ green behavior in marine protected areas: evidence from Cyprus”. Journal of Sustainable Tourism: 1–25. doi:10.1080/09669582.2021.1887878.
  92. Dey, Somdip; Singh, Amit Kumar; Wang, Xiaohang; McDonald-Maier, Klaus (2020-06-15). “User Interaction Aware Reinforcement Learning for Power and Thermal Efficiency of CPU-GPU Mobile MPSoCs”. 2020 Design, Automation Test in Europe Conference Exhibition (DATE): 1728–1733. doi:10.23919/DATE48585.2020.9116294. ISBN 978-3-9819263-4-7. S2CID 219858480. Archived from the original on 2021-12-13. Retrieved 2022-01-20.
  93. Quested, Tony. “Smartphones get smarter with Essex innovation”. Business Weekly. Archived from the original on 2021-06-24. Retrieved 2021-06-17.
  94. Williams, Rhiannon (2020-07-21). “Future smartphones ‘will prolong their own battery life by monitoring owners’ behaviour'”. i. Archived from the original on 2021-06-24. Retrieved 2021-06-17.
  95. “Why Machine Learning Models Often Fail to Learn: QuickTake Q&A”. 2016-11-10. Archived from the original on 2017-03-20. Retrieved 2017-04-10.
  96. “The First Wave of Corporate AI Is Doomed to Fail”. Harvard Business Review. 2017-04-18. Archived from the original on 2018-08-21. Retrieved 2018-08-20.
  97. “Why the A.I. euphoria is doomed to fail”. VentureBeat. 2016-09-18. Archived from the original on 2018-08-19. Retrieved 2018-08-20.
  98. “9 Reasons why your machine learning project will fail”. Archived from the original on 2018-08-21. Retrieved 2018-08-20.
  99. “Why Uber’s self-driving car killed a pedestrian”. The Economist. Archived from the original on 2018-08-21. Retrieved 2018-08-20.
  100. “IBM’s Watson recommended ‘unsafe and incorrect’ cancer treatments – STAT”. STAT. 2018-07-25. Archived from the original on 2018-08-21. Retrieved 2018-08-21.
  101. Hernandez, Daniela; Greenwald, Ted (2018-08-11). “IBM Has a Watson Dilemma”. The Wall Street Journal. ISSN 0099-9660. Archived from the original on 2018-08-21. Retrieved 2018-08-21.
  102. Reddy, Shivani M.; Patel, Sheila; Weyrich, Meghan; Fenton, Joshua; Viswanathan, Meera (2020). “Comparison of a traditional systematic review approach with review-of-reviews and semi-automation as strategies to update the evidence”. Systematic Reviews. 9 (1): 243. doi:10.1186/s13643-020-01450-2. ISSN 2046-4053. PMC 7574591. PMID 33076975.
  103. Garcia, Megan (2016). “Racist in the Machine”. World Policy Journal. 33 (4): 111–117. doi:10.1215/07402775-3813015. ISSN 0740-2775. S2CID 151595343.
  104. Caliskan, Aylin; Bryson, Joanna J.; Narayanan, Arvind (2017-04-14). “Semantics derived automatically from language corpora contain human-like biases”. Science. 356 (6334): 183–186. arXiv:1608.07187. Bibcode:2017Sci…356..183C. doi:10.1126/science.aal4230. ISSN 0036-8075. PMID 28408601. S2CID 23163324.
  105. Wang, Xinan; Dasgupta, Sanjoy (2016), Lee, D. D.; Sugiyama, M.; Luxburg, U. V.; Guyon, I. (eds.), “An algorithm for L1 nearest neighbor search via monotonic embedding” (PDF), Advances in Neural Information Processing Systems 29, Curran Associates, Inc., pp. 983–991, archived (PDF) from the original on 2017-04-07, retrieved 2018-08-20
  106. Julia Angwin; Jeff Larson; Lauren Kirchner; Surya Mattu (2016-05-23). “Machine Bias”. ProPublica. Archived from the original on 2017-11-17. Retrieved 2018-08-20.
  107. Israni, Ellora Thadaney (26 October 2017). “Opinion | When an Algorithm Helps Send You to Prison”. New York Times. Archived from the original on 2018-08-20. Retrieved 2018-08-20.
  108. “Google apologises for racist blunder”. BBC News. 2015-07-01. Archived from the original on 2018-07-11. Retrieved 2018-08-20.
  109. “Google ‘fixed’ its racist algorithm by removing gorillas from its image-labeling tech”. The Verge. Archived from the original on 2018-08-21. Retrieved 2018-08-20.
  110. Crawford, Kate (25 June 2016). “Opinion | Artificial Intelligence’s White Guy Problem”. New York Times. Archived from the original on 2021-01-14. Retrieved 2018-08-20.
  111. Metz, Rachel. “Why Microsoft’s teen chatbot, Tay, said lots of awful things online”. MIT Technology Review. Archived from the original on 2018-11-09. Retrieved 2018-08-20.
  112. Simonite, Tom. “Microsoft says its racist chatbot illustrates how AI isn’t adaptable enough to help most businesses”. MIT Technology Review. Archived from the original on 2018-11-09. Retrieved 2018-08-20.
  113. Hempel, Jessi (2018-11-13). “Fei-Fei Li’s Quest to Make Machines Better for Humanity”. Wired. ISSN 1059-1028. Archived from the original on 2020-12-14. Retrieved 2019-02-17.
  114. Domingos 2015, p. 286.
  115. “Single pixel change fools AI programs”. BBC News. 3 November 2017. Archived from the original on 22 March 2018. Retrieved 12 March 2018.
  116. “AI Has a Hallucination Problem That’s Proving Tough to Fix”. WIRED. 2018. Archived from the original on 12 March 2018. Retrieved 12 March 2018.
  117. “Adversarial Machine Learning – CLTC UC Berkeley Center for Long-Term Cybersecurity”. CLTC. Archived from the original on 2022-05-17. Retrieved 2022-05-25.
  118. “Machine-learning models vulnerable to undetectable backdoors”. The Register. Archived from the original on 13 May 2022. Retrieved 13 May 2022.
  119. “Undetectable Backdoors Plantable In Any Machine-Learning Algorithm”. IEEE Spectrum. 10 May 2022. Archived from the original on 11 May 2022. Retrieved 13 May 2022.
  120. Goldwasser, Shafi; Kim, Michael P.; Vaikuntanathan, Vinod; Zamir, Or (14 April 2022). “Planting Undetectable Backdoors in Machine Learning Models”. arXiv:2204.06974 [cs.LG].
  121. Kohavi, Ron (1995). “A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection” (PDF). International Joint Conference on Artificial Intelligence. Archived (PDF) from the original on 2018-07-12. Retrieved 2023-03-26.
  122. Pontius, Robert Gilmore; Si, Kangping (2014). “The total operating characteristic to measure diagnostic ability for multiple thresholds”. International Journal of Geographical Information Science. 28 (3): 570–583. doi:10.1080/13658816.2013.862623. S2CID 29204880.
  123. Bostrom, Nick (2011). “The Ethics of Artificial Intelligence” (PDF). Archived from the original (PDF) on 4 March 2016. Retrieved 11 April 2016.
  124. Edionwe, Tolulope. “The fight against racist algorithms”. The Outline. Archived from the original on 17 November 2017. Retrieved 17 November 2017.
  125. Jeffries, Adrianne. “Machine learning is racist because the internet is racist”. The Outline. Archived from the original on 17 November 2017. Retrieved 17 November 2017.
  126. Bostrom, Nick; Yudkowsky, Eliezer (2011). “THE ETHICS OF ARTIFICIAL INTELLIGENCE” (PDF). Nick Bostrom. Archived (PDF) from the original on 2015-12-20. Retrieved 2020-11-18.
  127. M.O.R. Prates; P.H.C. Avelar; L.C. Lamb (11 Mar 2019). “Assessing Gender Bias in Machine Translation – A Case Study with Google Translate”. arXiv:1809.02208 [cs.CY].
  128. Narayanan, Arvind (August 24, 2016). “Language necessarily contains human biases, and so will machines trained on language corpora”. Freedom to Tinker. Archived from the original on June 25, 2018. Retrieved November 19, 2016.
  129. Char, Danton S.; Shah, Nigam H.; Magnus, David (2018-03-15). “Implementing Machine Learning in Health Care — Addressing Ethical Challenges”. New England Journal of Medicine. 378 (11): 981–983. doi:10.1056/NEJMp1714229. ISSN 0028-4793. PMC 5962261. PMID 29539284.
  130. Char, D. S.; Shah, N. H.; Magnus, D. (2018). “Implementing Machine Learning in Health Care—Addressing Ethical Challenges”. New England Journal of Medicine. 378 (11): 981–983. doi:10.1056/nejmp1714229. PMC 5962261. PMID 29539284.
  131. Research, AI (23 October 2015). “Deep Neural Networks for Acoustic Modeling in Speech Recognition”. Archived from the original on 1 February 2016. Retrieved 23 October 2015.
  132. “GPUs Continue to Dominate the AI Accelerator Market for Now”. InformationWeek. December 2019. Archived from the original on 10 June 2020. Retrieved 11 June 2020.
  133. Ray, Tiernan (2019). “AI is changing the entire nature of compute”. ZDNet. Archived from the original on 25 May 2020. Retrieved 11 June 2020.
  134. “AI and Compute”. OpenAI. 16 May 2018. Archived from the original on 17 June 2020. Retrieved 11 June 2020.
  135. “Cornell & NTT’s Physical Neural Networks: A “Radical Alternative for Implementing Deep Neural Networks” That Enables Arbitrary Physical Systems Training | Synced”. 27 May 2021. Archived from the original on 27 October 2021. Retrieved 12 October 2021.
  136. “Nano-spaghetti to solve neural network power consumption”. Archived from the original on 2021-10-06. Retrieved 2021-10-12.
  137. Fafoutis, Xenofon; Marchegiani, Letizia; Elsts, Atis; Pope, James; Piechocki, Robert; Craddock, Ian (2018-05-07). “Extending the battery lifetime of wearable sensors with embedded machine learning”. 2018 IEEE 4th World Forum on Internet of Things (WF-IoT): 269–274. doi:10.1109/WF-IoT.2018.8355116. hdl:1983/b8fdb58b-7114-45c6-82e4-4ab239c1327f. ISBN 978-1-4673-9944-9. S2CID 19192912. Archived from the original on 2022-01-18. Retrieved 2022-01-17.
  138. “A Beginner’s Guide To Machine learning For Embedded Systems”. Analytics India Magazine. 2021-06-02. Archived from the original on 2022-01-18. Retrieved 2022-01-17.
  139. Synced (2022-01-12). “Google, Purdue & Harvard U’s Open-Source Framework for TinyML Achieves up to 75x Speedups on FPGAs | Synced”. Archived from the original on 2022-01-18. Retrieved 2022-01-17.
  140. Giri, Davide; Chiu, Kuan-Lin; Di Guglielmo, Giuseppe; Mantovani, Paolo; Carloni, Luca P. (2020-06-15). “ESP4ML: Platform-Based Design of Systems-on-Chip for Embedded Machine Learning”. 2020 Design, Automation Test in Europe Conference Exhibition (DATE): 1049–1054. arXiv:2004.03640. doi:10.23919/DATE48585.2020.9116317. ISBN 978-3-9819263-4-7. S2CID 210928161. Archived from the original on 2022-01-18. Retrieved 2022-01-17.
  141. Louis, Marcia Sahaya; Azad, Zahra; Delshadtehrani, Leila; Gupta, Suyog; Warden, Pete; Reddi, Vijay Janapa; Joshi, Ajay (2019). “Towards Deep Learning using TensorFlow Lite on RISC-V”. Harvard University. Archived from the original on 2022-01-17. Retrieved 2022-01-17.
  142. Ibrahim, Ali; Osta, Mario; Alameh, Mohamad; Saleh, Moustafa; Chible, Hussein; Valle, Maurizio (2019-01-21). “Approximate Computing Methods for Embedded Machine Learning”. 2018 25th IEEE International Conference on Electronics, Circuits and Systems (ICECS): 845–848. doi:10.1109/ICECS.2018.8617877. ISBN 978-1-5386-9562-3. S2CID 58670712. Archived from the original on 2022-01-17. Retrieved 2022-01-17.
  143. “dblp: TensorFlow Eager: A Multi-Stage, Python-Embedded DSL for Machine Learning”. Archived from the original on 2022-01-18. Retrieved 2022-01-17.
  144. Branco, Sérgio; Ferreira, André G.; Cabral, Jorge (2019-11-05). “Machine Learning in Resource-Scarce Embedded Systems, FPGAs, and End-Devices: A Survey”. Electronics. 8 (11): 1289. doi:10.3390/electronics8111289. ISSN 2079-9292