Categories
Article

What I learned training for Ironman

This is a post I originally wrote on LinkedIn. I figured I’d move it to this blog.

Did you know Ironman training has many parallels with machine learning?

Nobody just does it. It is a commitment with real work.

In order to train for an event like this you build fatigue and stress through exercise over 2-3 week periods of increasing effort followed by a recovery week. Effort can be measured in time, average heart rate, speed, or power output. This saw-tooth pattern of effort is increased in each 3-4 week block so that the moving average increases over time until you are doing more than an Ironman of work every week. Some of these workouts are hard, some are long, but most are pretty easy. It is surprising how little you have to “push” yourself to improve but it is equally surprising how you feel when these easy efforts all start to add up. Motivation becomes is an inverse function of the effort you have done in the last week.

I was like most people who have never done an endurance race like Ironman and I initially focused on the distance. Ironman really isn’t about the distance, it is about learning how to create, change, and execute a plan that both your mind and your body are capable of finishing through experiencing success and failure. In machine learning, people spend way too much time focusing on the fact that the computers model will solve their problem. Machine learning is setting up a framework in your product for analyzing, collecting, cleaning data, and executing a plan that will ultimately mean your model can intuit what you spent the time to find a calculable outcome.

Trying to be the best means that you wont finish. In both disciplines, you just have to put in the work to finish the race. Sprinting is fun and interesting, but it is more the the slow grinds that enable success. Pushing too hard too quickly will cause you to drop out the race. Most engineers initially attracted to machine learning because they can write a model with someone carefully curated data set and have an improvement. I believe progression through a plan is better than blanket innovation. Going too far too soon can lead to disaster. I’ve seen many engineers want to focus on building models. If you don’t have the data or the infrastructure, your supposed quantum leap innovation in machine learning can’t be applied in the real world. The majority of the work is in collecting and creating a good data set.

Lastly, you will find a lot of success with weak supervision. Reading books, paying a coach, or relying on friends to verify you are on the correct track. Tools like snorkel will get you really far.