There seem to be so many sub-fields, so I'm interested in getting a better understanding of the approaches.

I'm looking for information on a single framework per answer, in order to allow for granularity without the overall answer getting too long. For instance; Deep Learning Neural Networks would be a single answer.


Things in italics should give you enough googleable terms to start a deeper dive :P.

There are 3 main branches of statistical ML.

  1. Supervised Learning This approach is taken when a problem can be phrased as associating some $X$ with some $Y$. For example, classifying a picture of a cat ($X$) with the label “Cat” ($Y$). Training in supervised learning usually means presenting some $X$, having an agent predict the label, comparing the prediction with the answer to get an error metric, and finally using the error to update the agent to make better predictions on future $X$s. MNIST is a great example of a classification domain.

    1.1. Supervised learning also works with regression when we want to learn an associated number instead of a label such as risk of heart disease given years of smoking and weight.

  2. Unsupervised Learning This type of learning is used when we want to draw inferences from a dataset without labeled responses. It can be used to find hidden patterns or grouping in data.

  3. Temporal Difference Learning (the basis of Reinforcement Learning) The $X$s and $Y$s in supervised learning are i.i.d., meaning that they don’t relate to the previous $X$ that the agent saw. However, there are many problems where the most recent $X$, $X$ at time $t$ ($X_t$), is very important to figuring out what $Y$ to predict ($Y_{t+1}$) for the next $X$ ($X_{t+1}$). Trying to continually predict how long it takes to get home while you are walking home is a great example; clearly each prediction you make should take into account where you are in relation to where you were before (your speed). TD learning is able to incorporate this information to make the next prediction better.

    3.1. Reinforcement learning Using temporal difference learning as a basis, reinforcement learning is a method which tries to find a behaviour (a policy) to select actions such that it can maximize a special signal called the reward. The agent starts in a state of the world ($S_t$) at time $t$ and takes some action ($A_t$) which puts it in a new state ($S_{t+1}$) and gives it a reward ($R_{t+1}$).

Neural networks are a technique for finding features (some kinda notable differences) in data. They can be used in all of the above learning strategies but are not necessary for them although their application has had some very powerful results recently. Deep ___ learning is simply the application of a multilayered neural network on one of the above learning methods.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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