Machine Learning is tough. When I first learned about it, I really thought it could do anything. You just throw some stuff at it, it goes ‘bloob’ ‘beep’ ‘snort’ and out comes… something? I wasn’t even really sure what the end result of machine learning was.
I’ve since learned to properly frame my expectations when it comes to implementing machine learning in my products so that it provides value to my customers. Here is a gross oversimplification of some things that I’ve learned:
- Machine Learning is for predicting. That is what it does. It predicts whether the picture you’re showing it is of a cat or a volcano, or how much money you currently make based on your education and age. You essentially arm it with a pattern for categorizing something, and then when you show it new information, it tries to categorize that information based on how closely it matches a pattern.
- You can’t be vague. At least, not yet. You need to solve a specific problem. You need to really think about what you’re trying to solve, and start small. You can’t just throw every piece of data you have at it and expect something useful in return. I’ve had the most luck by starting with training a model to predict one of two things. Is this customer review good or bad? Is this picture a cat or a dog? You can grow from there, but make sure you’re really thinking about the problem you’re trying to solve.
- You need a good amount of training data. There have been some fascinating advances in facial recognition, for example, where the number of faces you need to train with is quite minimal. But for most other types of machine learning models, you need high quality training data, and a lot of it. Don’t expect to train a model predicting home prices or traffic patterns with only 100 examples. Your training data needs to be high quality as well. That means, make it match what you expect your real input to be as much as possible. Don’t train your model with home prices in California, then expect it to work well with home prices in New York.
- Don’t expect an accuracy above 80%. Sure, it’d be great to be as close to 100% accurate as possible, but as it turns out, 80% is pretty darn good. The thing is, most humans operate at about an 80% accuracy on average. If you farmed out customer reviews to 1000 people and asked them to categorize them as either positive or negative, after a thorough analysis you’d find about an 80% accuracy across all the responses. But guess what? Your machine learning driven Product does that for them, so you just saved your customer an enormous amount of money to get the same results as hiring 1000 humans. That’s value.
- Machine learning can’t solve everything. You may assume that there is a pattern to discern in home prices, or the stock market, but there really might not be. Even if you trained a machine learning model with every transaction of the New York Stock Exchange, and then attempted to use it to predict the market, you’d fail. Somethings just can’t be predicted. And you have to remember that no machine learning model operates in a vacuum. It’s only as good as the data you feed it, and if that data doesn’t have enough information or is too inconsistent, the model won’t be able to solve your problem.