Machine learning field at the moment seems to be in pinnacle of hype cycle. A researcher or a lab or organization creates some marginal improvement over existing status quo in some narrow area, they self-publish it as paper with some preposturous headline and then the circle jerk starts. I have a personal heuristics to deal with such hype cycle based on following observations. Observations Not All Papers are Created Equal In most of the universities it is mandatory for a master’s and PhD student to publish some work.
I’ve documented my disdain for using ‘deep learning as a hammer looking for nails in every corner’ in few other entries on this blog. Taking a less cynical and acerbic view, I want to focus on when deep learning can be a good starting point and when it is not useful as starting point. First to clarify bit of terminology. Deep learning is a catch-all term used in popular data science these days.
Andrew Ng wrote insightful article in HBR a while ago about what an AI can and cannot do. He highlights that if there’s a mental task that a human being can do in few seconds, you can probably automate it. In my opinion, these types of problems have a following structure, Single person decisions: these decisions are often replacing decision making of single human being. Scale factor: You need AI to help you in tons of such decisions in order to make meanigful impact.
Data scientists and machine learning engineers in small and medium businesses often end up over-engineering their machine learning workflow and stack. In a series of posts below, I will share a few tricks learnt over the years related to choosing right components of the ML pipeline. In this first post, let us go through mistakes small teams can make. Later posts will explain possible solutions. Preferring Generalized Solutions Many big companies will perfect a very general solution to machine learning problems by investing obscene amount of resources.
I have come across two distinct flavours of beginner behaviours on stack-exchange site related to data science. I believe they are symptoms representing what is the larger problem ailing field of data science. Let us go through the symptoms first. My tone in this article is extremely acerbic because I feel strongly for my field. Deep Learning Voodo Problem Someone will post a problem like, “I am trying to fit (some complex deep learning architecture) model on (a bad problem for starting with DL).
I have been teaching machine learning to programmers since some time. I started this activity in 2013 and till date I have conducted 10+ hands on workshops. All these workshops were typically 3-3.5 hours long and covered some theory, coding examples through Python (ocassionally R) and interactive discussions. They were attended by 10-50 programmers. Here are some learnings from this teaching activity, in no particular order. Many of them were in fact goof-ups that I did at one point of time, so these are indeed lessons from trenches.
Well the title is intentionally exaggerating. May not the biggest but certainly one of the most important area of friction in taking machine learning to production. Scenario Imagine that you/your data scientist has written a functional machine learning pipeline in Python today. And by pipeline I mean data transformation as well as prediction code. For example, you could have a data which is mix of text and numeric features. You might do some text processing to generate n-gram features with some custom filters on the text.