Should I Use Machine Learning? A 2020 Starter Guide

Should I Use Machine Learning? A 2020 Starter Guide
Yitzhak Matias

In hopes of hastening the pandemic research process, scientists are using natural language processing (NLP) technologies to help them sort through the wealth of scholarly papers about COVID-19. Meanwhile, face recognition apps can make matches with 98% accuracy, the same as humans. And, research led by MIT scientists and clinicians at Stanford University shows that digital scans of biopsy slides can be stained computationally using deep learning algorithms.

I could go on, but I think my point is clear — artificial intelligence (AI) is knocking technology out of the park, especially regarding machine learning (ML). Yet, a lot of confusion still surrounds these subjects, and here I will answer some of the most popular questions: 

  • What can machine learning really do and what are its limitations? 
  • What are the current practical applications for machine learning? 
  • What are the most popular tools and programming languages for its development? 

Let’s start with the first question.

Demystifying machine learning

AI is a branch of computer science that deals with building systems to show “intelligence.” This word makes people think about machines understanding abstract tasks that any human being can comprehend. However, that meaning is actually called artificial general intelligence, and it’s still hypothetical. The term AI commonly defines a more narrow, but very exciting, set of capabilities.

ML is a subset of AI that aims to teach computers to automatically learn from examples (that is, data) and execute tasks without being explicitly programmed to do so. The goal is for systems created with ML to improve over time and become more efficient — just as a human would do through experience. 

As an example, let’s say you wanted your computer to know the price of a common medication — in this case, opioids — without your help. The first thing you would do is to provide it with the factors involved, such as the value of the medication and the value of insurance delivery.

Now, instead of spending hours coding how the program should act if the opioid is OxyContin, Oxycodone, or any of the billions of other opioids, and then adding the insurance value for each, which would take forever, you would provide it with samples of other medications and their prices.

It’s now up to the program to fiddle with the factor’s values and figure a combination that can produce the right results. With a lot of trial and error, the algorithm or formula would learn to accurately make predictions and deliver information about other pills without receiving additional data.

The computer doesn’t understand the concepts, it doesn’t understand why the results are what they are. And, honestly, most of the time, neither do you! That’s the hard truth about ML. You don’t develop an abstract brain, you develop a functional, automated program that can use patterns to provide you the results you need without telling it what to do every single time. Disappointing? Maybe. Efficient? Absolutely.

Trending application fields (and their techniques)

Let’s take a look at some of the fields within ML and the amazing results they can produce. 

Natural language processing and healthcare

There are about 69,000 scholarly papers related to COVID-19, and the number is growing daily. Every scientist toiling for a cure or vaccine needs to understand the information in these papers to avoid errors and duplications. Yet, reading all of them would take years. Natural language processing (NLP) ML apps such as COVIDScholar could help them get immediate summaries. But, how?

NLP is a field within ML that focuses on creating programs that can read, analyze, and summarize human communication. Whether it’s written or spoken, these programs aim to ease the way we interact with computers and help us process raw forms of data faster. This field uses a broad catalog of algorithms, each one with its own purpose, to achieve its goals. We’ll learn more about them using the COVID-19 research as an example.

So, how can apps based on NLP extract value from the COVID-19 papers? They use a strategy known as “ensembling,” which means using more than one type of learning algorithm to create a highly refined data analysis process. Coronavirus research applications work with at least three different types of algorithms, one for each stage of the process. 

First, “clustering” algorithms examine all the data and classify it as objects which then group using a set of categories. For example, within the category “mutations,” the app gathers papers that contain keywords such as “adaptation,” “e-genes,” and “proteins.”.

Then, “classification” algorithms analyze the data to identify which pieces are crucial, and which aren’t. Despite the formality of scientific research, not every word is essential for the reader. A document may contain a phrase like, “Despite my years of experience, I’m deeply impressed with the adaptability of this new virus.” The job of this algorithm is to summarize, “COVID-19 adapts remarkably quickly.” These algorithms are very important for creating easy-to-read answers to important questions. 

Finally, “regression” algorithms create the results scientists are craving. That is, they deliver real values and predictions based on the data, such as estimated COVID-19 contagion rates, risk factors (including asthma or weak immunity) in young people , the effectiveness of medications for treating symptoms, mutation speed, etc. Saying this information is valuable is a great understatement.

