Beginners often find themselves in a dilemma whether they should focus more on the theory or more on the implementation. In this newsletter, we’ll discuss two learning approaches in detail to let you come out of this dilemma. If you really want to make an informed decision about what to focus on your ML journey, read the newsletter till the end.
Introduction
Bottom-Up
We’ll start with Bottom-up approach. This is the approach which is often followed in schools and universities.
It emphasizes more on building a strong foundation before starting to work on ML projects. You start by learning the foundational concepts, theories, and techniques of machine learning. This typically involves understanding basic mathematics, statistics, and programming. Then, gradually progressing to more advanced topics specific to ML.
Bottom-up approach is like building a house. You first lay down a solid foundation before adding multiple layers or fancy stuff to it. A solid foundation is important to build a sustainable building.
Top-Down
Top-down is more like jumping straight into the action. It is also known as learning by doing. Suppose, you want to learn how to drive a car? Do you take practical lessons from a driving instructor? Or do you learn the theory of how an automobile engine works first? I think most of us will go with the first option. Taking practical lessons directly from the driving instructor.
The top-down approach involves starting with real-world ML applications and projects. You start by using in-built libraries to do ML stuff without worrying too much about the mathematical details. Then, as you work on projects and encounter problems, you gradually start digging deeper into the math and theory behind ML as needed.
Roadmap
Bottom-Up
Begin by understanding the fundamental topics such as linear algebra, calculus, probability theory and statistics. Most ML models architecture is based on these concepts.
Next, learn commonly used programming languages in ML, such as Python. Get familiar with libraries like numpy, pandas, sklearn, seaborn etc.
Finally, with a solid understanding of math and programming, you can now explore ML algorithms and techniques. Start with simpler models like linear regression and gradually progress to more advanced ones like deep learning and reinforcement learning.
Top-Down
Begin by working on simple ML projects through tutorials, online courses etc. Use ML libraries and frameworks to implement the algorithms without going deeper into the mathematical details in the beginning.
Learn to work through the projects end-to-end. If you encounter challenges, dive deeper into the theory and mathematics of relevant topics.
Keep iterating between practical application and theory understanding on need basis. This will help you build comprehensive knowledge over the period of time.
Advantages
Bottom-up
Builds a strong foundation in mathematics and programming, which are essential for understanding, designing and implementing ML algorithms.
Deeper understanding of ML concepts helps to interpret and explain the results. If the results are not as expected, it becomes easier to dissect the ML project flow and figure out the conceptual faults.
Good programming skills helps to modify or customize the algorithm to suit specific tasks or datasets.
Solid foundational knowledge contributes in understanding the latest and ongoing research through research papers, articles etc.
Top-down
Less intimidating for beginners as the focus is on producing the results without caring too much about the mathematics and theory.
Working on practical projects gives an idea of how ML is used to solve real-world problem. It keeps the interest and motivation high.
Don’t need to implement everything from scratch. You can focus more on applications.
You learn and deep-dive into the specific topics based on your project need. It saves time from reading irrelevant theory and topics which are not required.
Limitations
Bottom-up
Building a solid foundation takes time and patience. You may feel discouraged or frustrated after a while.
Understanding complex mathematics or learning programming language can be intimidating especially if you are not from technical background.
Too much emphasis on the theory can make the learning journey dry and boring.
Top-down
Jumping directly into practical applications can create gaps in understanding the underlying theory and concepts.
Lack of solid foundation in fundamentals may lead to incorrect interpretation of results or misconceptions during model selection.
Depending on the in-built libraries for algorithm implementation may limit your ability to modify or customize the algorithms for specific tasks.
In summary, there is no one-fits-all approach. It depends on your background, interests, goals and learning style. While bottom-up approach encourages you to build a strong foundation which can be helpful to deal with complex problems, top-down approach let you dive straight into the problem-solving and keep your motivation high.
Both approaches have their advantages and limitations, so it is really about figuring out what works best for your. You can also try to adopt a balance of both the approaches. The choice is yours!
Select your option. Let’s see which approach aligns with the majority!
“When faced with a decision, choose the path that feeds your soul.”– Dorothy Mendoza Row
Curious about a specific ML topic? Let me know in comments.
Also, please share your feedbacks and suggestions. That will help me keep going.
See you next Friday!
-Kavita
P.S. Let’s grow our tribe. Know someone who is curious to dive into ML and AI? Share this newsletter with them and invite them to be a party of this exciting learning journey.