I'm currently dealing with the following problem: I have a set of feature vectors (real-valued) describing different instances of a common entity (such as an object or an event). Using these vectors, I would like to learn a common representation (a vector) for this entity (be it in the same vector space or a reduced one). 

The most straightforward solution would be to use an arithmetic average. However, I was wondering if you could suggest some other solutions too?