An Introduction to Machine Learning

The term machine learning was first coined in the 1950s when AI pioneer Arthur Samuel built the first self-learning system for playing checkers. He noticed that the more the system played, the better it performed.

Fueled by advances in statistics and computer science, as well as better datasets, machine learning really took off towards the end of the 20th century. Innovators started using it to solve real-world problems, including automated translation, image recognition, and voice search technology.

Today, whether you realize it or not, machine learning is everywhere ‒ recommendations on Amazon, virtual assistants, face recognition apps, search engines, and more.

In this guide, we’ll go through the basics of machine learning, including how it works and how you can use it in your business. We’ll also show you how to get started with machine learning tools, and introduce you to machine learning software that's easy to use.

Read along, skip to a section, or bookmark this post for later:

  1. What Is Machine Learning?
  2. How Machine Learning Works?
  3. Machine Learning Algorithms
  4. Uses of Machine Learning
  5. Machine Learning Examples
  6. Machine Learning Books, & Tutorials in Python
  7. Machine Learning Tools

What Is Machine Learning?

What is ML?

Machine learning (ML) is a branch of artificial intelligence (AI) that enables computers to self-learn and improve over time without being explicitly programmed. In short, machine learning algorithms are able to detect and learn from patterns in data and make their own predictions.

While artificial intelligence and machine learning are often used interchangeably, they are two different concepts. AI is the broader concept – machines making decisions, learning new skills, and solving problems in a similar way to humans – whereas machine learning is a subset of AI that enables intelligent systems to autonomously learn new things from data.

Instead of programming machine learning algorithms to perform tasks, you can feed them examples of labeled data (known as training data), which helps them make calculations, process data, and identify patterns automatically.

Another way to help you understand it: Google’s Chief Decision Scientist describes machine learning as a fancy labeling machine. After teaching machines to label things like apples and pears, by showing them examples of fruit, eventually they will start labeling apples and pears without any help – bearing in mind that we show them correct examples!

Machine Learning Algorithms

We’ve talked a lot about algorithms, so let’s take a look at the different types of machine learning algorithms:

Supervised Learning

Supervised learning algorithms make predictions based on labeled training data. Each training sample includes an input and a desired output. A supervised learning algorithm analyzes this sample data and makes an inference – basically, an educated guess when determining the labels for unseen data.

This is the most common and popular approach to machine learning. It’s “supervised” because these models need to be fed manually tagged sample data so that they can learn from it. For example, if you want to automatically detect spam, you’ll need to feed a machine learning algorithm examples of emails that you’d classify as spam and those that are important.

This brings us to the next point. There are two types of supervised learning tasks: classification and regression.

Classification

In classification tasks, the output value is a category with a finite number of options. For example, with this free online sentiment analysis model, you can classify data as positive, negative, or neutral.

Let’s say you want to analyze support conversations to understand your client’s emotions: are they happy or frustrated after contacting your customer service team? A sentiment analysis classifier can automatically tag responses for you, like in this example, below:

a sentiment analysis model tagging a frustrating customer support experience as “Negative”.

In this example, a sentiment analysis model tags a frustrating customer support experience as “Negative”.

Regression

In regression tasks, the expected result is a continuous number. This model is used to predict quantities, such as the probability an event will happen. Predicting the value of a property in a specific neighborhood, or the spread of COVID19 in a particular region are examples of regression problems.

Unsupervised Learning

Unsupervised learning algorithms uncover insights and relationships in unlabeled data. In this case, models are fed input data but the desired outcomes are unknown, so they have to make inferences based on circumstantial evidence, without any guidance or training.

One of the most common types of unsupervised learning is clustering, which consists of grouping similar data. This method is mostly used for exploratory analysis and can help you detect hidden patterns or trends.

For example, the marketing team of an e-commerce company can use clustering to improve customer segmentation. Given a set of income and spending data, a machine learning model can identify groups of customers with similar behaviors.

Segmentation allows marketers to tailor strategies for each key market. They might offer promotions and discounts for low-income customers that are high spenders on the site, as a way to reward loyalty and improve retention.

Semi-Supervised Learning

In semi-supervised learning, training data is split into two. A small amount of labeled data and a larger set of unlabeled data.

In this case, the model uses labeled data as an input to make inferences about the unlabeled data, providing more accurate results than regular supervised-learning models.

This approach is gaining popularity, especially for tasks involving large datasets such as image classification. Semi-supervised learning doesn’t require a large number of labeled data, so it’s faster to set up, more cost-effective than supervised learning methods, and ideal for businesses that receive huge amounts of data.

