2012-11-18 19 views
1

我正在学习OpenCV的模式识别并希望实现分类器。直方图比较作为“穷人的神经网络”

正如我所了解的,通常的做法是对所有输入值执行神经网络评估并输出一个决定。现在,我担心,学习NN会超出我的智力,我正在寻找一个更简单的方法。

我的问题是,是否有可能创建输入值的直方图,其中X是要素类,Y是其值,并使用简单的直方图比较做出决定? (我的意思不是颜色直方图。)

有没有人已经应用这种方法?如果是这样,结果有多准确?

谢谢你的任何提示。

回答

2

你所提出的确实非常类似于单层神经网络(single layer perceptron/linear classifier)。假设您的图像中有N个特征。然后,您的神经网络将具有N个输入,其中输入的值可以是特征发生的次数或特征的值/强度。

如果你只有两个类A和B,你将有一个输出节点。每个输入都通过一个重量连接到输出。那么输出就是所有加权输出的总和。如果输出超过某个阈值,您的数据可以用A类进行分类,否则就是B类。为了正确分类您的数据,您必须修改网络中的权重(这称为“培训”)。

如果你想有更多的类,你可以添加更多的输出节点。但是,您将会遇到这样的情况,即某些数据可以归类为多个类别。而且,您的网络将始终是一个线性函数逼近器。通过在两者之间添加一层,您的网络将变得更加强大!

基本的神经网络很容易。我建议你花更多的时间在维基百科上阅读它。

+1

+1:谢谢你的解释和链接!我会尝试了解NN。 P.S .:刚开始阅读http://www.amazon.com/Pattern-Classification-2nd-Richard-Duda/dp/0471056693并立即就喜欢它。 –