Today, machine learning (ML) is one of the topics on nearly all of our client's minds. With the continuing investment into machine learning by companies like Apple and Google, it isn't something that's going away anytime soon. The big problem we see with ML is that although the barrier to entry is low - for proper execution you need a set of supporting services that many companies fail to consider. If you're a CIO and leadership comes knocking on your door looking for machine learning these are the three things you need in place to give the green light to ML.
Machine learning starts with data. However, it's not just about having any data. For effective machine learning you need high quality data. It needs to be qualitative, it needs be fresh, and it needs to have variety.
Think about a simple ML model where you're trying to infer someone's height and the only information available to your model is the right and left shoe sizes. That's not enough data to properly make a height prediction. You would rather have a shoe size and a glove size, or maybe waist size. To make a more accurate prediction you want additional pieces of data that can give you something to check against the shoe size. When you're looking to apply machine learning to your problems, make sure that you have different kinds of data to look at the problem from enough different angles that you can move towards more reliable predictions.
There's still another side to that coin - contrary to some people's belief you can have too much data for machine learning. That doesn't mean you shouldn't be capturing as much information as you can, but it does mean that you need to evaluate how much data you're feeding into your model. Too many data points can confuse the models and weaken their predictions. For example, there was an energy company that built a machine to predict energy costs. They started with a million features for each prediction and they were getting answers, but they weren't particularly accurate. Eventually, they went through a process of a dimensionality reduction and got down to nine features to feed into the machine. Those nine characteristics contributed to a superior model because they had strong variety along with greater clarity.
Once you have your data in place you need to think about how you are going to apply the model. Because a model that exists in a vacuum isn't very useful.
- How are you going to infer data in production?
- Will your model will be applied only once or be deployed online thousands of times?
- Will you deploy it in the cloud or will it be deployed to devices?
It's important to think through these questions. For example, if your application is something like image processing for facial recognition - these processes don't have the time to be sent out to the cloud for an answer. You would want the processes directly on the device to reduce overhead. However, if you plan to have your model change rapidly, you might want it working in the cloud so that you don't have to constantly redeploy out to individual devices.
The last consideration for machine learning is your customer experience (CX). How do these models affect what you customer sees? The classic example of this is story where Target knew a teenage girl was pregnant before her father did. In that case, a machine learning model was applied to shoppers which clustered them into a group of people deemed pregnant based on what products they were viewing online. Some users may find that when you share too much information, the user experience becomes creepy and has a negative impact on the customer.
The way in which delivery impacts users is a key consideration to make if you're applying machine learning to a problem. Even the way that you or your decision makers experience the data -the weights, the inferences, the probabilities - have impact on eventual actions. If you're basing business decisions off output from the machine, the decision makers should know its confidence factor. If your machine says that the cost of energy is going to go up next month, users need to know if it is with 15 percent confidence or 65 percent? That's a significant difference.
The other reason CX considerations are so important is because once you start affecting people's behavior using these predictions, then you're changing the outcome and your model gets stale.
For example, you have a website and you're trying to reduce churn. You develop a model that's good at predicting churn and along with some CX countermeasures to entice people to stay on your site. Now when customers don't churn, you have to factor that in to your model.
Ultimately, to successfully apply a machine learning model to your business, you need people who understand machine learning, data, and CX in conjunction with subject matter expertise. It's through this combination that you get models that are truly useful. If you neglect one piece of this puzzle, then your machine learning solution won't get you the useful predictions you crave.