Reinforcement Learning

Reinforcement learning (RL) is concerned with how a software agent (or computer program) ought to act in a situation to maximize the reward. In short, reinforced machine learning models attempt to determine the best possible path they should take in a given situation. They do this through trial and error. Since there is no training data, machines learn from their own mistakes and choose the actions that lead to the best solution or maximum reward.

This machine learning method is mostly used in robotics and gaming. Video games demonstrate a clear relationship between actions and results, and can measure success by keeping score. Therefore, they’re a great way to improve reinforcement learning algorithms.

In a nutshell, supervised learning algorithms learn to make predictions from a set of labeled examples (every input has a correct output). Unsupervised and reinforcement learning models, on the other hand, don’t learn from labeled data. The difference between these two learning models is that one predicts outputs based on patterns (unsupervised), while the other uses trial and error (reinforcement).

How Machine Learning Works

How it Works

There are plenty of machine learning algorithms to choose from, each one with their own set of rules, depending on how you want to draw conclusions.

Here are some of the most popular machine learning algorithms:

Support Vector Machines (SVM)

A supervised machine learning algorithm, mostly used to solve classification problems. Given a set of labeled training data, an SVM model maps examples on a plane as data points belonging to x or y categories and creates a hyperplane between them – this acts as a decision boundary. New pieces of data are then tagged based on which side of the hyperplane they land.

For SVM, the best hyperplane is the one that provides the maximum distance between data points in both categories.

SVM

This algorithm is highly accurate and is especially effective when working with small datasets. When dealing with larger sets of data, it can take time to process the results.

Probabilistic

One of the most popular and simple probabilistic algorithms is Naive Bayes. Used for classification tasks, this algorithm applies the Bayes’ Theorem ‒ along with other probabilistic notions ‒ to predict the category of a text. Basically, it calculates the probability of each tag for a given input and chooses the tag with the maximum likelihood.

A simple way to explain this algorithm is to imagine that your variables are weather conditions and your outcomes, traffic incidents. A probabilistic model would determine a low or high rate of traffic incidents based on whether it’s raining, snowing, or warm outside.

Naive Bayes classifier is widely used for tasks such as sentiment analysis, spam detection, and building recommendation systems.

Deep learning (DL)

These are a class of advanced machine learning algorithms, and currently a hot topic of conversation in the data mining sphere. Tech giants, like Google, Microsoft, and Amazon, are already ramping up their research in DL algorithms, so it’s clear that deep learning is here to stay – at least until it evolves into something even more advanced!

It’s based on Artificial Neural Networks (ANN), a type of computer system that tries to emulate the way the human brain works. Deep learning algorithms or neural networks are built with multiple layers of interconnected neurons.

When a model receives input data ‒ which could be image, text, or sound ‒ and is asked to perform a task (for example, classification), the data passes through every layer enabling the model to learn progressively. It’s kind of like a human brain that evolves with age and experience!

This approach is being increasingly used for image recognition, speech recognition, and Natural Language Processing. Deep learning models usually perform better than other machine learning algorithms for complex problems and massive sets of data. However, they require a large amount of training data.

Machine Learning Process

In traditional programming, someone writes a series of instructions so that a computer can transform input data into a desired output. Instructions are mostly based on an IF-THEN structure: when certain conditions are met, the program executes a specific action.

Machine learning, on the other hand, is an automated process that enables machines to solve problems and take actions based on past observations.

Basically, the machine learning process includes these stages:

  1. Feed a machine learning algorithm examples of input data and a series of expected tags for that input.

  2. The input data is transformed into text vectors, an array of numbers that represent different data features.

  3. Algorithms learn to associate feature vectors with tags based on manually tagged samples, and automatically makes predictions when processing unseen data.

Say you want to analyze a collection of tweets for brand sentiment. First, you’ll need to feed an algorithm tagged examples of positive, negative, and neutral tweets. Then, once your model is confident it can understand and process your texts, it will be able to accurately analyze Twitter data in real-time without any further human input.

a sentiment analysis classifier analyzes tweets mentioning Zendesk.

Uses of Machine Learning

Applications

Businesses from finance to healthcare are turning to machine learning to gain insights from unstructured data and automate their processes.

In fact, many applications, tools, and services that we use today wouldn't be able to work without machine learning. UberEats, for example, uses machine learning to estimate optimum times for drivers to pick up food orders, while Spotify leverages machine learning to offer personalized content.

