Building vs. Using Machine Learning Approaches
I’m about 30% through my summer course on Inferential Modeling, and in the latest set of lectures, I’m running into topics that I learned and wrote algorithms for as part of the Cornell Machine Learning Certificate program. The difference between the approaches is striking, and I’m absolutely loving it. In the Cornell program, you learn enough theory and mathematic principles to be able to code, from scratch, an entire machine learning algorithm, and over the course of two weeks, you might build a handful of functions that end up accomplishing a single task. On the other hand, my Master’s program covers many of the same concepts, but only at a high level, and then switches to (in this course) an R package that does most of the heavy lifting for you.
While in practice, I suspect I will rarely (if ever) build a machine learning algorithm from scratch, the act of doing so has given me an in-depth and intimate knowledge of the inner workings and complexity of these beautiful inventions. The level of confidence I have in my ability to deploy these tools in practice is multiples higher than it would be if I were just learning the high-level theory and then plugging data into a pre-written algorithm. I feel ahead of the game, and am grateful for the experience in the Cornell program thus far, but an equally glad to be going through the degree-focused practical courses at the same time. The two have fed and continue to feed into each other, and each of them have enhanced my experience in the other. While it’s been challenging at time to manage the workload in addition to my full-time job and family life, in the long run I’m going to be grateful that I took it on and made it through.
Assuming I survive the month of June, that is. :)