So you’ve deployed your machine learning model to the cloud and all of your apps and services are able to fetch predictions from it, nice! You can leave that model alone to do its thing forever… maybe not. Most machine learning models are modeling something about this world, and this world is constantly changing. Either change with it, or be left behind!
Model rot, data rot, AI rot, whatever you want to call it, it’s not good! Let’s say we’ve built a model that predicts if a zombie is friendly or not. We deploy it to the cloud and now apps all over the world are using it to help the general public know which zombies they can befriend without getting bitten. Amazing, people seem super happy with your model, but after a couple of months you start getting angry emails from people who say that your model is terrible! Turns out that the zombie population mutated! Now your model is out of date, or rotten! …
Recently a friend got me into basketball. Turns out, it’s a lot harder than it looks. No matter, I can over engineer a solution using machine learning. If your into ML and shooting hoops then there’s also this article that combined TensorFlow and basketball in a simulation.
At the risk of alienating a lot of readers… I grew up with GUI’s, so I never needed to learn the ways of the terminal! This is socially acceptable in todays society of friendly user interfaces, except maybe if you’re in software engineering… whoops!
Manually labelling data is nobodies favourite machine learning chore. You needn’t worry though about asking others to help out provided you can give them a pleasant tool for the task. Let me present to you: generated Google Forms using Google App Script!
The regular way people might label data is just by typing in the labels into a spreadsheet. I would normally do this as well, however in a recent task I needed to label paragraphs of text. Have you ever tried to read paragraphs of text in a spreadsheet?.. it’s hell! …
Here’s a dataset that is designed to help showcase when a Recurrent Convolutional Neural Network (RCNN) will outperform its’ non-recurrent counterpart, the Convolutional Neural Network (CNN).
Recurrent models are models that are specially designed to use a sequence of data in making their predictions (e.g a stock market predictor that uses a sequence of data points from the past 3 days).
Convolutional models are models that are specially designed to work well with image data.
So a Recurrent Convolutional model is a model that is specially designed to make predictions using a sequence of images (more commonly also know as video). …
A time might arise were you’re going to need to predict using rotational data, either as a feature or as a target. Plugging degrees straight into your model might seem to work, but be wary, it’s not doing what you want.
Simply put, they are not smooth! What I mean is that the degrees scale teleports from 359 back to 0 degrees as it progresses. Look:
Recently finishing my stint within the British educational system I’ve moved into the field of machine learning. Whilst learning the ropes I’ve come to see extremely strong parallels that can be drawn between how we train machine learning systems and how we teach in the classroom. Some of the these parallels help highlight potential flaws in the ways we teach.
As you can remember from your textbooks; sometimes the only way you can grasp a techniques was by seeing multiple answers and working out for yourself the general pattern that must be followed. …