Wait, this is impossible, not underspecified: if you have 4 vectors, x, y of length N, and z, w of length 1, and six pairwise distances: d_xy, d_yz, d_xz, d_xw, d_yw, d_zw.
You want (d_xy / d_zw), (d_xz / d_yw), and (d_xy / d_xz) to all remain fixed after transformation? The first will stay fixed, but the second and third will likely vary wildly, depending on the transformation. Think about it in 3-dimensions, how can this work? On Thu, Jul 21, 2011 at 8:33 PM, Ted Dunning <[email protected]> wrote: > 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] > > >
