Machine learning for mobile developers

Machine leaning is getting so popular that many of the business line wants to use ML to make sure they engage the customer with their products and give a rich user experience. Mobile applications are one of the targets of ML driven  customer engagement.

There are many ML tools currently available in the market.

To name a few –

  1. Tensor Flow/Tensor Flow Lite
  2. Amazon machine learning
  3. Microsoft Azure ML studio
  4. Microsoft Distributed Machine learning Toolkit

And many more.

But what is the real purpose of different platforms? What are they trying to solve?

Machine learning algorithms.

Machine Learning

So what are machine learning algorithms?

They are broadly classified into supervised and Unsupervised learning.

Now, What is supervised learning? –

When every input has a target that’s is defined by any task then it is supervised learning.

If the targets are specified by groups then it is classification problem. If the target is continuously growing, then it is regression problem.

What is Unsupervised learning?

When Inputs are able to connect with each other and form a relationship or a structure among them-self then it is Unsupervised learning. Basically, there is no task which tells them what the target action is. Here it is a clustering problem.

Illustration of supervised and unsupervised learning

Do not jump on to implementing models

It is always easy for developers to jump onto implementing ML using many of the tools and platforms available. ML is still evolving and there are plenty of issues you might end up in implementing one.

1) Learning curve is obviously a biggest factor

2) Computational capabilities to run ML data sets

3) Availability of data sets

4) Trust worthiness of the data sets

5) No true mobile platforms or tools apart from Tensorflow lite and Apple’s CoreML

6) Give it some more time for mobile platforms to fully mature and evolve

Mainly, use ML techniques only if there is truly a business need.

Try it with API’s first

Almost all of the big companies offer API’s to start with ML.

Some of the services include –

  1. Image
  2. Speech
  3. Video
  4. Translation and so on

What do these API do?

These API’s accept input and then run on the pre-trained models to generate outputs.

Sometimes they also provide service to create your own models.

What are the different companies who provide these services?

1) Google

2) Microsoft

3) Amazon

4) IBM

5) Cloudsight

6) Clarifai

Look below for a simple illustration on how much each of these companies charge for these services. Let’s take image recognition as an example for this illustration.

Comparison of popular image recognition API’s

Also make sure whether you truly need API’s or somethings can be handled even without hitting a service.

For instances,

  1. A simple OCR can be used rather than some image recognition API’s if the whole purpose is to identify the text in the image.
  2. Or voice to text within the mobile app can be used over speech recognition API’s when the real conversion is only to English and not multiple global languages.

Hence identifying the use cases are much important than actually implementing ML.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.