Many textbooks start with classifying machine learning into unsupervised, supervised and reinforcement. But, unfortunately, they are poorly defined. And after all this classification has no significance, except supervised learning has a structure to say. Anyway, arguing on definition is meaningless.

## Unsupervised Learning

In unsupervised learning, we select a function f, such that given input x, we will have desired output y. i.e.

y = f(x)

Loosely speaking, any function f that you think is meaningful belong to unsupervised learning. e.g. average, min/max, Graham scan, XOR… however, usually, we are only interested in clustering, dimensionality reduction.

## Supervised Learning

In supervised learning, instead of selecting function f, we select parameter t of function f with respect to a cost function h. And the cost function h depends on data d. i.e.

y = f(x;t) where t = argmin[t’ in T]( h(d,t’) )

T is set of all possible parameters

denote argmin[x in X](f(x)) as x in that that f(x) is minimum.

Since d is usually a sequence of pairs dx[i], dy[i], i=1..and h is usually sum of distance measure between f(dx[i]) and dy[i] and so usually

y = f(x;t) where t = argmin[t’ in T]( sum[i=1..]( distance( f(dx[i]; t’), dy[i]) ) )

You may hear semi-supervised learning, which belong to the first form above.

## Reinforcement Learning

Any algorithm neither unsupervised nor supervised belong reinforcement learning. There should be many forms of reinforcement learning. But textbooks mostly solely associate reinforcement learning with Markov Chain.

(For example, synchronization like this can be thought as mutual learning, which is neither supervised nor unsupervised. And it does not seem directly map to Markov Chain.)