# Supervised learning, unsupervised learning and reinforcement learning: Workflow basics

## Supervised learning

• 1) A human builds a classifier based on input and output data
• 2) That classifier is trained with a training set of data
• 3) That classifier is tested with a test set of data
• 4) Deployment if the output is satisfactory

To be used when, "I know how to classify this data, I just need you(the classifier) to sort it."

Point of method: To class labels or to produce real numbers

## Unsupervised learning

• 1) A human builds an algorithm based on input data
• 2) That algorithm is tested with a test set of data (in which the algorithm creates the classifier)
• 3) Deployment if the classifier is satisfactory

To be used when, "I have no idea how to classify this data, can you(the algorithm) create a classifier for me?"

Point of method: To class labels or to predict (PDF)

## Reinforcement learning

• 1) A human builds an algorithm based on input data
• 2) That algorithm presents a state dependent on the input data in which a user rewards or punishes the algorithm via the action the algorithm took, this continues over time
• 3) That algorithm learns from the reward/punishment and updates itself, this continues
• 4) It's always in production, it needs to learn real data to be able to present actions from states

To be used when, "I have no idea how to classify this data, can you classify this data and I'll give you a reward if it's correct or I'll punish you if it's not."

Is this the kind of flow of these practices, I hear a lot about what they do, but the practical and exemplary information is appallingly little!

Disclaimer: I am no expert and I even have never done something with reinforcement learning (yet), so any feedback would be welcome...

Here is an answer that adds some tiny mathematical notes to your list and some different thoughts on when to use what. I hope the enumeration is self-explanatory enough:

# Supervised

1. We have data $$\mathcal{D} = \{(\boldsymbol{x}_0,y_0), (\boldsymbol{x}_1,y_1), \ldots, (\boldsymbol{x}_n,y_n)\}$$
2. We look for a model $$g$$ that minimises some loss/cost measure $$L(y_i, g(\boldsymbol{x}_i))$$ for all points $$0 \leq i < l$$
3. We evaluate the model by computing the loss/cost $$L$$ for the rest of the data ($$l \leq i \leq n$$) in order to get an idea how well the model generalises

We can give examples, but we cannot give an algorithm to get from input to output

Setting for classification and regression

# Unsupervised

1. We have data $$\mathcal{D} = \{\boldsymbol{x}_0, \boldsymbol{x}_1, \ldots, \boldsymbol{x}_n\}$$
2. We look for a model $$g$$ that gives us some insight in our data.
3. We have little to no measures to say whether we did something useful/interesting

We have some data, but we have no idea where to start looking for useful/interesting stuff

Setting for clustering, dimensionality reduction, finding hidden factors, generative models, etc.

# Reinforcement

1. We have no data
2. We construct a model $$g$$ that generates data $$\boldsymbol{x}_i$$ (often called actions), which can be based on measurements and/or previous actions, in an attempt to maximise some reward measure $$R(\boldsymbol{x}_i)$$, which is generally not known to the model (it needs to be learned as well).
3. We evaluate by means of the reward function after it had some time to learn.

We have no idea how to do something, but we can say whether it has been done right or wrong

This seems especially useful for sequential decision tasks.

This is a very nice compact introduction to the basic ideas!

## Reinforcement Learning

I think your use case description of reinforcement learning is not exactly right. The term classify is not appropriate. An better description would be:

I don't know how to act in this environment, can you find a good behavior and meanwhile I'll give you feedback.

In other words, the goal is rather to control something well, than to classify something well.

### Input

• The environment which is defined by
• all possible states
• possible actions in the states
• The reward function dependent on the state and/or action

### Algorithm

• The agent
• is in a state
• takes an action to transfer to another state
• gets a reward for the action in the state

### Output

• The agent wants to find an optimal policy which maximizes the reward