How to learn complex concepts in Machine Learning?
In today’s ocean of information about Machine Learning and Artificial Intelligence, it is easy to feel lost, and to label those fields as impossible to learn. That’s why I decided to share my personal experience and guide you with some simple techniques that can boost your creativity and effectiveness. After applying them, your process of learning will become much faster and more pleasant. Those steps led myself to the success. After I finished my Sociology studies, I decided to develop further my interest in multidimensional data analysis, that is currently very useful, especially in topics such as Machine Learning or Computational (Artificial) Intelligence.
So, let’s start our adventure!
#Plan and reason WHY
As simple as it sounds, you have to start with a Big Dream, or a Big Goal — something that you are really excited about. You can even hardly eat or sleep before you make it happen.
You also have to add the reasons of why do you want to do it, why is it important to you? What will it give you in your personal development and in your career?
Remember to associate positive feelings with everything you want to learn, and make it exciting, that you can hardly sleep. Create a compelling vision of who do you want to become after mastering that knowledge. It is really crucial, because with those arguments and answers to all of those questions, you will have some help during the “hard times”. Only those with real motivation will not give up when everything becomes really hard. And what’s more, having a vision that requires your willpower is not enough. You have to make it so bright, amazing and compelling, that it pulls you through. Have fun along the way, you are doing the most important thing in the world: you’re investing in yourself. Feel the joy and passion.
#Simple definition
The next step is to start with the simplest definition ever. So, if you have a goal like learning more about Deep Learning… first, create a connection — that it is a learning process that consists of not one, or two, but many neural networks. So, what is a network? It is a mathematical function, and it is called “neural” because it works in a way that is quite similar to our brain. You can even imagine that you will have to explain it to a 4 or 5-year old child. It is such a challenge, isn’t it?
#Goals and deadlines
Bit by bit, one step at a time. Great empires have been built following one simple strategy — divide and conquer. It was the motto of the Roman empire. Having a list of tasks or areas that you want to learn, all of them with deadlines or time frames, will help you with discipline and to create rituals or habits. The deadlines can change with experience, something can take little time or much longer, but they will help you to create a clear focus, to make progress and to execute your tasks.
#Questions
Allow your curiosity to lead your learning path. Create a list of questions you are curious about and that you want to find answer to. From my experience, you can start with asking questions like: What is Deep Learning? What is a neural network? What are a few examples of Deep Learning applications? How can I use it in business? Or even: How can I create a self-driving car? These are only suggestions, but you can start building your own awesome list of irresistible questions by yourself. They will help you focus on the most important parts, and let your concentration stay at the highest level.
#Notes
Take notes from the materials you come across. From my experience, the best idea is to spend ⅓ of your learning time on research. You can do it in a lot of ways, like taking a course on Udacity or Udemy, reading some white paper, watching tutorials, etc.
#Knowledge in use
And the remaining ⅔ of your time should be spent on creating something with that knowledge. You can write some summaries, communicate this knowledge to others, explain it to somebody, create your own applications, write it in your own words, or solve problems with that knowledge. It is really important, I can even say that it is crucial for you, because it helps you systematize the information.
To summarize:
1. You need to create a plan of what do you want to learn
- You can do this by creating your Big Dream or Big Goal, and of course the reason WHY you want to do this.
- From my personal experience, a lot of people don’t have enough motivation, because they lack a clear reason, why they want develop those skills.
2. Start with a simple definition of a complex concept
- It needs to be something you can understand.
- Then, build everything basing on this fundamental knowledge and go deeper and deeper.
3. Have in mind that deep learning is a language
- You have to understand the rules to be a master in it.
4. These are the super powerful beliefs that give you the strengths that are needed along the way
- Set achievable goals to learn more about a concept
i. for example: understand the simplest idea, then in general, then in details.
- Add some realistic deadlines
ii. some time estimation, it can change with experience, but it will help you develop habits or discipline yourself.
You can use those techniques also to speed up your learning process in any other field. Have fun implementing them in your own life.
#Links
If you have no experience with software development, but want to develop Machine Learning-based things on your own, check out the Programming Foundations course:
https://www.udacity.com/course/programming-foundations-with-python--ud036
Then, the Data Foundations Nanodegree (data analysis and visualization):
https://www.udacity.com/course/data-foundations-nanodegree--nd100
When you learn basics, you can check out other courses that allow you to dive into Machine Learning world (I suggest you to follow this order to get the best efficiency of learning).
Business Analyst Nanodegree (working with datasets — data analysis, segmentation, visualization and time series analysis):
https://www.udacity.com/course/business-analyst-nanodegree--nd008
Data Analyst Nanodegree (basics of data mining and data analysis with Python, R and SQL):
https://www.udacity.com/course/data-analyst-nanodegree--nd002
Machine Learning Nanodegree (supervised learning, unsupervised learning, basics of reinforcement learning):
https://www.udacity.com/course/machine-learning-engineer-nanodegree--nd009
Artificial Intelligence Nanodegree (computer vision, natural language processing):
Deep Learning Nanodegree Foundation (convolutional neural networks, recurrent neural networks, generative adversarial networks, deep reinforcement learning):
https://www.udacity.com/course/deep-learning-nanodegree-foundation--nd101
Self-Driving Car Nanodegree (computer vision, deep learning):
https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013
Robotics Software Engineer Nanodegree (deep learning, convolutional neural networks, semantic segmentation, reinforcement learning):
https://www.udacity.com/course/robotics-software-engineer--nd209
You can also check out the Machine Learning course by Andrew Ng (Stanford University) on Coursera: