Tuesday, January 26, 2016

How to learn Machine Learning as a medical student?

It really depends on your background and how much mathematics can you understand. I will give a list of steps that you need to do to understand machine learning. Any comments are welcome to improve my answer as I am not the best machine learning scientist out there so far and I will improve my answer in the future. Please read the disclaimer in the end.

I assume that you have a basic understanding of mathematics to a college level*. I am also going to focus on the most basic things that you need to know; otherwise the background material might be overwhelming for you. I believe that learning comes from the experience, therefore you need to start with machine learning applications as soon as possible and learn the mathematics that you do not have studies on the first pass later.

First you need the mathematical background and you need to study at least the basics from the following topics.

Linear algebra.

  • You need to understand matrices and vectors, inverse matrices and matrix derivatives (see number 2).
  • You can study this topic from various sources and it is fairly easy. I have seen the following referenced:


  1. Linear algebra
  2. Linear Algebra Done Right, Sheldon Axler
  3. The Matrix Cookbook

Calculus (single- and multi-variable calculus).

  • The most important topic from calculus is the derivative and the way to find the maximum (or the minimum) of a function. This is because machine learning defines a functions and tries to go to its maximum (or minimum - depending on the problem) by using its derivatives. You should also understand integrals but you need only to have an idea of what an integral is at first and you can study more if you need it later (you need integrals for probability distributions). You do not care about the more theoretical concepts here (as if the function is continuous, etc.) so focus mostly on derivatives and optimization (e.g. finding the max or min) if there is available material on that.
  • Can't give you a reference here because I have only studied from textbooks written in my native language. Maybe Thomas' Calculus ?


Probability and statistics.


  • This is the most important requirement that you need to understand. Statistics is the basis of machine learning and this field is huge so don't get lost here. The concept of the probability and that of the uncertainty are the most important and you need to study to a point where you can understand probability distribution functions such as the Normal distribution , the Bernoulli distribution , etc.
  • Many excellent books here from where you can learn probability and statistics. Any of the following will help you to understand the topic really good:



  1. Introduction to Probability, Bertsekas and Tsiklis
  2. Probability Theory: The Logic Of Science, Jaynes
  3. Introduction to Probability and Statistics from a Bayesian Viewpoint, Part 1, Probability, Lindley
  4. Other Probability on-line free courses (such as Introduction to Probability - The Science of Uncertainty ) and textbooks might be good as well



  • Remember that if you find some topics hard enough you can skip them and come back later.

I am proposing a way to get you started. As you try to deal with more complex topics and ideas you might need to go back and study more that's the process of learning. At this point you do not need to focus on optimization methods as this will be overwhelming. If you want to study later then the Convex Optimization, Boyd and Vandenberghe is the way to go here. But you can start with basic machine learning text books and then find what you need to study next by yourself or by asking other people who know.

Second, the best sources to study machine learning (this is not an extensive list, many other excellent books are missing).

Machine learning.


  • Many great text books out there and I am only going to focus on those that provide a mathematical way to present thing and not on the cookbooks.


  1. The Stanford's Machine Learning  course is one of the best courses out there and the material taught in the class is freely available in the course's website. Check out the lecture notes (exceptionally good) and the Lecture videos from Andrew Ng.
  2. Information Theory, Inference, and Learning Algorithms, David MacKey , a free online textbook which provides many different ways that you can study it from page iv and on.
  3. Machine learning textbook, Kevin Murphy is the book that I am currently studying. It is excellent so far and most figure (maybe all?) have the accompanying MATLAB source code that you can download. I would recommend it to everyone.
  4. Christopher M. Bishop | PRML I have heard that it is a bit more of an advanced book and it will be my next stop after I finish the two previous books.


Machine learning applications


  • There are many tools out there and libraries/frameworks which you can use to do your job and you need to get familiar with those because they provide a good interface to the algorithms use.


  1. Python Data Analysis Library
  2. scikit-learn: machine learning in Python
  3. R for Machine Learning  
  4. And many more.....

*Different educational systems in different countries have different requirements so my answer tries to be as general as it can be.

Disclaimer: There are many different sources to learn the material you need. There are also many other GREAT books that I am not aware off yet. Please search other questions and answers and also visit a library to take a look at those books as they might not fit your needs. This is just a guideline on what you need to study and not from where to study it.

No comments:

Post a Comment