Starting from last year, I have been studying various subjects in order to understand some of the most important thesis of machine learning like

S. Hochreiter, & J. Schmidhuber. (1997). Long short-term memory. Neural Computation, 9(8), 1735-1780.

However, due to the fact that I don't have any mathematical backgrounds, I started to learn subjects like

  • Calculus
  • Multivariate Calculus
  • Mathematical Anaylsis
  • Linear Algebra
  • Differential Equations
  • Real Anaylsis (Measure theory)
  • Elementary Probability and Statistics
  • Mathematical Statistics

Right now, I can't say I have done studying those subjects rigorously, but I know what the subjects above want to deal with. The thing is that I don't know what I have to do at this point. There are many subjects that machine learning uses to solve many problems out there and I don't know how to utilize them correctly.

For example, reinforcement learning is now one of the most popular topic that hundreds of thousands of researchers are now doing their research to make a breakthrough of curse of dimensionality. But, as a future employee who's gonna work in IT companies, the task on the desk wouldn't be something I expected to do.

Is it important to have my own expertise to work in the fields? If so, what kinds of subjects do I have to study right now?

For your convenience, I want to know more about Markov process and Markov decision process.

  • 1
    $\begingroup$ I would say that if you understood everything in that LSTM paper, you more or less already have all "prerequisites" to pursue your career in ML. Of course, you will find new concepts (everyone does) in your way, but you will be able to deal with them (by doing some research on your own). Markov processes and MDPs aren't really a big deal, if you understood the LSTM paper. $\endgroup$ – nbro Feb 19 at 11:10
  • $\begingroup$ A related question How can I start learning mathematics for machine learning?. $\endgroup$ – nbro Jun 2 at 16:28

As a master's degree student in Artificial Intelligence, I strongly advise you to study some basics in Machine Learning.

To do that, you can get a good book (Machine Learning, Tom Mitchell, McGraw Hill, 1997) for the theory and practice by yourself trying some Kaggle competitions.

I suggested the book of Mitchell because he is an expert in the field, and lot of Machine Learning courses uses his book. You can also follow his videolectures online

On Kaggle, you can find many useful tutorials (named as Notebooks) to get started working with the available datasets. Some tutorials about Titanic Challenge here


Actually, you don't need a rigorous study of these subjects to implement Machine Learning Algorithms. Only Probability Theory needs to be treated rigorously in Machine Learning. You can find a very good series of Probability Theory lectures here:

Introduction to Probability - The Science of Uncertainty

Also, a basic course in Calculus would suffice, for basic implementations you don't actually require understanding of high level Calculus unless you want to make a tailor made weight updation schemes or Neural Nets with something new. But to gain an intuition about Calculus check out Khan Academy: Calculus

Some basic idea of Linear Algebra is sufficient, just to visualise things and gain an intuition. Khan academy has a great course on this,i suggest you to check it out: Linear algebra

As, for programming languages Machine Learning or NEural Nets is best to implement in Python or R as data visualisation and programming in them is quite easy.

The main thing about implementing Neural Nets and Machine learning is practise, the more you practise the better you get. You'll also get an intuition of what you are doing with practice. Only reading theory and understanding concepts won't help you. You have to implement it in real life. As far as book is concerned you can view my answer here:

Vetted sources of AI Theory/Tools/Applications for an experienced programmer new to the field?


I found statistical models very helpful. However, statistics on its own isn't enough, you also need a very solid background in probability theory.


learn basics of python first. Start with baye's theorem then go to 1) probability density functions 2) cumulative density functions 3) continuous functions 4) central limit theorem.

  • $\begingroup$ Besides that, do you think it's important to learn graduate level probability theory in order to see some advanced level thesis of machine learning? And also, assume that I know all of the things above(I don't mean to be rude but, to be honest, I know what is the difference between continuity and uniform continuity, pdf, cdf, mgf and etc), do you think it's important to learn markov process to make a production level program? $\endgroup$ – Windforces Nov 13 '17 at 10:23

