【问题标题】:Reducing the dimensionality of a vector降低向量的维数
【发布时间】:2011-03-22 04:54:55
【问题描述】:

如何将向量的大小减小到较低的维度?

比如说 X:=(1,2,3,4,5,6,7,8,9,10) 是一个 10 维向量。认为 我想将其减少到 5 维空间。有没有办法做到这一点?

我有一种情况,我需要将 N 维向量与对应的低维向量进行比较。

【问题讨论】:

  • 从 10D 空间到 5D 空间的投影是什么?
  • 一个简单的向量说 X:-(1,2,3,4,5,6,7,8,9,10) 其中 X 将被转换为 Y 其中 Y 是一个 5d 向量....我有点菜鸟,我想知道这是否可以做到..
  • 你的问题的措辞让我相信你可能对你想做什么并不清楚。所以你有一个长度为 10 的向量和一个长度为 5 的向量,你希望以某种方式比较它们。你希望做什么样的比较?这些向量是如何相关的?
  • 您没有提供足够的信息,但是您是否看过因子分析(?factanal)或主成分分析(?princomp 或?prcomp)
  • 那个向量不是一维的吗?

标签: r vector dimension


【解决方案1】:

有无数种方法可以将 10d 向量转换为 5d 向量。

这就像说“我想要一个接受两个整数参数并返回一个整数的函数,我可以制作这样的函数吗”。有无数这样的功能。

这真的取决于你想用向量做什么。你的 10d 和 5d 向量是什么意思?

【讨论】:

  • 我需要找出 2 个整数向量之间的相似性.. 并通过将它们投影到相同的 n-d 空间中来找出这两个向量的相似程度....
【解决方案2】:

如果我的假设是正确的,那么 OP 想将一个包含 10 个值的向量转换为一个有 2 列的矩阵。

这可以在 R 中轻松完成:

# make up the demo data
> v <- c(1,2,3,4,5,6,7,8,9,10)

# modify the dimensions of 'v' to have 2 columns
> dim(v) <- c(5,2)

# and check the result
> v
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10

【讨论】:

  • @Pradeep:如果我的假设是正确的或者我应该删除我的答案,任何反馈都将受到欢迎。谢谢!
猜你喜欢
  • 2013-04-07
  • 2020-01-30
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 2019-01-10
  • 1970-01-01
  • 2018-10-20
  • 1970-01-01
相关资源
最近更新 更多