Sentiment analysis for social media and product management

Have you noticed how YouTube, Amazon, and Netflix are improving their recommendations so quickly that you feel they’re spying on you? That’s the magic of sentiment analysis. 

Sentiment analysis deals directly with how customers interact with products and share opinions about them. It can also be used to  explore reactions from users. The system uses unsupervised machine learning on top of the basic recognition procedure to classify engagement. 

So, product reviews called “expressions” are classified as positive, negative, or neutral. For example, the statement, “I love this blender! I use it for everything,” is positive. “I’m uncertain about how good of a deal this blender is,” is neutral and, “This blender is garbage,” is negative.

Thus, businesses can analyze the reactions of their customers and act accordingly. However, automatically identifying the emotions behind reviews becomes twice as hard when we try to apply it to social media. For example, a tweet may say:

“I love this lasagna so much that I gifted it to my dog! #thanksfornothing”

A human can easily see this is sarcasm but how could a machine know that? Advanced sentiment analysis uses categories like subject, the opinion holder, hashtags, and even responses to those posts. Additionally, data scientists usually reinforce the program with the right answers to help it identify metaphors and sarcasm more quickly. The process of using examples to help the machine to learn is called supervised learning. It’s similar to a teacher who shows students the right solutions to some math problems, so they will recognize the pattern of how a correct answer is arrived at. It’s up to the students to keep practicing so when they’re presented with new problems, they’re able to solve them in the same manner.

Computer vision and classifying raw data

Computer vision algorithms describe raw image content by matching its characteristics with those of available samples. The image is broken down into key features that are used as reference points. Thus, a program can recognize a face because its characteristics match with sample photos used to train it.

So, Facebook’s uncanny ability to recognize you in the blurriest of your friends’ photos is the result of high-end computer vision. In addition to facial recognition, it can be used for handwriting or  fingerprint recognition, optical character recognition, and visual search.

Top 10 latest and most creative apps based on machine learning

ML isn’t just a futuristic technology that might someday be useful to humans. It’s already operating in numerous applications, including those listed here. 

Migraine Buddy: If you’ve ever had migraine, you know that the toughest part of finding relief is detecting the triggers. Of all the food we eat and the activities we partake in, which ones should we avoid? Migraine Buddy helps you record your migraines as they occur and uses machine learning to track your potential triggers. Not only that, this app also forecasts the possibility of a migraine based on your previous history and triggers. It even generates detailed reports that allow doctors to understand whether your prescribed medication is working or not!

Snapchat: If you’ve never used a dog filter on Snapchat, feel free to tag me and my team using @beontechstudio and prove us wrong. These famous filters are only possible with machine learning and facial recognition. The Snapchat algorithm has been trained with thousands of faces, finding the common reference points like mouth, eyes, cheeks, etc. to understand where to attach all the extra features like the red lipstick, dog face, or straw hat on your face!

Replika: Today people are feeling lonelier than ever. If work overload and social media addiction were already creating struggles, social distancing and isolation are leaving people helpless against feelings of isolation. There are numerous reasons why not talking to anyone during long periods can be dangerous, one of which is being unable to see the positive side of things when you find yourself stuck in dark thoughts. Replika is a state-of-the-art chatbot that can prevent worse scenarios by serving as a friend ready to help whenever you need it. It uses high-end natural language processing to learn from how humans communicate and responds as a person would. 

Sea Hero Quest: Have you imagined how it would feel to actually save people as the hero of a video game? Sea Hero Quest lets you do just that! At the same time, it helps scientists research dementia. . The earliest symptom of dementia is the loss of spatial navigation skills, so the game gathers data on the spatial-navigation capabilities of the players. As you play the game,  your information and scores are anonymously used by scientists to create the world’s leading benchmark for human spatial navigation. By playing it, you become the virtual and the real-life hero of the story.

Oval Money: This app works as a personal assistant that helps you manage your money in original, yet practical ways. It uses machine learning to analyze thousands of spending habits and collective financial knowledge from around the world to create a custom strategy for you.

ImprompDo: You know that friend who always knows what to do to have fun? This app performs a similar function by using machine learning to analyze your personal preferences, budget, free time, means of transportation, etc. Then, it determines what activity would be best and suggests it. It can even be used in groups, accommodating all members’ needs, and making suggestions that satisfy everyone. It can also create an alternative plan in case of unexpected changes.

