Machine Learning Posts

The Toptal Engineering Blog is a hub for in-depth development tutorials and new technology announcements created by professional software engineers in the Toptal network.
Rudolf Eremyan
Four Pitfalls of Sentiment Analysis Accuracy

Manually gathering information about user-generated data is time-consuming, to say the least. That’s why more organizations are turning to automatic sentiment analysis methods—but basic models don’t always cut it. In this article, Toptal Freelance Data Scientist Rudolf Eremyan gives an overview of some sentiment analysis gotchas and what can be done to address them.

Continue reading →
Necati Demir, PhD
The Economics and Benefits of Artificial Intelligence

Will AI make improve our lives beyond comparison, or will it steal our jobs and destroy humanity?

In this article, Dr. Necati Demir, Toptal Freelance AI Expert, discusses not the evil artificial general intelligence of science fiction but the current algorithm-based prediction AI and discusses how the economics of AI work, along with their effects on businesses.

Continue reading →
Guillaume Ferry
Python Machine Learning Prediction with a Flask REST API

Employing Python to make machine learning predictions can be a daunting task, especially if your goal is to create a real-time solution. However, Tensorflow and Scikit-Learn can significantly speed up implementation.

In this article, Toptal Python Developer Guillaume Ferry outlines a simple architecture that should help you progress from a basic proof of concept to a minimal viable product without much hassle.

Continue reading →
Adam Stelmaszczyk
A Deep Dive into Reinforcement Learning

Machine learning and artificial intelligence are popular topics, vast domains with multiple paradigms to solve any given challenge.

In this article, Toptal Machine Learning Expert Adam Stelmaszczyk walks us through implementing deep Q-learning, a fundamental algorithm in the AI/ML world, with modern libraries such as TensorFlow, TensorBoard, Keras, and OpenAI Gym.

Continue reading →
Shanglun Wang
Build a Text Classification Program: An NLP Tutorial

Deep learning has proven its power across many domains, from beating humans at complex board games to synthesizing music. It has also been used extensively in natural language processing.

In this article, Toptal Freelance Software Engineer Shanglun (Sean) Wang shows how easy it is to build a text classification program using different techniques and how well they perform against each other.

Continue reading →
Michael Karchevsky
Machine Learning Video Analysis: Identifying Fish

Machine learning, combined with some standard image processing techniques, can result in powerful video analysis tools.

In this article, Toptal Freelance Software Engineer Michael Karchevsky walks through a solution for a machine learning competition that identifies the species and lengths of any fish present in a given video segment.

Continue reading →
Vlad Miller
Exploring Supervised Machine Learning Algorithms

While machine learning sounds highly technical, an introduction to the statistical methods involved quickly brings it within reach. In this article, Toptal Freelance Software Engineer Vladyslav Millier explores basic supervised machine learning algorithms and scikit-learn, using them to predict survival rates for Titanic passengers.

Continue reading →
Dino Causevic
Getting Started with TensorFlow: A Machine Learning Tutorial

TensorFlow is more than just a machine intelligence framework. It is packed with features and tools that make developing and debugging machine learning systems easier than ever.

In this article, Toptal Freelance Software Engineer Dino Causevic gives us an overview of TensorFlow and some auxiliary libraries to debug, visualize, and tweak the models created with it.

Continue reading →
Oliver Holloway
From Solving Equations to Deep Learning: A TensorFlow Python Tutorial

TensorFlow makes implementing deep learning on a production scale a breeze. However, understanding its core mechanisms and how dataflow graphs work is an essential step in leveraging the tool’s power.

In this article, Toptal Freelance Software Engineer Oliver Holloway demonstrates how TensorFlow works by first solving a general numerical problem and then a deep learning problem.

Continue reading →
Cody Nash
Create Data from Random Noise with Generative Adversarial Networks

Generative adversarial networks, among the most important machine learning breakthroughs of recent times, allow you to generate useful data from random noise. Instead of training one neural network with millions of data points, you let two neural networks contest with each other to figure things out.

