高维聚类:基于观测聚合的方法

3

我遇到了一个奇怪的高维聚类问题。以下是一个类比来解释它。

假设有2^10个人进入一片森林,我们想知道那里有多少种鸟。

这些鸟在128个维度上不同,所有维度都是二进制的。也就是说:一只鸟有大喙或小喙,有蓝色的翅膀或没有等。 (每个鸟种可以用128个位表示)

我的问题是,当这些人离开森林时,我们只有他们观察到的聚合数据:

“我看到8只鸟,其中3只有蓝色的喙(5只没有),4只有蓝色的翅膀(4只没有),1只有大喙(7只没有)等”。他们没有报告他们观察到的个体特征,而只报告了聚合数据。

还有两个额外的限制:

i)所有物种至少被观察一次; ii)物种数量很少(〜2 ^ 5)。

当然,我们可以编译他们的聚合数据的聚合数据(3000次观察中,357只鸟有大喙等)。但是聚类呢?

所以问题是:

  1. 我们如何找出那里有多少种鸟?

  2. 我们如何找出每个物种的特征?

2个回答

2
如果x是一个人对一组鸟类的聚合观察结果,那么您可以通过矩阵乘积Dz来近似它,其中D是一个矩阵,其列代表单个鸟类的特征,z是每种鸟类计数的向量。
如果您假设只观察到少量鸟类,则这将作为z数量大小的约束。
这个问题与稀疏字典学习问题非常相似。
以下是几个链接,它们都描述了稀疏字典学习(和相关问题)并提供了解决方案软件:http://spams-devel.gforge.inria.fr/http://www.ux.uis.no/~karlsk/dle/index.html

2
自从 2 的 128 次方等于 340282366920938463463374607431768211456 后,你需要相当大的样本量才能得出有效的结论。观察到的每只鸟都很可能是独一无二的。

是的,我忘记添加两个约束条件:i)所有物种至少被观察一次; ii)物种数量很小(~2^5)。谢谢。我正在更新问题。 - linhares

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接