The Magic of Going Top to Down

Mr_KnowNothing
7 min readFeb 3, 2021

--

Experience massive speed up in the learning rate by going top to down

Image by organizationalphysics.

It’s 2021 : The Digital Era , where in we have been endowed upon this power of learning anything with just few clicks made possible by the Internet and booming e-learning industry, but as Uncle Ben(lame spiderman reference) says ,“ With great Power comes great Responsibility ”. With such huge number of resources available online(especially in Data Science) , it can be often overwhelming to chose the right one and even if you chose the right one , there is a high chance to get lost midway because of the shear pace with which the area is expanding or it can also be due to , you seeing other people working on the new cool technologies while you might still be at the basics . Of all the questions I get asked , one of the most prominent ones are course suggestions , path suggestions and how to get started . In this post I try to address these questions by discussing about the technique which has worked wonders for me and is one of the prime reasons for all the success I have had.

Let’s start by answering two prime questions :-

When do you learn the most? To answer this scientifically we learn the most when we are really enjoying what we are doing because at that time our brain picks up things unconsciously that we don’t even learn and make automatic hidden connections just like the neurons in our neural networks ;-) ,similar to when you are playing a shooting game like COD or Counter Strike , you never learn the hand eye co-ordination needed its already there if you love playing games .

What is the first thing you do when you want to learn something?” Let’s suppose we want to learn how to do ride a bike , what we do? well it’s general practice that we would take a bike for a ride and learn everything while we ride it right? Similar argument is true when learning guitar or a car or anything of that sort but when it comes to academia the dynamics suddenly change , For Eg:- What would happen when you want to learn Python or Salesforce or something related to academia , you would take a course or a buy a book , go through the theory , till you have killed the interest in the subject due to boredom and only then you get started with using the actual technology .

Now that we have answered the two prime questions , let us informally define top-down and bottom-up approach . The first example of how we learn to ride a bike or any practical stuff by experiencing it first and then learning about how everything works internally to make the perfect picture is the Top-Down Approach and the second example wherein we first learn everything there is about a technology then we actually start to use it is the Bottom Up Approach .If you are from India you can relate to this because we have because the education system here has been build that way that we follow this approach right from our childhood. There you have it now you have some understanding of the technique that we are going to talk about . From here on , I will discuss the shortcomings of the bottom up approach and will try to logically prove that Top-Down Approach is not only better but a natural and intuitive way of learning.

The majority of things that we learn in our life is by experience right? I mean can you ever imagine learning to cook or to drive with bottom-up approach (theory first approach) . The most natural instinct for any human in life to learn anything new is by diving right in and learning by experience. But for the sake of argument lets suppose we try to learn driving by bottom up approach wherein we are first showed a bike , then we are given a description about the important components like gear , clutch ,etc ,how they function and work , then we are given different lectures of how to bank , what speeds to use in which gears ,etc and after this being done for a week then given the chance to actually ride a bike . What would happen ? Below are some possibilities

  1. You will get bored and think bike riding is not for me .
  2. You might also give up because its taking too long whereas you see your other friends doing cool stunts on their bikes
  3. Your experience and thinking about what you can do about a bike will be restricted to the information given to you in theory lectures .This is one of the key drawbacks of the bottom-up approach , as you are being taught only specific use cases of the technology/product usage your mind shuts itself off and your creativity becomes limited
  4. Even somehow you go through it and complete it , you would be less confident and less enthusiastic about it

So there it is , I just told the drawbacks of the Bottom-up Approach . How do I know all this? because its what happened with me too . When I started with my data science journey in mid 2018 , I started with a course , finished it somehow ,got bored didn’t have enough self confidence , thought data science was not for me and quit , rebooted again in 2019 did the same mistake of taking a course and quit again.

In 2020 when I was starting with my journey again I had all of the above realizations and thought why not use the technique that is the most natural and has been successful all my life , the “The Top-Down Approach” . Here is how I apply this approach and how you can too :-

  1. I make a list of what all I want to learn and take a project that involves the use of all the listed contents , then I directly start developing the project by copying code snippets and by googling without going into how things work. Now suppose you want to learn Python , and you have zero programming experience what so ever , to apply top-down take a very simple project like a calculator without the UI of-course , or a tic-tac toe game , search for the code of the chosen project on google , copy the code , run the code line by line and google whatever step you don’t understand .
  2. Once you have a working prototype , you can now dig in deep of how the algorithms used work , how the technologies used ,etc work . In your case suppose your program for calculator used print function or if statement or a list , you can now dig deep on how they work and how they can be leveraged into doing other things

Confused ?

Image by thenewbieguide

I can understand it’s very unorthodox but wait till you hear why it works and then it will feel only natural to do so

Why this works?

Let’s see what you are doing in step 1 , you have zero knowledge of python still at the end of step 1 you are able to build a calculator without even knowing a lot of python , this in turn is a very big confidence booster and removes general fear like “I have never written code , can I do it” , “I am from a non-cse background”, etc and makes you comfortable . This also eliminates the thought that others are building new things and you are just uselessly studying theory. In the second step when you dig deep , your mind starts to fill in the missing pieces of the puzzles thereby boosting your creativity and at the same time unconsciously creating thoughts that what are other places where you can use the same technologies/methods ,etc . And your interest which was subsiding with time in bottom-up , here it increases as you feel good about what you have just build because you didn’t think it was possible to build a project on the first day using something you didn’t have any idea about . This rise in interest and enjoyment of the work in turn boosts your learning rate.

All these factors make Top-Down Approach the best and a very natural approach when it comes to learning anything . This has worked like a magic for me and every-time I use learn something new I appreciate it even more .I hope you got some insights through this and it was helpful in some way .

This is the first blog in a weekly blog series which I have started called OPtimize(MLLoss) . If you like how I write , you can follow along the series curated on this repo : https://github.com/tanulsingh/Optimize-MLLoss-

If you want to get started with Kaggle or data science in general , here is a post I wrote about it : https://www.kaggle.com/tanulsingh077/tackling-any-kaggle-competition-the-noob-s-way

You can know more about me from here:

--

--

Mr_KnowNothing

Spreading Machine Learning Knowledge , One Blog At a time