In this article, Toptal Freelance Software Engineer Cody Nash gives us an overview of how GANs work and how this class of machine learning algorithms can be used to generate data in data-limited situations.

Continue reading →
Eugene Ossipov
Genetic Algorithms: Search and Optimization by Natural Selection

Many problems have optimal algorithms developed for them, while many others require us to randomly guess until we get a good answer. Even an optimal solution becomes slow and complex at a certain scale, at which point we can turn to natural processes to see how they reach acceptable results.

In this article, Toptal Freelance Software Engineer Eugene Ossipov walks us through the basics of creating a Genetic Algorithm and gives us the knowledge to delve deeper into solving any problems using this approach.

Continue reading →
Jan Gorecki
Boost Your Data Munging with R

As a language, R is strongly tied to data and is thus used mostly by statisticians and data scientists. Many who already use R for machine learning, though, are not aware that data munging can be done faster in R, meaning another tool is not required for that task.

In this article, Freelance Software Engineer Jan Gorecki explores tabular data transformations and introduces us to one of the fastest open-source data wrangling tools available.

Continue reading →
Andrea Nalon
The Rise Of Automated Trading: Machines Trading the S&P 500

More than 60 percent of trading activities with different assets rely on automated trading and machine learning instead of human traders. Today, specialized programs based on particular algorithms and learned patterns automatically buy and sell assets in various markets, with a goal to achieve a positive return in the long run.

In this article, Toptal Freelance Data Scientist Andrea Nalon explains how to predict, using machine learning and Python, which trade should be made next on the S&P 500 to get a positive gain.

Continue reading →
Lovro Iliassich
Clustering Algorithms: From Start To State Of The Art

Clustering algorithms are very important to unsupervised learning and are key elements of machine learning in general. These algorithms give meaning to data that are not labelled and help find structure in chaos. But not all clustering algorithms are created equal; each has its own pros and cons.

In this article, Toptal Freelance Software Engineer Lovro Iliassich explores a heap of clustering algorithms, from the well known K-Means algorithm to the elegant, state-of-the-art Affinity Propagation technique.

Continue reading →
Dino Causevic
Tree Kernels: Quantifying Similarity Among Tree-Structured Data

Today, a massive amount of data is available in the form of networks or graphs. For example, the World Wide Web, with its web pages and hyperlinks, social networks, semantic networks, biological networks, citation networks for scientific literature, and so on.

A tree is a special type of graph, and is naturally suited to represent many types of data. The analysis of trees is an important field in computer and data science. In this article, we will look at the analysis of the link structure in trees. In particular, we will focus on tree kernels, a method for comparing tree graphs to each other, allowing us to get quantifiable measurements of their similarities or differences. This an important process for many modern applications such as classification and data analysis.

Continue reading →
Necati Demir, PhD
Ensemble Methods: Elegant Techniques to Produce Improved Machine Learning Results

Machine Learning, in computing, is where art meets science. Perfecting a machine learning tool is a lot about understanding data and choosing the right algorithm. But why choose one algorithm when you can choose many and make them all work to achieve one thing: improved results.

In this article, Toptal Engineer Necati Demir walks us through some elegant techniques of ensemble methods where a combination of data splits and multiple algorithms is used to produce machine learning results with higher accuracy.

Continue reading →
Altaibayar Tseveenbayar
OpenCV Tutorial: Real-time Object Detection Using MSER in iOS

Detecting objects of interest in images has always been an interesting challenge in the realm of computer vision, and many approaches have been developed over recent years. As mobile platforms are becoming increasingly powerful, now is the perfect opportunity to develop interesting mobile applications that take advantages of these algorithms. This article walks us through the process of building a simple iOS application for detecting objects in images.

Continue reading →
Ivan Matec
Azure Tutorial: Predicting Gas Prices Using Azure Machine Learning Studio

Machine learning has changed the way we deal with data. Data driven problems, that are difficult to solve using standard methods, can often be tackled with much more ease using machine learning algorithms. In this article, we will explore Azure Machine Learning features and capabilities through solving one of the problems that we face in our everyday lives.

Continue reading →