First, a quick background on me. I was a pre-med student who graduated undergrad with a Biophysics degree. After some hard work and smart decision making, I am now a AI/ML software engineer with a Master's in Computer Science (specialty in Machine Learning).

Is it important to have my own expertise to work in the fields?

Yes, absolutely, but not necessarily in a professional context. You don't need to have been employed as a machine learning software engineer, but do need to show proficiency with the field. Which is a great segue to the second part of your question...

If so, what kinds of subjects do I have to study right now?

Their is no one subject you should give your focus. Machine learning is a combination of many different fields, and it would not be very efficient to focus on just one before diving into more thorough practice. Instead, tutorials and practice are the name of the game.

  • 3Blue1Brown on Youtube gives great tutorials, especially on neural nets
  • Khan Academy is a godsend when it comes to math tutorials. Linear Algebra and Probability/Statistics are the best to start with, I'd say. But Multivariable Calculus and Differential Equations are ultimately used as well.
  • Udacity is a great tutorial site that even offers "nanodegree" programs to give you more hands on experience in artificial intelligence and machine learning. It is free if you just want to view the videos.
  • OpenAIGym is a great place to practice Reinforcement Learning
  • Kaggle has great tutorials on machine learning and their contests provide great practice with supervised/unsupervised learning.

Complement your development in the theory and mathematical background with hands-on development and practice to achieve the best results. You mention a specific focus on MDP's, with which the Udacity tutorials and OpenAIGym would both give great practice.

If you are interested in a Master's Degree, I can't recommend Georgia Tech's Online Master's in Computer Science (OMSCS) enough. It is a great education, and (when I was enrolled in 2015) required no GRE and only cost about $8000.00


Learn Machine Learning in 3 Months

This is the Curriculum for "Learn Machine Learning in 3 Months" this video by Siraj Raval on Youtube

Month 1

Week 1 Linear Algebra

https://www.youtube.com/watch?v=kjBOesZCoqc&index=1&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

Week 2 Calculus


Week 3 Probability


Week 4 Algorithms


Month 2

Week 1

Learn python for data science


Math of Intelligence


Intro to Tensorflow


Week 2

Intro to ML (Udacity) https://eu.udacity.com/course/intro-to-machine-learning--ud120

Week 3-4

ML Project Ideas https://github.com/NirantK/awesome-project-ideas

Month 3 (Deep Learning)

Week 1

Intro to Deep Learning https://www.youtube.com/watch?v=vOppzHpvTiQ&list=PL2-dafEMk2A7YdKv4XfKpfbTH5z6rEEj3

Week 2

Deep Learning by Fast.AI http://course.fast.ai/

Week 3-4

Re-implement DL projects from my github https://github.com/llSourcell?tab=repositories

Additional Resources:
- People in ML to follow on Twitter

  • 1
    $\begingroup$ Yes, I can tell you why I downvoted this answer. 1) I don't think you can learn machine learning well in 3 months, by also studying the prerequisites. 2) Everyone has its own pace when learning, so restricting the learning to 3 months is not a good idea. 3) You're linking people to other sources without explaining why. $\endgroup$ – nbro Feb 20 at 9:51
  • $\begingroup$ We can not be a PRO but at least Nuance to do some and head up some ML competition. If I put a link I mentioned there what you will get from that link. Also every one has there own pace of learning I also agree to that point but you can make your hands dirty in this three months. This is very generic answer given considering no own knows nothing but they just want to start and gain confidence after that they can start dig deeper. $\endgroup$ – Maheshwar Ligade Feb 20 at 10:14
  • $\begingroup$ @nbro If I agree to your point everyone has there own pace of learning then at least few people can take advantage of this answer $\endgroup$ – Maheshwar Ligade Feb 20 at 10:19
  • $\begingroup$ This answer is more applicable to the engineers not for researcher and scientist $\endgroup$ – Maheshwar Ligade Feb 20 at 10:21

protected by nbro Aug 13 at 21:55

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.