• mobile_menu_1_icon


    • Certifications

    • Programs

  • mobile_menu_2_icon


  • mobile_menu_3_icon


  • mobile_menu_4_icon


Mobile Header Background

Top Algorithms every ML Engineer needs to know

By John White Last Updated on Jun 15, 2021


Artificial intelligence sometimes seems like a magic bullet, a one-size-fits-all solution. In actuality, machine learning algorithms are more like a toolbox. One might be fine-tuned for speech recognition. Another works for self-driving car perception, and a third creates stylized art. So which algorithms fit well for each task? Below are limited types of machine learning algorithms which every machine learning engineer must know.

Image Processing – Convolutional Neural Networks

CNN’s are the workhorse of object recognition. They are collected from several layers of abstraction. For example, the first layer of CNN acts as a modest edge detector. It captures vertical lines, horizontal lines, diagonal lines, and numerous colors.

image processing

These simple features are then composed together to create complex shapes, such as the triangular ear of a cat. Google Street View, for example, automatically identifies house numbers from images. The asset of CNNs is translation invariance, which means it doesn’t matter where an object is situated in the image. A cat in the top left corner is the same as a cat in the top right corner. Yet CNN’s are not alternation invariant; they will struggle to classify an upside-down cat. We handle this via random variations, which means that training set images are sometimes flipped 30, 90, or 180 degrees. With data augmentation, CNNs now categorize animal species better than humans can!

Suggested Read: Top artificial intelligence technologies

Sequential Data – Recurrent Neural Networks

RNNs work well at speech recognition and time series forecast. Have you ever had to say, “Hey Siri” or “Ok Google” every time you make a command? Well, RNNs solve a fundamental problem in most ML algorithms – the absence of memory. Context is crucial for inference. For example, the command “Give me directions there” is unusable without knowing what headed it. Was it “What’s the best restaurant in town?” Was it “Where does my aunt live?” The strength of RNNs is their representational capacity. Their weakness is being notoriously difficult to train. Recently, 1-dimensional difficulties have shown enhanced results over time-series data.

Feature Extraction – Principal Component Analysis

PCA is a visualization strategy for high-dimensional data. People can only visualize two or three dimensions at once. PCA decorrelates and rescales variables, selecting the most important ones to plot first. This is sometimes called “centering and whitening” in ML preprocessing.

Nonnegative matrix factorization is an irregular of PCA where each basis vector is nonnegative. In topic modeling, for example, we wish to excerpt the five main topics deliberated in a speech. The bag-of-words method is effective, counting the frequency of words in each sentence. A topic would be a unique grouping of words, so the speech would be a combination of certain weighted topics. A topic can’t comprise negative words, thus we use NMF. Study Latent Dirichlet Allocation for more information.

Generating Data – Generative Adversarial Networks

Some data distributions are easy to generate, like a coin flip. Others are hard, like the distribution of all images of faces. How would you even write down a mathematical formula for creating faces? It’s intractable. Yet adversarial training pits two ML networks against each other. The generator creates synthetic images, and the discriminator distinguishes between real and synthetic. These two networks recover in tandem until artificial faces are indistinguishable from the real thing. This process is confrontational training, used in fields such as video frame forecast.

Also read: Artificial intelligence and Machine learning

Generating Data – Invertible Neural Networks

Invertible neural networks also generate complex data, but in a different way. The INN method is much more mathematically principled. Over the change-of-variables formula, an INN maps a simple probability distribution to a composite one. For example, a multivariate standard could map to the distribution of faces. OpenAI recently published cutting-edge work in this field, allowed Glow. Its latent space interpolation is incredibly truthful. Glow enables fine-grained “feature selection” of skin color, hair color, even jawline intelligence.

Learning from Limited Labeled Data – Semi-Supervised Learning

In machine learning, obtaining branded data can be expensive or infeasible. Semi-supervised learning (SSL) uses unlabeled data to increase limited labeled data. For example, look at the partially labeled data below. How would you classify the test point?

Now examine the imperfect labeled data in the setting of the unlabeled data. It becomes clear that there are two separate clusters. One application of SSL is medical imaging, where we wish to classify cancerous cells in tissue scans. The training data compulsory is not a single classification per image, but a pixel-by-pixel classification. On a high-resolution transparency scan, that is more than a million! It’s rare to have more than a few hundred high-quality hand-labeled examples. However unlabeled medical images are abundant. If we can classify patterns in the unlabeled data and apply them to the limited labeled data, our algorithm will be more correct.

Interpretable Models – Random Forest

Machine learning is notorious for its black-box models. The relationship between inputs and outputs is quite opaque. Yet quality and stability are vital in fields such as medicine and finance. They can handle numerical or categorical inputs, and output organization or regression models. Best of all, its implication algorithm is a modest yes/no question at each branch. This is interpretable by domain experts. In almost any scenario, the random forest algorithm should be your first starting point.

Featured article: How AI differs from ML


Picking the right machine learning algorithm makes all the changes. Check out libraries such as Pytorch and Scikit-learn. These libraries have sample datasets, visualizations, and the whole thing you need to get started.