Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 查找点更稀疏的向量_Math_Optimization_Geometry_Mathematical Optimization - Fatal编程技术网

Math 查找点更稀疏的向量

Math 查找点更稀疏的向量,math,optimization,geometry,mathematical-optimization,Math,Optimization,Geometry,Mathematical Optimization,(1) 我在3D空间中有n个点 (2) 我有一个随机向量 (3) 我将所有n个点投影到向量中 然后我找到所有点之间的平均距离 我怎样才能找到一个向量,在该向量中,投影点之后,点之间的平均距离最大? 这可以在O(n)中完成吗?有一种方法可以从机器学习中使用,特别是降维。(这是基于其中一条评论中提到的PCA。) 计算协方差矩阵 求特征值和特征向量 具有最大特征值的特征向量将对应于方差最大的方向,因此点最分散的方向 将点映射到向量定义的直线上 也可能需要在投影前将点围绕0居中,然后将其移回。问题是,这

(1) 我在3D空间中有n个点
(2) 我有一个随机向量
(3) 我将所有n个点投影到向量中
然后我找到所有点之间的平均距离
我怎样才能找到一个向量,在该向量中,投影点之后,点之间的平均距离最大?

这可以在O(n)中完成吗?

有一种方法可以从机器学习中使用,特别是降维。(这是基于其中一条评论中提到的PCA。)

  • 计算协方差矩阵
  • 求特征值和特征向量
  • 具有最大特征值的特征向量将对应于方差最大的方向,因此点最分散的方向
  • 将点映射到向量定义的直线上

  • 也可能需要在投影前将点围绕0居中,然后将其移回。问题是,这在时间上相当昂贵。有关更多详细信息,请查看此问题:

    有一种方法可以从机器学习中使用,特别是降维。(这是基于其中一条评论中提到的PCA。)

  • 计算协方差矩阵
  • 求特征值和特征向量
  • 具有最大特征值的特征向量将对应于方差最大的方向,因此点最分散的方向
  • 将点映射到向量定义的直线上

  • 也可能需要在投影前将点围绕0居中,然后将其移回。问题是,这在时间上相当昂贵。有关更多详细信息,请查看此问题:

    我认为您的意思是“将点投影成一条线”,而不是“将点折叠成向量”。记住,向量的长度是固定的。另一件需要考虑的事情是,直线的位置并不重要,它只影响直线的方向,因为平行投影不能区分远近,所以需要计算直线的角度。希望能有帮助。也许我误解了这里的某些内容,但这不正是作者所做的吗?我想你的意思是“将点投影成一条线”,而不是“将点折叠成向量”。记住,向量的长度是固定的。另一件需要考虑的事情是,直线的位置并不重要,它只影响直线的方向,因为平行投影不能区分远近,所以需要计算直线的角度。希望能有帮助。也许我误解了一些事情,但这不正是他们正在做的吗?