More and more companies are adopting machine learning to optimize internal processes in areas like customer service, marketing, and sales. By automating data analysis, machine learning helps businesses gain valuable insights in a fast and effective way. They can quickly discover:

  • The main topics that customers are mentioning in product reviews
  • If tweets are talking about brands in a positive or negative way
  • The identity of a person in a picture
  • How likely a customer is to churn

Customer service teams might use machine learning to analyze NPS surveys and easily identify what’s driving customer satisfaction – and what’s leading to frustrating experiences.

Then, they can use those insights to improve their support strategy. Are customers with urgent issues waiting too long to get a response from customer support? If so, you’ll need a better routing system to prioritize urgent queries.

Try out this free online NPS Feedback Analyzer to see how machine learning could help sort your survey responses.

Machine learning also allows companies to speed up repetitive processes and save hours of manual work, making teams more efficient and allowing agents to focus on more complex tasks.

Oversall advantages of ML for businesses include:

  • It’s cost-effective and scalable. You only need to train a model once, and you can scale up or down depending on low or peak seasons. For example, if you see a surge in data, you don’t need to hire more staff. A chatbot or text analysis model can handle thousands of support requests in minutes.
  • Accuracy. Machine learning models are trained with a certain amount of labeled data and will use it to make predictions on unseen data. Based on this data, machines define a set of rules that they apply to all datasets, helping them provide consistent and accurate results.
  • Works in real-time, 24/7. Machine learning models can automatically analyze data in real-time, allowing you to immediately detect negative opinions or urgent tickets and take action.

Machine Learning Examples

Text Analysis

The vast majority of data that businesses receive is unstructured and challenging to process.

Thanks to text analysis with machine learning, though, companies can easily gain insights from unstructured data to make better decisions. Text analysis can be used to extract relevant pieces of information from data and classify text by topic, language, sentiment, etc.

In fact, AI-powered tools such as chatbots and virtual assistants rely on text analysis techniques to understand customers’ emotions in support conversations, make sense of customer queries, and find relevant information to provide a correct answer.

There are two types of text analysis techniques: classification and extraction.

Text Classification

Text classification automatically assigns tags to data, based on its content. Let’s say you work at a SaaS company and you want to find out which aspects of your business were mentioned most often by your customers in your last NPS survey.

You can train a topic classifier with machine learning to auto-tag open-ended NPS responses using predefined categories like Ease of Use, UX/UI, Price, Integrations, and more.

This classification task is called topic analysis and is a great way to automate routine tasks such as tagging and routing incoming support tickets.

Here’s an example of how it works:

a text classification model automatically detecting topics in NPS responses.

Sentiment analysis is another text classification task which consists of tagging opinions as positive, negative, or neutral. By identifying and classifying emotions in text, companies can understand how customers feel about their brand, adapt their products to their expectations, and improve overall customer experience.

Using sentiment analysis to monitor mentions of your brand on social media can help you identify a potential PR crisis by detecting mentions from angry customers in real-time. In customer service, sentiment analysis allows you to identify support tickets from frustrated customers and move them to the top of the queue, as well as analyzing support interactions and gauge customer satisfaction.

Finally, you can combine sentiment analysis with topic classification (a task known as aspect-based sentiment analysis), to discover how customers feel about specific aspects of your business.

Keyword Extraction

Companies can use keyword extraction to automatically extract important words and phrases from all sorts of text, like product reviews, emails, customer support interactions, survey responses, and more. This can help them get a quick overview of their content, and extract valuable information, saving employees time otherwise spent on manually going through each piece of data.

With keyword extraction, you can answer questions like: “what words or expressions are customers using to talk about my product/brand in online reviews?”. And, if combined with other text analysis techniques such as sentiment analysis, you can get deeper insights like “which words are your clients using when they express a negative opinion about your customer service?”.

For example, Promoter.io used keyword extraction to analyze NPS responses and easily identify which topics were driving customer sentiment. Here’s their keyword analysis that details how customers feel about different aspects of the company:

Retently

Besides relevant keywords, businesses can also use machine learning to extract entities from text, such as names, locations, values, and email addresses, among many other things. Let’s say that you work for an online retail company, and you need to sift through thousands of product descriptions and upload the relevant data into a CMS. With an entity extractor, you could easily pull out the most relevant information, like material, color, size, etc.,saving your team precious hours.

Data Mining

Data mining consists of finding patterns in large datasets. With machine learning, it is possible to teach computers to easily detect trends and patterns in data and use it to make all kinds of predictions. The main data mining techniques include:

Anomaly Detection

