为对象识别分类点分布

我有一些需要分类的点。给定这些点的集合,我需要判断它们与其他已知分布的最佳匹配。例如,给定左上角分布中的点,我的算法必须判断它们是与第2、第3还是第4个分布更匹配。(在这里,由于方向相似,左下角的分布是正确的)

Points GivenSample distribution 1Sample distribution 2Sample distribution 3

我有一些机器学习的背景知识,但不是专家。我在考虑使用高斯混合模型,或者可能是隐马尔可夫模型(因为我之前用这些模型分类过签名——类似的问题)。

对于这个问题,我希望得到关于使用哪种方法的帮助。作为背景信息,我使用的是OpenCV和Python,所以我很可能不需要从头开始实现所选的算法,我只是想知道哪些算法适用于这个问题。

免责声明:我原本想在StackExchange的数学版块发布这个帖子,但由于缺乏必要的声望无法发布图片。我觉得如果不展示一些图片,我的观点就无法清楚表达,所以我改在这里发布。我认为这仍然与计算机视觉和机器学习相关,因为它最终将用于对象识别。

编辑:

我阅读并考虑了一些下面的回答,现在想添加一些新信息。我不希望将这些分布建模为单一高斯分布的主要原因是,最终我还需要能够区分不同的分布。也就是说,可能会有两个不同的分布代表两个不同的对象,然后我的算法应该意识到这两个分布中只有一个代表我们感兴趣的对象。


回答:

我认为这取决于数据的确切来源以及你希望对其分布做出什么样的假设。上面的点甚至可以从单一的高斯分布中轻松绘制出来,在这种情况下,估计每个分布的参数然后选择最接近的匹配是相当简单的。

或者,你可以选择判别方法,即计算你认为有助于确定一组点所属类别的任何统计数据,并使用SVM或类似方法进行分类。这可以被视为将这些样本(二维点的集合)嵌入到更高维的空间中以获得一个单一的向量。

此外,如果数据像这个例子一样简单,你可以进行主成分分析,并通过第一特征向量进行匹配。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注