SYONE - Open Source Lisbon Blog

Machine Learning: they come in peace!

Written by Vitor Calil Silva | 20/12/19 14:53

Hello! Before we get to the Machine Learning topic, we need to talk a bit about Artificial Intelligence.

Why?

AI is the top layer of this whole process, while Machine Learning is a subset of it, and Deep Learning is a subset of ML (we are going to cover Deep Learning in another blog post soon, don’t worry).

If you use Netflix, Spotify or order a pizza to Alexa, you’re interacting with Artificial Intelligence more than you know. And that’s when it gets interesting, when it becomes a regular thing in our daily basis, and we don’t realize it.

Cool!

With that said, let’s go to the Wikipedia definition: AI is intelligence demonstrated by machines, in contrast to the natural intelligence displayed by humans. The term artificial intelligence is often used to describe machines (or computers) that mimic cognitive functions that humans associate with the human mind, such as learning and problem solving.

In other words, AI is a broad area of computer science that makes machine seems like that they have human intelligence.

If you saw the Interstellar movie you probably remember the robot that joins the crew on the space mission (not going to give any spoilers here). If you didn’t, add a reminder to your agenda.

So, the robot, TARS, is a very good example of how AI works and how it can be extremely helpful to humans.

Oh, and another good one too is the Prometheus movie. If you didn’t see any of those, it’s time for an update on your sci-fi collection (and shame on you 😤).

In these 2 examples, the AI/robot interacts with humans like they were one of us with powerful insights and information.

So, why are Artificial Intelligence and Machine Learning a big thing?

Well, that’s easy. Every day we generate a huge amount of data. And now we’re able to store and process it to make something useful, like understanding behaviours, consumptions, the weather, forecasts, etc.

It’s all about data!

By inputting your data into a dataset, you can get a lot of important outputs and useful information for your business, clients, users. Like recommendations, high and low production seasons, etc.

Think about how Waze helps you prevent getting into traffic jam with alternative routes. That’s AI working on your behalf with the information from thousands of users on the network.


And now that we went through the AI layer, let’s get to the ML one.

What is Machine Learning?

Again, let’s go to the Wikipedia definition: Machine Learning is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead.

It is a method of training algorithms in such way that they can learn how to make decisions.

Like a human, a machine can storage information and become smarter over time. But different from us, a machine does not have problems like short term memory loss, information overload, distractions, etc.

And how do machines learn?

It’s basically the same way as humans, by experiencing something, like a trial and error mindset, or learning through a huge amount of data about a certain subject.

That’s how IBM Watson works, it can diagnose cancer or compose classical symphonies with the big data that it was inputted in it.

This is the way machines can learn and help humans on their tasks.

An important note: more data, better model, higher accuracy!

 

Most common Machine Learning algorithms

The most known ML types are:

Supervised Machine Learning Algorithms

Supervised learning is the one that you input variables (labeled data) and get an output variable.

You need to use an algorithm to learn the mapping function from the input to the output. This category is a supervised learning because the process of an algorithm learning from the training dataset can be thought of as a teacher teaching his students.

The algorithm continuously predicts the result on the basis of training data and is continuously analysed and corrected by the teacher. The learning continues until the algorithm achieves an acceptable level of performance.

Good for: fraud detection, image classification, diagnostics, forecasting, predictions, process optimization, etc.

Unsupervised Machine Learning Algorithms

Unsupervised learning is where you only input data (unlabeled data) and get no corresponding output variables.

The goal for unsupervised learning is to model the underlying structure or distribution in the data in order to learn more about the data.

This category of machine learning is known as unsupervised because unlike supervised learning, there is no teacher. Algorithms are left on their own to discover and return with the insights.

Good for: big data visualization, customer segmentation, targeted marketing, structure discovery, etc.

Reinforcement Machine Learning Algorithms

A reinforcement learning algorithm, or agent, learns by interacting with its environment.

The agent receives rewards by performing correctly and penalties for performing incorrectly. The agent learns without intervention from a human by maximising its reward and minimising its penalty. It is a type of dynamic programming that trains algorithms using a system of reward and punishment.

It is basically leveraging the rewards obtained, the agent improves its environment knowledge to select the next action.

Goof for: real-time decisions, game AI, robot navigation, learning tasks, etc.

How can we benefit from ML?

Forget about the idea of the revenge of the robots and about them vanishing the human race from the entire planet. AI and ML are here to help us on solving problems, accomplishing more in less time, taking on repetitive tasks, etc. This way we can focus on more important things, like human relations.

Some Machine Learning examples:

• The self-driving Google car;
• Online recommendation offers such as those from Amazon and Netflix;
• Knowing what customers are saying about you on Twitter (machine learning combined with linguistic rule creation);
• Fraud detection, one of the most common uses in our world today.

And how can companies benefit from Machine Learning?

Most of the big companies already realized how important machine learning is. Therefore, they are able to improve their services and products, in real time, and make better decisions due to their consumers information.

Let’s check some examples!

  • Financial services: identify important insights for investments and prevent fraud.
  • Government: identify ways to increase efficiency and save money, detect fraud and minimize identity theft.
  • Health care: help medical experts to identify trends or red flags that may lead to improved diagnoses and treatments.
  • Retail: websites recommending items you might like based on previous purchases and personalized shopping experience. Also, price optimizations, supply planning and, of course, customers behavior.
  • Oil and gas: finding new energy sources, analyzing minerals in the ground, predicting refinery sensor failure.
  • Transportation: identify patterns and trends to make more efficient routes and predicting potential problems to increase profitability.

You see that these examples are not that complex, right? That’s because some of them are already common to us.

Before we get to the end, there is one more thing I want to share with you.

Azure Machine Learning and Azure Data Bricks: tools for you to try

After all we went through on this post, now it’s time to share some tips for you and your team to turn ML into reality.

First, let’s talk about the Azure Machine Learning!

There is a difference between Azure Machine Learning and Azure Machine Learning Studio. Azure Machine Learning has Azure ML Studio functionality. However, they are not the same.

Azure Machine Learning Studio is a drag-and-drop visual workspace that is user-friendly and doesn't require any programming. It's ideal for learning data science and for small machine learning projects.

Azure Machine Learning service provides callable services to scale, monitor, and deploy machine learning models. It's meant to augment and extend the data science pipeline with integrated Azure services. The Azure Machine Learning service SDK lets you write code that uses these prebuilt services and integrate them into your data science workflow.

With it, you can build intelligent algorithms into applications and workflows, then wrap their model as a web service in a docker container and deploy to any container orchestrator they wish.

This service was created to be a more democratic and easier product, due to the efforts of Microsoft to turn ML into a more inclusive technology.

On the other hand, the Azure Databricks is more complex and has more features. It is an optimized Apache Spark Platform for heavy analytics workloads. It was designed with the founders of Apache Spark, allowing a natural integration with Azure services. Also, it contains many popular libraries, including TensorFlow, PyTorch, Keras, and XGBoost.

Databricks makes the setup of Spark as easy as a few clicks, allowing you to streamline development and it provides an interactive workspace for collaboration between data scientists, data engineers, and business analysts.

With it, developers can enable their business with familiar tools and a distributed processing platform to unlock their data’s secrets.

Now that you know all about the benefits and tools, check out this case study and learn how the Linas Matkasse Group, the leading meal kit provider in the Nordics, reduced food waste and lowered operational costs with Machine Learning:

 

So, ready to try a Machine Learning model with your own data?

If you have any questions or would like to discuss more details, please get in touch: vitor.silva@syone.com.

Hope you enjoyed the article!

Cheers ;)