Most of the machine learning algorithms I know do learn associations of I/O pairs (e.g (a1, b1), (a2, b2) ) and somehow fit a function that will transform a1 in b1, b2 in b2, some interpolation in between and very bad extrapolation. The way they do that is mainly by memorizing those associations as "stable points" in the energy landscape.

Now what I want is an algorithm which, instead of fitting the function over those association, would model the rule that governs the behavior between the elements of my data:

Let's imagine a simple case where the data is a triplet:

(bc,1, cd)

(bc, -1, ab)

The first element is a starting state ("bc"), the second element is the action taken (move left -1 or right 1 ) and the the last element is the ending state ("ab" or "cd"). Now what I want is that my network is able to generalise to unkown elements so that if I present (&#, 1) it would reply (#?). Obviously the second symbol can be arbitrary, however the sharp (#) should shift its position.

Is anybody aware of a system that can learn this ?

Similar questions and discussions