我有一组向量。我正在研究如何将n维向量简化为一元值(1-d),比如
(x1,x2,....,xn) ------> y
这个值必须是向量的特征值。每个唯一的向量产生一个唯一的输出值。以下哪一种方法是合适的?
1-向量的范数-测量到原点的欧氏距离的平方和的平方根
2-计算F的哈希值,使用一些避免冲突的哈希技术
3-使用线性回归计算,y = w1*x1 + w2*x2 +…+ wn*xn -如果输入值对输出没有很好的依赖性,则不太可能是好的
4-特征提取技术,如PCA,为x1,x2,…Xn基于输入向量
从方法中不清楚您需要这个转换具有哪些属性,因此我猜测您不需要转换来保留除了唯一性和可能的可逆性之外的任何属性。
你建议的技术通常都不能避免冲突:
范数-指向相反方向的两个向量具有相同的范数。
哈希-如果输入不是已知的先验-哈希函数通常意味着有有限的图像,而你有无限数量的可能向量-不好
对于任何线性回归结果,很容易找到给出相同结果的向量(考虑一下)。
PCA是一种特殊的线性变换,因此与线性回归问题相同。
所以-如果你只是在寻找唯一性,你可以"字符串化"你的向量。一种方法是将它们写成文本字符串,用特殊字符(例如下划线)分隔不同的坐标。然后将此字符串的二进制值作为您的表示。
如果空间很重要,你需要一个更有效的表示,你可以考虑一个更有效的位编码:集合0,1,…,9,'中的每个字符。',''可以用4位表示-一个十六进制数字(map ')。'转换为A, ''转换为B)。现在将此字符串编码为十六进制数,节省一半的空间。