Getting into ML/AI: Path to follow

Vishal Rajput
Aug 30 · 6 min read

Lately, a lot of people are asking me about AI and ML, how to enter the field or how to get started in the field? Before I discuss the things required to be a good data scientist or an AI engineer, let me tell you one thing, remove the notion that you can understand AI and be good at it in just six months. I have spent more than 4 years and I still feel that I’m still a beginner in AI. Know this, the more you study, the more you will know how much you don’t know. Then what you can learn in six months? How to get started with different tools required to build a career in AI.

Now let’s get into the nitty-gritty details of AI and what is the level expected from you if want to become an expert in AI. Learning how to use the tools can land you into several companies, but if you truly want to become an AI researcher and work for the companies that actually develop AI, the path is long and arduous. There are several components to learning AI and ML:

Mathematics

Computer Science

Programming

Tensorflow/Scikit

Research papers and lectures

Mathematics, there are three things that you need to understand in order to get started, probability, linear algebra, and statistics. You should be well versed with theorems like Bayes theorem, Chisquare distribution, hypothesis testing, T-test, Z-test, learn how to interpret different distributions. Hypothesis testing is a very crucial part of fields like AI in medical or finance. Linear algebra plays a very very important role in AI especially vectors and matrices. I ask people what is dot product and cross product, everyone tells me the correct mathematical formulation but almost no one has ever told me why they exist, what they actually represent, when to use them. There are several matrix-related operations as well like matrix decomposition and many more. Here are few Youtube channels from where you can read these topics:

Computer science, when I say this word to anyone, the first thing that comes to people’s minds is coding. Coding is just a way to express different sets of logic that’s it. Coding is not computer science, it’s just a way to represent complex ideas in a logical way. Coding is fundamental to Computer science but not more so than building logic and maths. People often underestimate the power of maths. Learn maths behind every algorithm you learn, calling SVM or Random forest from Scikit-learn doesn’t make you an AI expert, even a child can do that. If you want to really test this thing, I ask you to make a decision tree from scratch and run it on 1 million rows and then compare your results with scikit’s decision tree. You’ll understand how far you are from the actual algorithms. Understanding maths behind all the basic algorithms is a must and I can’t stress enough the importance of this. I’ve spent an entire semester learning maths behind SVM. You must be thinking about what’s there to learn for a semester in SVM. Trust me, there are so many nuances that if I show you the equations of SVM you wouldn’t be even able to tell it that it's SVM’s equations. Given below is the book we read for an entire semester.

https://www.esat.kuleuven.be/sista/lssvmlab/book.html

Other resources to learn the maths and intuition behind ML algorithms are

Fundamentals of deep learning

Programming, intuition, and visualizing things in your mind are not going to cut it, as problems become more and more complex, you won’t be able to visualize them. That’s where programming comes in. Python is the main language being used for AI and ML. You can learn these from any youtube channel you want but I learned from Harrison Kinsley's. You can also have a look at R and Tableau. The former is for doing hypothesis testing and the latter is for better visualization of the results.

Series for Python3
Series for ML in python

Tensorflow and Scikit, two of the most famous libraries in the world for production-related AI and ML development. It has made getting into AI a super easy job, especially with Tensorflow version 2. Back when I started my journey into AI, Tensorflow was not very refined thus I had to learn a lot more about its working which I find extremely useful now. Know this, since these libraries have made it super easy to implement stuff that doesn’t mean that you won’t read through the parameters and run everything with default. Learn to navigate these libraries, every algorithm has a ton of parameters to fiddle with, you should be aware of what parameters are important. In TensorFlow, learn how to write custom loss functions, custom loss layers and how to write everything custom. Learn how to write AI codes without TensorFlow as well.

Now comes the part which is going to differentiate you from an average AI guy. Up to this point whatever I have told you will only make you implement things in a nicer and efficient way, but this won’t suffice to be an AI expert. The thing with AI is that every problem can be solved by n number of techniques, and the real deal is to identify the best possible solution for a given problem. Think for a minute, people have spent years in developing AI, what do they actually do for all these years, they try to form connections between different methodologies and related maths. They identify what is missing in the current algorithm, how to improve it. This can only come by practice and reading a great amount of literature behind the internal working of an AI. For instance, I can tell whether a custom loss is used or a generalized loss by looking at the gradients. Think like a researcher, if I say to you make changes to the Decision Tree algorithm in order to prevent an adversarial attack, you should be able to answer why the decision tree is suffering from these problems and what are its solution. Often, solution to these problems doesn’t exist on Google, you have to relate whatever you have read to come up with a solution. I have spent countless hours watching lectures and I think that until and unless you watch the long and arduous lectures, you will never be able to make correlations. You can learn SVM in a 10-minute video or spent an entire semester learning it, the choice is yours. No one in the world can compare the learning of a 10-minute video with a semester learning, so there will be a definite difference in the learning outcome of both methods. Build a habit of reading research papers as well, it’s going to help you a lot in the longer run.

Apart from this take part in Kaggle competitions, that’ll teach you a lot of tricks. If you follow everything written here, it’ll take somewhere around 2 years to finish it off. Don’t rush through it, it’ll take time to grasp the concepts. You can easily finish off these videos in 6 months but trust me, then you won’t remember even 10% of it. By this point, you might be thinking two years is too long, it’s not, trust me. It took me 5 years to reach this point, back when I started, I had no one to guide me. So, don’t get impatient and keep learning, I still try to watch the lectures from these great professors and keep myself updated.

Happy learning…

Follow this blog for more AI-related awesome content.