2

我有一组向量。我正在研究将n维向量减少为一元值(1-d)的方法,比如说

(x1,x2,....,xn) ------> y

这个单一的值需要是向量的特征值。每个唯一的向量产生一个唯一的输出值。以下哪种方法是合适的:

1- 向量的范数 - 平方和的平方根,用于测量距原点的欧几里得距离

2- 计算 F 的散列,使用一些散列技术避免冲突

3- 使用线性回归计算,y = w1*x1 + w2*x2 + ... + wn*xn - 如果输入值对输出没有很好的依赖性,则不太可能是好的

4- 特征提取技术,如 PCA,根据输入向量集为 x1、x2、..xn 中的每一个分配权重

4

1 回答 1

0

从方法中不清楚您需要此转换具有哪些属性,因此我猜测您不需要转换来保留除唯一性和可能可逆性之外的任何属性。

您建议的任何技术通常都不能避免冲突:

  1. 范数 - 指向相反方向的两个向量具有相同的范数。

  2. 散列 - 如果输入不是先验已知的 - 散列函数通常意味着有一个有限的图像,并且你有无限数量的可能向量 - 不好。

  3. 很容易找到对任何线性回归结果给出相同结果的向量(考虑一下)。

  4. PCA 是一种特定类型的线性变换 - 因此与线性回归具有相同的问题。

所以 - 如果你只是在寻找唯一性,你可以“字符串化”你的向量。一种方法是将它们写为文本字符串,不同的坐标由特殊字符(例如下划线)分隔。然后将此字符串的二进制值作为您的表示。

如果空间很重要并且您需要更有效的表示,您可以考虑更有效的位编码:集合 0,1,...,9,'.',' ' 中的每个字符都可以用 4 位表示 -十六进制数字(将“.”映射到 A,将“ ”映射到 B)。现在将此字符串编码为十六进制数,节省一半的空间。

于 2013-04-16T03:55:13.800 回答