As applications reach the next phase in their evolution, intelligent features are the next wave of progress. As data takes center stage when crafting application user experiences, the organizations that are able to get the most value out of the data in their possession are the ones set to succeed. In this race for a smarter future, machine learning is the key to delivering modern application experiences and gaining a competitive advantage.
Examples of machine learning
Machine learning is all around us, especially in the apps we use on our mobile devices. It helps app developers to use data to build better customer experiences. Here are just a few companies that are using machine learning in everyday situations:
Machine learning is used to calculate arrival times of cabs, surge pricing during peak hours, and base pricing according to distances and waiting times. Uber itself is heavily dependent on another popular app that uses machine learning — Google Maps.
Google is a big proponent of machine learning. In Google Maps, machine learning is used to calculate distances and times when giving users driving directions. It also crunches user search queries to better understand the meaning of queries like those that include “near me.”
One of the earliest examples of machine learning was in Google Search when it was used to give spelling suggestions and related search queries. Since then, Google’s search experience has graduated to include the really helpful knowledge graphs that give snippets of useful information related to a search query.
Google’s cash cow is its advertising platform. The most powerful ad system in the world is powered by machine learning to match relevant ads with search queries. The ads are priced according to a complex auction that happens behind the scenes every time an ad is shown. The auction decides how much advertisers pay for a click, which position their ad shows in, and for which queries they show.
After AdWords, Facebook Ads is the biggest ad platform available for online advertisers. While Google’s targeting is based on search queries, Facebook uses demographics to target ads to users based on their interests. Facebook Ads has been successful because of how well they’ve been able to identify the intent and interests of their users and show them relevant ads. This is possible only with machine learning.
In perhaps the most human experience yet, Siri began the trend of personal assistant applications for mobile. Siri includes voice recognition, text-to-speech, and many other advanced machine learning skills. A testament to its success is the proliferation of personal assistants by others like Google Assistant, Microsoft Cortana, and Amazon Alexa. Amazon and Google have even taken this further by creating a new product line of smart speakers — Echo from Amazon and Home from Google.
Recommendation engines are part of seemingly every other app today. The most popular use of recommendation is in the e-commerce space. Amazon has been the pioneer in e-commerce and has the most mature recommendation engine. The part of the product page that lists items customers viewed, related items, and personalized recommendations based on your search history are all powered by machine learning.
Similar to Amazon, Netflix is big on recommendations. However, it recommends related movies that users are most likely to enjoy based on their previously viewed movies.
Challenges with machine learning
Machine learning is something every company either does or aspires to do. But setting up a great machine learning operation is difficult for many reasons. First, the sheer volume of data required to make machine learning successful is the biggest challenge. To train algorithms you need large quantities of data. The more data an algorithm has, the more accurate it can become. However, capturing, storing, and processing all this data is neither easy nor cheap. It requires powerful compute instances, often GPUs rather than CPUs, cheap cloud storage, and powerful data analytics tools that can crunch petabytes of data in a short time period.
Even more fundamentally, it’s hard to assemble and grow the right data science team that machine learning requires. The role of data scientist is one of the fastest growing and most in-demand job openings in Silicon Valley. However, finding truly great data scientists who have relevant experience is not easy. Not only this, once hired, they should be able to champion the kind of culture it takes to find solutions to the most complex data problems.
The next challenge is somewhat easier to solve — finding the right tools for the job.
Leading machine learning tools
TensorFlow, released by Google, is the leading open source machine learning tool today. It is widely used in almost all large web companies that do machine learning. It has integrations with the most important developer and data tools including Apple’s Swift, Docker, Kubernetes, Hadoop, and Spark. TensorFlow’s architecture is made up of clusters, which are further divided into a master cluster and multiple worker clusters. By taking a distributed approach, TensorFlow is able to scale data operations easily and is ideally suited for machine learning. It also has clients for various languages like Python, C++, and pretty much any other language you’d want to use.
Torch is a scientific computing framework that specializes in GPU-based data processing, although it works on CPUs too. It includes powerful neural network libraries that are built to make usage simple, and yet able to perform powerful data analytics. These libraries are of two kinds — the Tensor library and the File I/O interface library. It can be easily connected to iOS and Android backends, thus enabling better mobile app development. It is used widely and is one of the leading open source machine learning tools available today.
Similar to Torch, Scikit-learn has its origins in the science community. Based on Python, it is a more downstream machine learning tool that does many things well when it comes to data analytics. It does data classification, regression, clustering, and more — all enabling organizations to glean more value from their data. It is used by many organizations like Spotify, Evernote, and more, and is a great tool to consider for specific data tasks that are related to machine learning.
Machine Learning as a Service
If you don’t want to take the difficult route of setting up and maintain your own machine learning infrastructure, you can always pay per use by using Machine Learning as a Service, or MLaaS. The easiest way to get started with this is to try one of the cloud vendor offerings. AWS is the leader when it comes to offering a breadth of services in machine learning.
At the helm of AWS’ machine learning services is Sagemaker. It is an end-to-end machine learning platform that lets you create and manage machine learning algorithms. It is supported by complementary services like Rekognition, an image recognition service, Lex, a smart chatbot similar to Alexa, and Polly, a text-to-speech engine. Azure and Google Cloud have similar offerings, but AWS has the most mature and well-integrated solution of the lot.
Wide range of options
It’s a great time to be developing applications. The opportunity to change the world one application at a time is greater now than ever before. Machine learning is already prevalent in the apps we use and love most on a daily basis. But if you’re a developer or a technology leader that oversees application development, machine learning is something you can’t afford to ignore. Yes, the challenges are many. Thankfully, there are an equal number of tools available to help with any challenge you’ll meet along the way. Whether open source, or commercial, niche, or generic — you have a wide range of options that can get you started on your journey today.
Featured image: Pixabay