4

I would like to approximate a function $f(\cdot)$ by means of a neural network given a finite set of observations $f(x_i)$ where $x_i\in\mathbb{R}^n$ and $i=1\dots,N$. However, I have some prior knowledge on how this function should behave, for example that it is monotonic in the first coordinate.

Are there methodologies accounting for this type of shape constraints when training a (D)NN?

user149575
  • 41
  • 1
  • Unfortunately, I cannot give you an answer to your question. However, I am also interested in one (little help, I know). If, by chance, someone more knowledgeable stumbled upon this question, I would like to augment the question by the following case: Who would I deal with a fixed point, e.g., f(**0**) = **0**? Is there a more elegant way than tuning the loss function accordingly? (I am also highly interested in monotonocity characteristics). Thanks, Philipp – Philipp Jan 16 '20 at 18:14

1 Answers1

1

One option is to synthetically generate that data and provide it as training data to the model. Deep Neural Networks are quick at learning patterns. If the data is always monotonic in the first coordinate, the model will learn that.

Another option is using something like TensorFlow Lattice to add "common sense" constraints.

Brian Spiering
  • 20,142
  • 2
  • 25
  • 102