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 '19 at 11:10

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 a full understanding of calculus unless you want to implement a weight update scheme for 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 visualize things and gain an intuition. Khan Academy has a great course on this, I suggest you 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 practice: the more you practice, 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.


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


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


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