【发布时间】:2014-01-04 14:22:04
【问题描述】:
我正在尝试实现用于图像分类的朴素贝叶斯最近邻 (NBNN)。在算法中,它要求属于不同图像的两个像素之间的欧几里得距离。
我有 1) m×40,000 矩阵中的一组 m 图像(其中 40,000 是一个图像中的像素数)和 2) n×40,000 矩阵中的另一组 n 图像.
1) 是训练集,2) 是验证集。
为了让我应用 NBNN,根据我的理解,我需要找到 2) 的每个像素与 1) 的相应像素之间的欧几里得距离。
我的问题是,给定两个灰度值,一个来自 1),另一个来自 2),我如何找到它们之间的欧几里得距离以应用 k-NN?
【问题讨论】:
-
只是一个简单的实用问题:距离输出矩阵的预期维度是多少?
-
根据我对朴素贝叶斯最近邻的理解,它应该是 m×40,000,给定 1×40,000 的测试图像和 m×40,000 的训练集。从那里,我将寻找每个像素(列)的最小值以找到最近的邻居。如果我理解不正确,请告诉我。
-
@viviboox3,我也在尝试在 MATLAB 中的一个项目中采用这种方法。我已经阅读了 Boiman 关于 NBNN 的论文,但我仍然很难理解这种方法。我认为 NBNN 的全部意义在于提出类描述符,然后计算图像到类的距离。这是你在这里做的吗?另外,如果你能指出我对算法的一个很好的解释,我将不胜感激!
标签: matlab image-processing machine-learning nearest-neighbor