This is underspecified.  Simply adding an additional large valued coordinate
and normalizing back to the sphere will do you what you want.  This works
because small regions of S^{n+1} are very close to R^n in terms of the
Euclidean metric.  This is rarely that useful, however, if your interest is
cosine distance because small angles give cosine very near 1.

You might try balancing the additive parameter to balance preservation of
distance against mean-squared deviation from the mean.

Usually, people just cosine normalize the original data and pretend they
don't care.

On Thu, Jul 21, 2011 at 8:25 PM, Lance Norskog <[email protected]> wrote:

> I have vectors of different lengths and I would like to normalize them
> to a unit (hyper)sphere. However, I would like the pairwise distance
> ratios to be maintained. What transform does this?
>
> The use case for this is to make a vector set that uses cosine distances.
>
> --
> Lance Norskog
> [email protected]
>

Reply via email to