I know about embeddings for words, but I would like to know if it is possible to do something similar for curves. What I mean by curves is a curve of a function. Say I have 1000 points corresponding to a curve for 0% to 100% every 0.1 and I would like to use this in a ML model but I don't want to use those 1000 points, but rather embedded them into a smaller vector so that two curves that are 'close' will have a vector closer.

I don't know if I explained myself clearly, so tell me if it is not the case !

Note : I would like to do this in Python

  • $\begingroup$ If you have a mathematical expression for the curves, you may also consider an approximation approach that can profit from that knowledge (e.g. Tailor expansion or Chebyshev polynomials) together with a custom distance function in coefficient space, instead of a black-box approximation. $\endgroup$
    – noe
    Jan 31, 2023 at 14:13

1 Answer 1


Unlike word embedding, where you can get "for free" the embeddings of words, in your use case you'll need to derive the embeddings yourself.

I would try an approach based on autoencoders. An autoencoder is a neural network architecture based on an encoder and a decoder. The idea is that the encoder takes the input data (in your case a curve) and encodes it to a small vector (in your case a vector with dimensionality < 1000). Then, the decoder takes this small vector and tries to reproduce the original input (in your case the original curve). Once the network is trained you'll have a way of extracting embeddings from your curves using the encoder layer.

Here you have an example with images.

  • $\begingroup$ Thank you very much, I will try this out ! $\endgroup$
    – WLD
    Feb 1, 2023 at 13:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.