如何进行模式识别:Pattern Recognition

41
我对学习模式识别很感兴趣。我知道这是一个相当广泛的领域,所以我会列出一些我想学习如何解决的具体问题:
  • 在看似随机的字节集中找到模式。
  • 在图像中识别已知形状(例如圆和正方形)。
  • 在位置流(Vector3)中给定一系列位置时注意运动模式。
这对我来说是一个新的实验领域,老实说,我不知道从哪里开始 :) 显然,我并不是在寻求答案,而是希望能提供一些搜索术语和/或在线资源,以便我可以开始了解上述问题领域的概念。
谢谢!
附注:如果这些资源提供C#代码示例/讨论,那就太棒了:) 但不必要。

3
我很高兴这个有趣的问题没有被标记为“过于宽泛”或“要求教程是不相关的”,因为我从答案中的链接中受益。 - Roland
2
@Roland确实...我在StackOverflow的早期就提出了这个问题,当时他们想要有规范的问题和答案,随着时间的推移不断改进并相应地索引。但愿事情能回到那个时候,我也从这里的答案中学到了很多 :) - Joel Martinez
9个回答

30
Hidden Markov模型和人工神经网络是值得关注的,你还可以看一下NeuronDotNet,它是开源的,可以查看代码。此外,ITK也是开源的,实现了许多这类算法。这里有一个相当不错的神经网络入门指南,涵盖了很多基础内容,并包括源代码(尽管是C++)。作者实现了一种无监督学习算法,但我认为你可能需要一种有监督的反向传播算法来训练你的网络。另外,这篇优秀的入门指南避免了非常复杂的数学,但在底部提供了很多详细信息的参考文献,供你深入研究。它包括伪代码、良好的图表以及反向传播的详细描述。

4

4
这有点像是说“我想学习更多关于电子学...有人能告诉我从哪里开始吗?” 模式识别是一个完整的领域——有成百上千本书可以参考,任何大学都至少有几门(可能是10门或更多)研究生课程涉及到这个领域。也有很多专注于模式识别的期刊已经出版了数十年...还有相关的会议... 你可以从维基百科开始了解。 http://en.wikipedia.org/wiki/Pattern_recognition

4
这个问题有点老了,但是仍然相关,所以我想在这里发布 :-) 斯坦福大学开始提供在线机器学习课程 - http://www.ml-class.org

2

这个页面上有很多与计算机视觉相关的模式识别链接,其中一些链接现在似乎已经失效了,但您可能会发现它们有用。


1

1

小心虚假模式!对于任何足够大的数据集,即使是硬币抛掷的数据集,您都会发现看似有模式的子集。没有统计技术来评估检测到的模式是否真实的良好模式识别过程是不可取的。如果可能的话,请在随机数据上运行算法以查看它们检测到的模式。这些实验将为您提供可以在随机(又称“null”)数据中找到的模式强度的基线。这种技术可以帮助您评估您发现的“假发现率”。


0

我建议从一些MATLAB工具箱开始。由于其交互式控制台,MATLAB是一个特别方便的地方来尝试这样的东西。我个人使用并喜欢的一个不错的工具箱是PRTools(http://prtools.org);他们有几乎每种模式识别工具的实现,还有其他一些机器学习工具(神经网络等)。但MATLAB的好处在于还有许多其他工具箱可以尝试(甚至有一个Mathworks专有工具箱)。

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


0

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

有几个例子和可以使用的函数。

这对于理解概念和实验非常有帮助...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接