How To Get Started with AI after your MBA — Part 3

Aditya Khokhar
6 min readMay 25, 2018

--

The previous post of this series was all about getting yourself ready with basic programming and an understanding of what is needed before you can actually start coding up your AI system.

In case you want to start from beginning here is the link to Part 1.

This specific post is all about how to actually start with the AI stuff. Assuming you know Python by now and you don’t have an issue in understanding what is an API or what the hell is Docker you are all set to move ahead.

First thing first, ignore the stupid list of books and courses you see on blogs and Quora. Believe me they won’t take you anywhere.

No Caption, Just to make this page colorful

The very first thing you should do if you want to start with AI is Andrew Ng’s course on Coursera. Now the important thing here is to understand the expectation from this course. AI is something of a Maths+Code stuff, so Andrew Ng’s course is all about a quick intro to the Mathematical part of the stuff. And yes the answer to the question whether I need to know the maths behind everything on AI, the answer is not very simple but it’s something like this. A pilot flies a plane but that doesn’t mean he don’t know what’s inside the aircraft, he doesn’t have to repair it or manufacture it but he surely needs know what’s going on inside. The same is with AI, no one would ask you to solve the differential equations involved but if you don’t know what’s happening inside you are at a big loss. So yes, sweat a little in the beginning to understand what is happening.

Okay, you have done your first Machine Learning course but it doesn’t feel like much. You still don’t know what exactly is a Neural Network or what exactly an SVM does.

The path from here on can be little tricky but here are the options. The link here is very helpful in giving a gist of key AI algorithms you need to know on your journey of becoming a successful AI professional. Broadly speaking the algos can be split in the below groups:

  1. The classic ones (PCA, Polynomial Fitting, Linear and Logistic Regression and K-Means clustering)
  2. The slightly fancy ones (SVMs, Decision Trees and Random Forests)
  3. Everyone’s fav (Neural Networks)
  4. Other advanced stuff you don’t need to worry about at the moment

One way can be to study and master by practising problems from Kaggle for first two groups and then move towards Neural Networks. Why this distinction? Because I find Neural Nets a little more advanced and in-depth than others and also because of their popularity nowadays. Or you can straightaway start with NNs and leave others (this is very dangerous though).

But the question remains, what to read and watch in order to master these algorithms. The first two categories are somehow relatively simpler than the NNs so couple of YouTube videos and lectures from university courses should be enough.

However, NNs are something where things can get very tricky and I will try to share my resource plan for the same.

The very first thing you should do is read this link line by line: http://adventuresinmachinelearning.com/neural-networks-tutorial/. This is hands down the best Neural Network tutorial you can get out there. Read it line by line, implement the code and understand what’s happening in it. In addition to a complete understand of a basic Neural Network it will also sharpen your understanding of Python and Numpy arrays.

The second step without any second thoughts is to read this online short book: http://neuralnetworksanddeeplearning.com/chap1.html. While the earlier link provided you with a strong understanding of an NN these 6 chapters will further make your understanding of NNs very firm.

By now you will have an idea of what a NN is and how it works. Also by now you would have heard about things like PyTorch, Keras, TensorFlow, Convolutional Neural Network, NLP, LSTM, etc. and you would be wondering well great I have coded up my first Network but I seem to be still lost.

You have really come far ahead by now and next steps are very important. By now you would have developed some sort of an inclination towards the type of problems and algorithms you like more than others, this is completely fine. And it’s even the right time to start thinking of your problem which you would want to solve using AI (this is critical because in part this is what that will make you proficient).

Nevertheless how to make sense of those buzzwords like TF and all.

So, NNs are of various types, the simplest is called a Perceptron about which we learned above. The other ones for Natural Language Processing are called LSTMs (Long Short Term Memory) and for image processing we use what are called as CNNs (Convolutional Neural Networks). This is only indicative use cases to help in an initial understanding, in present day practical usage a combination of algorithms is used for multiple purposes. One of the link above has links on the specific tutorials of these networks.

Now you don’t always code up your NN from scratch, in fact what you do is either take an already trained NN or use a framework to help you easily build a NN and fine tune it. Technologies like TensorFlow, Keras and PyTorch are essentially that, they help you code up your AI programs quickly so that you can focus more on solving the problem rather than on designing an NN from ground zero.

There is again a debate on what to choose from TF, Keras, PyTorch and others. We can keep things simple and go ahead with TensorFlow. Why? Because it’s pretty popular in the community so you have that great support from developers all across, and also there is no dearth of tutorials to learn this thing.

What next then?

Simple, learn TensorFlow and the only resource I will recommend is this: https://github.com/Hvass-Labs/TensorFlow-Tutorials. Leave everything else and just follow the set of 20 something tutorial to actually learn TensorFlow.

Pro Tip: Know what is a Jupyter Notebook and how they work. Install on your system manually and also using Anaconda.

Pro Tip: Know what are different environments in Anaconda and how to manage them. Know what is pip install and try your hands on that too.

Also you can read up this great book called Hands-On Machine Learning with Scikit-Learn and TensorFlow from O’REILLY to understand certain topics in-depth. Trust me this is by far the most practical and useful book on Machine Learning with TF.

Well, we are coming to a close now and till the time you are done with above steps you have had an adventure. The next steps are something which you have to find out on your own depending on what you want to do and where you want to go next.

In addition to the resources mentioned in all the 3 articles you can also refer to following books (you don’t need to read them entirely but only for certain details).

  1. Deep Learning Book by Ian Goodfellow (Particularly great for Machine Learning Basics and Neural Networks Mathematical treatment)
  2. Machine Learning by Mitchell (for special topics like Q-Learning, Reinforcement Learning)
  3. Machine Learning: A Probabilistic Approach by Kevin P. Murphy (in case you are interested in Mathematical Details of Algorithms)

These introductory articles were only a very short step in starting your journey towards the field of AI. It only provides a good foundation on which you can build yourself further. The best way after these articles is to start working on a problem space (like I am dabbling with using AI in Financial Markets) and use whatever you have learned and will learn in order to solve that.

I hope this helped some people out there. If yes, leave a clap behind.

Also stay tuned for some more pieces on specific applications of AI in Financial Markets. In case anyone has trouble in finding any book or something do let me know.

--

--