Abhijit Annaldas

For the love of data and machines that can learn!

GitHub | Kaggle | LinkedIn | Quora | Twitter | Feed

Applied vs Theoretical Machine Learning


One can approach learning Machine Learning in one of the two ways viz., Applied Machine Learning and Theoretical Machine Learning. Both the paths are very different and empower an individual in different ways to make a difference/solve problems.

  • Applied Machine Learning is about understanding the Machine Learning concepts at an abstract level sufficient enough to solve problems using machine learning (applying machine learning). This involves gaining expertise in using the tools and libraries which implement the Machine Learning Algorithms at their core.
  • Theoretical Machine Learning on the other hand is about understanding the underlying algorithms, mathematics, probability theory, statistics and definitely a lot of other subjects/concepts at the fundamental level.

Applied Machine Learning

Applied machine learning is about solving real world problems. This is where the potential and impact of new inventions/discoveries made through advancements in theoretical machine learning are realized. It’s all about data, seeing a difference in the lives of people first hand. Once a person understands basics of machine learning and the big main concepts, he/she can get started with applied machine learning. Expertise in applied machine comes with practice and solving problem after problem. It takes understanding of the data, the challenge a person/institution/society is facing. It is motivating to see the results relatively quicker as one solves a problem after problem.

Theoretical Machine Learning

While Theoretical Machine Learning is exciting to learn, it is much more vast than applied machine learning at an uber level when one begins learning. As one studies, the subjects/concepts will touch base with many other concepts and subjects. Every new piece of theoretical study might come with things that might need double clicking to understand further. It ellicits curiosity to learn more and intimidates at the same time. In the initial stages, it’ll leave the learner with a feeling of not knowing a lot of things, which is true. In case of theoretical machine learning, the path (well, it’s a graph :)) is long and needs a lot of learning, before picking a particular subject/area to dive deeper to gain further expertise/specialization.

With Theoretical Machine Learning, the rewards (read as satisfaction/results/problem solving) might be slow but are very satisfying when achieved. One might invent an new algorithm or improve ways of doing things. The new discoveries/inventions may be realized as speeding up existing solutions, solutions to unsolved problems, etc. In other words, it opens up door to possibilities to be realized with applying the new inventions (applied machine learning).

I’m trying to strike a balance between learning theoretical and applied machine learning. Both the approaches excite me equally, albeit in different ways. Applied Machine Learning excites because I am able to see the results of my work quicker/first hand. And Theoretical Machine Learning gives me a sense of satisfaction of knowing something new at the end of the day (though I may or may not pursue the research path in long run). If you are aware of reinforcement learning, the problem I’m facing can be aptly put as exploration (theoretical machine learning) versus exploitation (applied machine learning) dilemma :)

If you are a self taught (or just beginning) data scientist, you will understand that there are times when you would be on full throttle (read as doing/seeing results/learning a lot) and there would be times when things aren’t moving as fast. You may be left with a feeling of wasting a lot of time, you aren’t making any progress, you might be reading/learning something which might feel irrelevant to you as you learn. I’ve been through such times and I guess that might happen again. There would be ups and downs, it’s not easy to build an expertise in such a field keeping the day job. And never, ever think if it’s all worth it! When things aren’t moving, just give it some time and hang on during difficult times. Get back on track, every time you feel derailed!

Last but not least, these are just my views coming directly from my heart. I don’t mean one is superior to other, or one is lot of hard work, rewarding, satisfying over other. Both are equally important and both need each other.

Machine Learning Practitioners and Researchers, please share your valuable advice/inputs in comments…

Abhijit Annaldas
avannaldas [at] hotmail [dot] com