Also called outlier detection, this is the process of identifying rare events or unwanted behavior. It is used for fraud and intrusion detection in cybersecurity, medical diagnosis, and detecting weather anomalies.

Global bank Citi Group, for example, has implemented a machine learning solution to detect outlier payments in credit cards. The solution analyzes payment patterns from users, proactively identifies ‘outliers’ – such as payments to other regions – and asks clients to confirm or reject those payments.

Association Rule-Learning

Association rule-learning looks for relationships between variables in large datasets. For example, it analyzes purchasing habits at the supermarket or e-commerce sites and finds common associations in transactions (products that consumers usually buy together). This data is then used for product placement strategies.

Associated rules can also be useful to plan a marketing campaign, analyze web usage, and recommend similar products.

Clustering

Clustering is a data mining technique that consists of grouping similar entities together based on underlying patterns. Recent studies show that clustering algorithms can help detect fake news and mitigate the risks of consuming false information.

How? Given a collection of news articles, the algorithm identifies different groups of news sharing similar content, called topic clusters. When a piece of news can not be identified as a part of any existing topic cluster, it is considered as a piece of potentially fake news.

Predictions

As the name suggests, predictions are able to predict a variable based on historical data patterns.

The applications for this are endless: GPS navigation services, for example, use machine learning to predict areas with high traffic at different times of the day based on daily observations. In finance, predictive models can be used to calculate credit scoring by observing consumer behavior. And in healthcare, predictive analytics can help hospitals anticipate deteriorating health in patients even before they start showing symptoms.

Image Recognition

Image recognition is the process of using computers to identify and classify images. By training models with machine learning, they can tag images accordingly based on examples.

These are the main applications of image recognition:

Facial Recognition

When Facebook recognizes you and your friends in pictures, that’s facial recognition technology doing its magic. Initially intended for security purposes, facial recognition is already being used in many other areas, from unlocking phones to making payments. Other biometric authentication systems include fingerprint and iris recognition.

Optical Character Recognition

In optical character recognition (OCR), algorithms learn to convert handwritten or printed text into a digital version. This makes it possible to extract relevant information in fields that handle large volumes of non-digital-data like finance, law, and government.

Self-driving cars

Autonomous cars use machine learning (especially image recognition technology) to perceive space and obstacles. For example, they can learn to recognize stop signs and identify intersections (and make decisions based on what they see).

Video Games and Robotics

Machine learning techniques allow virtual or real agents to interact with the environment and perform specific tasks. Reinforcement learning has led to many significant milestones in the gaming field, like training AI gamers to beat human players. As for robotics, the latest developments include robots learning to perform house chores!

Machine learning is driving innovation in many fields and we are seeing interesting use cases emerge. Text analysis tools are helping businesses automate daily tasks and get smarter insights that lead to better decision-making. Data mining is proving its value for tasks like medical diagnosis, fraud detection, customer segmentation, and more, not to mention the potential of predictive models to anticipate future outcomes.

Finally, ML is driving major improvements in image recognition technology (such as facial recognition payment and self-driving cars), video gaming and robotics.

Machine Learning Books, & Tutorials in Python

Resources

If you want to delve deeper into machine learning and apply it to your business, here are some useful resources that can help get you started:

Top Books for Machine Learning

Top Machine Learning Tutorials in Python

MonkeyLearn

A machine learning SaaS platform that provides APIs in various languages. Text mining with MonkeyLearn’s Python API is easy. There’s not a lot of code involved, and you can set it up in just a few minutes. Check out this text mining tutorial in Python or go to Monkeylearn's API tab and follow instructions on how to integrate machine learning models.

Kaggle

Launched over a decade ago (and acquired by Google in 2017), Kaggle has a learning-by-doing philosophy, and it’s renowned for its competitions in which participants create models to solve real problems. Check out this online machine learning course in Python, which will have you building your first model in next to no time.

TensorFlow

An open-source Python library developed by Google, with tons of resources, tutorials, and tools to help you hone your machine learning skills. Suitable for both beginners and experts, this user-friendly platform has all you need to build and train machine learning models, including a library of pre-trained models). Tensorflow is primarily focused on deep learning models and it’s perfect for complex projects with large-scale data.

Algorithmia

Boasting a collection of over 6,000 algorithms for machine learning, text analysis, computer vision, and deep learning, you can explore the array of AI applications, mostly available in Python 2 and 3. The website boasts good documentation and tutorials that help you install an algorithm or upload one to the library. Also, Algorithmia offers a cloud solution for companies that need an infrastructure to manage and scale their machine learning models.

