Can you learn an algorithm from a trained model?

Are there any papers where an algorithm was entirely based on the results of a trained model? Let me explain.

Suppose you want to come up with an algorithm that sorts three numbers $$a,b,c$$. I can generate several training data points $$x_i = (a_i, b_i, c_i), a_i, b_i, c_i \in \mathbb{R}$$ with their label $$\hat y_i = (\min(x_i), mid(x_i), \max(x_i))$$. That way, I can generate a lot of data points and train a model to predict them in their order.

My question is, are there any papers which were able to translate the trained model back to an algorithm that is understandable by humans (instead of just the values of the parameters ?). I'd be very interested even if the algorithms were very simple.

• I think you actually cannot divide "algorithm" and "model" - in fact a "model" is only a set of parameters for an "algorithm". Like for linear regression the model is a vector of linear parameters. NN model is set of weights, each for its layer, and so on. – mikalai Dec 12 '18 at 19:49

In this article https://arxiv.org/abs/1711.09784 the authors the fits decision tree to a neural network in order to understand what is the neural network does. Is it what you are looking for?

Maybe your problem falls under the purview of interpretability of ML models. This is a huge field in it itself and I would recommend reading "Why Should I Trust You?": Explaining the Predictions of Any Classifier. Here is a quick summary as well.

I have not heard of anything like that. It sounds like you have a model but that it is a black box and you want to be able to explain it to some audience. If this is the case I would:

1. Try a linear model like linear regression. This will give you a formula that can be implemented.

2. Try a ‘decision tree’ which will also give you a set of rules and can also output the importance of the inputs to the model.

3. Keep your black box model, admit that it is black box, but use a method like PCA to demonstrate the importance of different variables (not model parameters) to the results.

If I understand your question correctly