我正在学习使用 OpenCV 进行模式识别并想实现一个分类器。
据我了解,通常的方法是对所有输入值实现神经元网络评估并输出决策。现在,我担心学习 NN 会超出我的智力,我正在寻找一种更简单的方法。
我的问题是,是否可以创建输入值的直方图,其中 X 是要素类,Y 是其值,并使用简单的直方图比较做出决定? (我不是说喜欢颜色直方图。)
有没有人已经应用过这样的方法?如果是这样,结果的准确性如何?
感谢您的任何提示。
您提出的建议确实非常类似于单层神经网络 ( single layer perceptron/linear classifier )。假设您的图像中有 N 个特征。然后,您的神经网络将有 N 个输入,其中输入的值可以是特征出现的次数或特征的值/强度。
如果您只有两个类 A 和 B,您将有一个输出节点。每个输入都通过权重连接到输出。然后输出是所有加权输出的总和。如果输出高于某个阈值,您的数据可以分类为 A 类,否则为 B 类。为了正确分类您的数据,您将不得不修改网络中的权重(这称为“训练”)。
如果你想有更多的类,你可以添加更多的输出节点。但是,您将遇到某些数据可以分类为多个类的情况。此外,您的网络将始终是线性函数逼近器。通过在两者之间添加一层,您的网络将变得更加强大!
基本的神经网络很简单。我建议您花更多时间在维基百科上阅读它。
我是一名优秀的程序员,十分优秀!