Top Machine Learning Courses

Doing an online course is a great way to gain further machine learning knowledge. Here are some options, depending on your goals and level:

Andrew Ng's (Stanford University) machine learning course in Coursera: the most popular course for beginners, highly recommended by those who have completed it. Led by former Google Brain researcher, Stanford professor, and Coursera co-founder Andrew Ng, this course offers a systematic approach to machine learning, examples of real use cases, and practical guidelines on how to put algorithms to work.

John W. Paisley (Columbia University) machine learning course in edX: an in-depth theoretical approach to machine learning, with a strong focus on the math behind the algorithms rather than on practical applications of ML. The program covers supervised and unsupervised learning, probabilistic and non-probabilistic methods. This 12-week course is intended for advanced learners who are familiar with calculus, linear algebra, probability, statistics, and coding.

Machine Learning Crash Course: a practical introduction to the fundamentals of machine learning, designed by Google. This course includes video lessons, case studies, and exercises so that you can put what you’ve learnt to practice and create your own machine learning models in TensorFlow. No prior knowledge in machine learning is required, but you do need to have basic coding skills and experience in Python.

Machine Learning Tools

How to Get Started

Basically, there are two different paths you can follow to create a machine learning model:

  • Using a SaaS tool
  • Using an open source library

SaaS Machine Learning Tool

SaaS tools can make your venture into machine learning really simple. If you have limited resources, or you don’t want to invest too much effort and time developing a complex infrastructure, SaaS tools are ideal.

There is next to no setup, and these tools allow you to build powerful machine learning models that you can easily connect to your favorite apps through an API or integrations. Yes, even without previous machine learning experience!

Monkeylearn, for example, is an easy-to-use platform that allows you to create machine learning models to perform text analysis tasks such as topic classification, sentiment analysis, keyword extraction, and more.

How can you get started with MonkeyLearn? Try one of these pre-traoned models:

Top Open Source Libraries

Open source machine learning libraries offer collections of pre-made models and components that developers can use to build their own applications, instead of having to code from scratch. They are free, flexible, and can be customized to meet specific needs.

Another perk of open source libraries is that they’re regularly updated by contributors, and have an active community, so help is always at hand. However, you’ll need both programming and (at least) basic machine learning skills.

Some of the most popular open-source libraries for machine learning include:

Scikit-learn

A popular Python library and a great option for those who are just starting out with machine learning. Why? It’s easy to use, robust, and very well documented. You can use this library for tasks such as classification, clustering, and regression, among others.

PyTorch

A library written in Python, based on the Torch library, with a focus on deep learning. It’s known for its flexibility and speed, so it’s ideal if you need a quick solution. Plus, this library has a large community that actively shares resources and useful tutorials to walk you through your first steps.

TensorFlow

One of the top Python libraries for deep learning models. It was developed by Google for internal use and then released under an open license. Now it’s available for a wide range of programming languages (Python, Java, and C++, among others).

More powerful than other libraries, TensorFlow is perfect for complex projects, though it may take time and skills to master it. Here’s the official tutorial to get started.

Final Words

Machine learning is everywhere. How do you think Netflix creates personalized movie recommendations, and Google Maps predicts peaks in traffic at certain times of the day? Like Google and Netflix, most companies are using machine learning to process data and enable smarter decisions.

The ability of machines to find patterns in complex data is also shaping the present and future. Take machine learning initiatives during the COVID-19 outbreak, for instance. AI tools have helped predict how the virus will spread over time, and shaped how we control it. It’s also helped diagnose patients by analyzing lung CTs and detecting fevers using facial recognition, and identified patients at a higher risk of developing serious respiratory disease.

Elsewhere, advances in reinforcement learning are paving the way for technology that was once just a pipe dream for science fiction writers – driverless vehicles, for example.

For companies in general, machine learning is helping to improve and automate internal processes, such as ticket tagging or lead qualification. It’s also empowering decision-making, by helping businesses understand their unstructured data and transforming it into insights.

Machine learning is a complex technology, but there are many resources available to help you get started. SaaS tools, for instance, are making machine learning accessible to everyone, with ready-to-use solutions that require little expert knowledge.

With MonkeyLearn’s low-code, no code solution, you can build machine learning models for tasks like topic classification, sentiment analysis, entity extraction, and more – and easily connect them to your favorite apps.

Ready to take your first steps? Sign up for free and start creating value from your data.

Learn all about Machine Learning!

Automate business processes and save hours of manual data processing.