Math 如何降低向量的维数

Math 如何降低向量的维数,math,vector,machine-learning,vectorization,dimension-reduction,Math,Vector,Machine Learning,Vectorization,Dimension Reduction,我有一组向量。我正在研究如何将n维向量简化为一元值(1-d),比如 此单个值必须是向量的特征值。每个唯一向量产生唯一的输出值。以下哪种方法合适: 1-向量范数-平方和的平方根,用于测量从原点到欧几里得距离 2-使用一些避免冲突的散列技术计算F的散列 3-使用线性回归计算,y=w1*x1+w2*x2+…+wn*xn-如果输入值对输出没有良好的依赖性,则不太可能是好的 4-特征提取技术,如PCA,根据 输入向量集从方法上看,不清楚您需要此转换具有哪些属性,因此我猜测您不需要此转换来保留除唯一性和可能

我有一组向量。我正在研究如何将n维向量简化为一元值(1-d),比如

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

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

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

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

4-特征提取技术,如PCA,根据
输入向量集

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

您建议的任何技术通常都无法避免碰撞:

  • 范数-指向相反方向的两个向量具有相同的范数

  • 散列-如果输入不是先验的-通常所说的散列函数有一个有限的图像,并且你有无限多个可能的向量-没有好处

  • 很容易找到对任何线性回归结果都给出相同结果的向量(想想看)

  • 主成分分析是一种特殊的线性变换,因此与线性回归的问题相同

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


    如果空间很重要,并且需要更高效的表示,则可以考虑更高效的位编码:集合0,1,…,9,'.',''中的每个字符可以由4位表示—一个十六进制数字(将'.'映射到a,将''.'映射到B)。现在将该字符串编码为十六进制数,节省一半空间。

    降维的目的是什么?你想用向量做什么?若这是一个机器学习问题,PCA将是最好的。它有点取决于你们想用唯一值做什么。你能详细说明一下吗?@d.j.sheldrick;我需要这些唯一值来简化向量的计算。@AlptiginJalayr:我不太确定PCA是否给出唯一值您需要对这些向量进行什么样的计算?
    (x1,x2,....,xn) ------> y