Aipoly Vision: This app aims to be the eyes of the blind, using image recognition to identify a vast number of objects, all in real time and without using the internet. It can recognize plants and animals, read text in multiple languages, recognize money in USD, and tell over 1,400 colors apart! Although it still has limitations, sooner than later it will be the perfect assistant for blind people in need of guidance.

Dango: Sometimes it’s the little things in life that matter the most. Dango’s purpose is to suggest the right GIFs and emojis to add in your texts, and it does its job incredibly well. So, when you text “Let’s have pizza!” It suggests a pizza emoji.

Prisma: Art filters are quite popular because they can turn any picture into a piece of art! Prisma is one of the most proficient at this. It uses deep learning algorithms to process your images in their own servers instead of in your local app. They may take a little extra time to make, but the quality is worth the wait.

LeafSnap: This machine learning app can identify any tree or plant species just by looking at pictures of their leaves. This process is enabled thanks to visual recognition, as the algorithm was trained to identify individual leaves with an initial sample of 1,000 photos. It was developed by Columbia University, the University of Maryland, and the Smithsonian Institution and, although it’s not flawless yet, it’s evolving day by day.

There’s no doubt that machine learning is changing the way we interact with the world. The apps we’ve mentioned so far are discussed in the GeeksforGeeks top 10, but they’re only the tip of the iceberg. Many more are helping us with big and small tasks, such as Mathway, Deep Art Effects, and the ever popular FaceApp.

Popular tools for machine learning development in 2020

Many tools are available to help you develop your own machine Learning application. Below, I’ve named some of the most popular. If you think I missed an important one, leave a comment! I love learning more about this subject.

Scikit-Learn This application is a machine learning python framework that allows you to work with regression, classification, clustering, dimensionality reduction, model selection, and preprocessing algorithms. It was created by David Cournapeau in 2007, and it’s now led by researchers at the French Institute for Research in Computer Science and Automation. One famous brand that uses Scikit-Learn is Spotify. It’s helped them create a state-of-the-art recommendation system and they strongly recommend it.

TensorFlow TensorFlow is an open-source platform designed to support machine learning applications. It has a vast catalog of tools, libraries, and community resources that lets researchers stay at the cutting edge of their area. This tool is making incredible changes in the healthcare field. Today, it’s used to create apps that track respiratory diseases with methods like NLP, and even help doctors prescribe the right antibiotics. TensorFlow also has the most advanced library for numeric distribution calculation. It allows you to train and execute vast neural networks efficiently by distributing calculations in hundreds of multi-GPU servers. 

Keras This tool is a high-level “deep learning” API. Its purpose is to have a comprehensible wireframe for developers to create their deep learning applications without extra effort. Its good practices make training and executing neural networks simple. You can use it on TensorFlow, Theano, or Microsoft Cognitive (previously known as CNTK). Keras has been used, for example, to detect brand logos within pictures and transcribe text from paper to digital documents. 

Cloud ML Engine As one of the best deep learning frameworks for beginners, this tool helps developers and data scientists with forecasting in various fields and domains. One distinctive feature is that it treats training and predictions independently. It can also be used to deploy a model that’s trained in external environments. A great achievement for its developers was  when the Google Cloud Platform allowed the American Cancer Society to perform image analysis on the platform for epidemiologic breast cancer studies, which represents a huge step forward in healthcare science.

Shogun The Shogun Toolbox is dedicated to making machine learning tools available to everyone for free. It provides an efficient implementation of all standard algorithms. It’s an open-source framework compatible with C++. Developers can use it to design algorithms and data structures, mainly for education and research. It’s been used by companies like Lattice Engines to create marketing and sales applications that predict who will buy, as well as what they’re they likely to purchase and when.

Should you use Machine learning in your next project?

There is no end to the things you can do with machine learning, but finding the right professionals for your project while trying to meet deadlines can be challenging. Here at BEON, I’ve worked with outstandingly talented machine learning developers as they’ve crafted cutting-edge engines for large and small companies in record time. So, if you want efficient and affordable help with a machine learning project, drop us a line. We’ll be happy to meet you!