New challenge: Kaggle

Until yesterday, my expertise in machine learning was barely enough to be called expertise.

Neural networks were not entirely foreign territory. Their mechanics made sense syntactically, and an internship had given me some exposure to how researchers actually go about developing them. Kaggle, too, had always been somewhere on my radar. Somehow, it had managed to survive the AI replacement crisis, with things like designing effective cross-validation schemes remaining surprisingly difficult to master.

As a fan of competitions in general, Kaggle should have been an obvious choice. Yet the prospect of committing three months to a single competition never seemed worth the risk.

Turns out, that was wrong.


I am currently collaborating with my senpai, who seems to have a particular strength in semantic segmentation.

Since my immediate goal is to win a Kaggle competition medal, getting accustomed to this type of competition seemed like the most efficient way to learn. That led me to my current competition, “Hacking the Human Body,” which involves extracting a rather unfamiliar biological structure called the FTU.

One thing that mildly annoys me, though, is how difficult it is to recreate the conditions of a past competition. When a contest is already four years old, the information available today is obviously very different from what participants had access to at the time.

Still, the competition has been teaching me something I did not fully appreciate before: designing a machine learning model is an incredibly deep process.

It is surprisingly difficult to put into words the joy of controlling the macros while still being conscious of the micros. There are so many layers of decisions, from the overall modeling strategy down to seemingly tiny choices, that gradually shape the final result.

I also really like Kaggle’s notebook culture. Being able to read through other people’s approaches and catch up with an unfamiliar technique at an absurdly fast pace makes the learning process much more intense than studying from a textbook alone.

At this point, it seems that I need to become at least reasonably comfortable with three major areas:

  • Feature engineering
  • Model engineering
  • Transfer learning

Mastering each of these independently already feels like a substantial workload, especially coming from a competitive programming background where the main challenge was usually much more clearly defined. Here, the difficulty is not simply solving the problem, but figuring out what the next constraint to resolve.

But it is what it is.

For now, I am staying locked in on Kaggle for at least another week, alongside my undergraduate research.