如何:模式识别

时间:2009-07-20 13:54:36

标签: pattern-recognition

我有兴趣了解有关模式识别的更多信息。我知道这是一个广泛的领域,所以我将列出一些我想学习处理的特定类型的问题:

  • 在看似随机的字节集中查找模式。
  • 识别图像中的已知形状(如圆形和正方形)。
  • 注意到位置流(Vector3)的运动模式

对我个人而言,这是一个新的实验领域,说实话,我根本不知道从哪里开始:-)我显然不是想在银盘上提供给我的答案,但是我可以开始熟悉上述问题域的概念的一些搜索术语和/或在线资源会很棒。

谢谢!

ps:为了额外的功劳,如果所说的资源提供C#中的代码示例/讨论将是盛大的:-)但不一定是

9 个答案:

答案 0 :(得分:29)

隐藏的马尔可夫模型是一个很好看的地方,以及Artificial Neural Networks

编辑:您可以查看NeuronDotNet,它是开源的,您可以浏览代码。

编辑2:您还可以查看ITK,它也是开源的,并实现了很多这些类型的算法。

编辑3:这是一个非常好的intro to neural nets。它涵盖了许多基础知识,包括源代码(尽管用C ++编写)。他实施了一种无监督的学习算法,我认为您可能正在寻找受监督的backpropagation algorithm来训练您的网络。

编辑4:另一个good intro,避免了非常繁重的数学运算,但如果你想深入研究它,可以在底部提供很多细节的参考。包括伪代码,良好的图表和反向传播的冗长描述。

答案 1 :(得分:4)

OpenCV具有图像中模式识别的一些功能。

您可能希望看一下:http://opencv.willowgarage.com/documentation/pattern_recognition.html。 (断开的链接:新文档中最接近的是http://opencv.willowgarage.com/documentation/cpp/ml__machine_learning.html,虽然它不再是我称之为初学者的有用文档 - 请参阅其他答案)

但是,我还建议从Matlab开始,因为openCV使用起来并不直观。

答案 2 :(得分:4)

这有点像说“我想更多地了解电子产品......有谁告诉我从哪里开始?”模式识别是一个完整的领域 - 有数百本,如果不是数千本书,并且任何大学至少有几门(可能是10门或更多)的课程。还有许多专门用于此的期刊,已经出版了几十年......会议......

您可以从维基百科开始。

http://en.wikipedia.org/wiki/Pattern_recognition

答案 3 :(得分:4)

这是一个老问题,但它是相关的所以我想我会在这里发布:-)斯坦福开始在这里提供在线机器学习课程 - http://www.ml-class.org

答案 4 :(得分:2)

关于计算机视觉相关模式识别的this page上有很多有用的链接。现在有些链接似乎已被破坏,但您可能会发现它很有用。

答案 5 :(得分:1)

我不是这方面的专家,但阅读Hidden Markov Models是一个很好的开始方式。

答案 6 :(得分:1)

小心错误的模式!对于任何体积大的数据集,您会发现看似具有模式的子集,即使它是硬币翻转的数据集。模式识别的良好过程应该没有统计技术来评估检测到的模式是真实的信心。如果可能,在随机数据上运行算法以查看它们检测到的模式。这些实验将为您提供可以在随机(a.k.a" null")数据中找到的模式强度的基线。这种技术可以帮助您评估错误的发现率"对于你的发现。

答案 7 :(得分:0)

学习模式识别在matlab中更容易。

有几个例子,有些功能可供使用。

对理解概念和实验有好处......

答案 8 :(得分:0)

我建议从一些MATLAB工具箱开始。由于其交互式控制台,MATLAB是一个特别方便的地方,可以开始玩这样的东西。我亲自使用并且非常喜欢的一个很好的工具箱是PRTools(http://prtools.org);他们实现了几乎所有模式识别工具以及其他一些机器学习工具(神经网络等)。但是关于MATLAB的好处是你还可以尝试许多其他工具箱(Mathworks中甚至有proprietary toolbox

每当您对不同的工具感到满意(并找出最适合您的问题的分类器)时,您就可以开始考虑在不同的应用程序中实现机器学习。