Why There is No Magic Bullet in Machine Learning

David Hundley
6 min readNov 5, 2019

--

Imagine that you work with a person who really likes wearing red shirts to the office. Day after day, this person wears the same red shirt. 49 days pass, and this person has worn the same red shirt every single day. Like the iconic Apple cofounder and his black turtlenecks, this person is the Steve Jobs of red shirts.

Okay, now on day 50, what kind of shirt would you expect this person to walk into the office wearing? Don’t worry, I’m not trying to trick you here. Naturally, you’d expect that person to walk in wearing — lo and behold — that iconic red shirt.

But that isn’t a guarantee. It’s not like this person agreed to an Unbreakable Vow compelling them to a life full of red shirts. (Yes, that is a Harry Potter reference, in case you’re wondering.) They could just as easily wear a blue shirt, purple shirt, or multi-colored tye dye shirt.

Still, it’s fair enough to make this generalization given this person’s very consistent pattern of red shirts on red shirts on red shirts. This is a pretty easy pattern to pick out. We have one dimension of data (e.g. 49 days of red shirts) informing what we expect from a pretty basic outcome (e.g. red shirt on day 50).

Before going further, let’s refresh ourselves on what the general concept of machine learning is. Machine learning (ML) is essentially the process of using computers to help us find patterns within data. Under the covers, these computers execute fancy math in a variety of ML algorithms to best determine what pattern — if any — exists in your data.

So returning to our coworker with the red shirt, we probably don’t need to create an ML predictive model to “guess-timate” what our friend is going to wear on day 50. Again, that single dimension of data is easy enough to predict your simple outcome. Creating an ML predictive model would be an unnecessary use of your time since you — a human being — can easily provide the same output that an ML model would.

But what about more complex situations? Think about something like a music recommendation system. I personally have a very eclectic taste in music. Just this morning, I have listened to Kanye West, The Black Keys, and general classical music. As a human being, how would you go about recommending what I should listen to next? Chances are that my music listening history won’t be nearly enough to help you make a recommendation. In fact, you’d probably look at data in the following areas to help best inform your decision:

  • The days and time of day I listen to music (because, for example, I tend to listen to classical music when I work)
  • The general demographics that describe me (e.g. 30 year old white male dad who works in an office environment)
  • My taste in books, video games, movies, and TV shows
  • My general shopping history across multiple sources like Amazon, Apple, and even grocery stores

We could easily go on. My point is, if you really wanted to recommend something for me to listen to next, you’d have to know me well beyond anything that even has to do directly with my taste in music. I’m not even sure my lovely wife — who probably knows me better than anybody — would recommend to me next.

Machine learning is great in the sense that it can comb through a lot of different types of data to find patterns that may help provide a decent recommendation… but here’s the problem: no single company has all that data listed in those bullets above. And even if they had the data, there are legal / ethical constraints against using certain pieces of data that may be highly influential in predicting an outcome. (For example, not that this would ever happen, but I imagine a company would get into hot water using medical data in a music recommendation model.)

I’m writing this post here because I hear people all the time asking this core question: Can’t we just dump machine learning into our program and expect it to solve our problems? This question is often answered in a very “magic bullet” kind of sense, as if machine learning is this HAL-like entity that’s able to think and make sense for itself. For as great as machine learning can be, it has sort of gotten some great marketing in recent years. After all, “machine learning” sounds mysterious and cool. I don’t think we’d all get hyped if it was called “statistical analyzer” or “generalization facilitator”!

These ML algorithms… they’re pretty brittle. When I mean brittle, I mean that they are very prone to “garbage in, garbage out.” If you don’t feed in the RIGHT kind of data in the RIGHT kind of format using the RIGHT kind of ML algorithm, you will get poor results. Period. You can’t just dump in random kinds of data and expect the magic to happen.

There’s a very important lesson in here for data scientists and regular folks alike. I think you can make a pretty solid argument that the most important facet of the machine learning creation process is subject matter expertise. Don’t get me wrong — the data scientist’s role is important and not an easy one to learn. But any data scientist worth her salt will know that understanding the data underlying the machine learning model is absolutely pivotal to creating an optimal ML predictive model.

This should be good news for many folks out there. I think there’s a general fear that artificial intelligence (AI) is going to take everybody’s job, and transparently, we are leveraging AI/ML in many ways that are indeed eliminating certain jobs. But I personally don’t think we’re anywhere close to having an artificial general intelligence (AGI) that would serve as that “magic bullet” that many people think machine learning is today.

(Another random note — many AI/ML solutions created today are doing things no human has ever done nor could ever do. Like, I’m not aware of a music recommendation company that recommends music for an individual curated by a human on a mass scale for free. So in many cases, the AI community is actually generating new jobs. After all, you can’t eliminate what never existed in the first place!)

No, folks, we still very much need you. We need you and those beautiful brains of yours to help us build these machine learning predictive models. We need you to help with things like…

  • Suggesting opportunities for new areas where an ML predictive model might be helpful in some business aspect
  • Defining the data elements that would be most helpful in building the predictive model
  • Advising on which data elements should be excluded for legal or ethical reasons

No single data scientist has the capability of learning everything that would help influence the creation of these ML models. Your expertise is extremely important to the machine learning process! I hope you take some level of comfort in that.

Before we wrap up, there is one thing I want to encourage you all do when thinking especially about technology: understand that all technology is created by human hands to solve a human problem. There is no magic in technology; everything can be explained by scientific means. And most often, you don’t need to understand the full intricacies of how something works to understand how it applies on a higher level. This post hopefully informed you how to think about machine learning models differently, but I didn’t once explain how machine learning does what it does. Heck, for as much as I know about computers, there is a TON that I don’t know.

Alrighty, this is a good place to end this post. See you in the next one!

--

--

David Hundley

Principal machine learning engineer at a Fortune 50 company, 5x AWS certified, 2x HashiCorp certified, 1x GCP certified, M.A. in Org Leadership, PMP, ChFC, CSM