了解模式识别

关于模式识别

对模式的识别是人类智慧的一个重要体现,人类具有很强的模式识别能力,能对千千万万的具体的物质进行识别,也能对事物进行高级抽象后的模式进行识别。一个人对模式识别的学习从小孩就开始,知道了这是花草、那是蓝天白云。这些对人类来说很简单的事情,其实是很复杂的智能行为。

关于模式

模式(pattern)可以看成是一种规律,可以用于刻画事物的原型或表征事物的特征,比如花的形状、狗吠的声音等等。我们从生活经验中抽象提炼各种各样的模式,当我们具备这些核心知识后即能对各类事物进行判断,可以说是从生活中不断总结学习而得到事物的抽象规律。

比如看到下面的图片时我们会想到:这是一个海边风景图片,即识别出了海边风景图而不是人物图,识别出图片中包括了沙滩、大海、蓝天、白云。而且我们对大海的识别并不是因为记住了大海的形状,大海的形状都是各种各样不尽相同的,而是根据以往见过的大海的颜色特征,外加大海与沙滩天空相邻的特点,从而识别出是大海。


分类

人类对事物的识别其实很大程度就是对事物进行分类,就好比下面图中的各种花,我们看到了桔梗时认为它是一种花,看到曼陀罗时也认为它是一种花,看到不同的花我们都对其进行分类,认为是花。类似地还有人、树、汽车等等,都属于分类概念,当看到相应事物时都会对其进行分类。


人类对模式的识别实际生活中包含了很多模糊抽象的分类,比如一个人是否智商高、一个人是不是很nice、一个人身体是否健康等等,这些需要不同的标准来定义。这些也是模式识别。

模式识别方法

模式识别的主要方法分为两大类:基于知识的方法和基于数据的方法。

  • 基于知识的方法主要是类似专家系统的方法,根据专家对某些对象或模式的研究,从中总结出描述某些类别的特征,根据这些特征对未知样本进行推理。
  • 而基于数据的方法主要是让模型自己从数据中抽象一个模型,但我们需要先预确定好若干特征,它不依靠专家对某些对话或模式的研究知识,实际上专门做模式识别的人也不可能在每个领域都去研究下,所以基于数据的方法更加友善。

两类方法其实都有各自的优缺点。

  • 我们可以认为基于数据的方法是以统计为基础的,根据样本对各种特征进行统计得到分类器,整个过程我们可以不依赖于专家知识,我们只知道某些特征与分类结果是有联系的,但我们没必要确切知道这些联系具体是怎样的。反过来,这也恰恰是它的缺点,有时我们想确切知道特征与分类直接的内在关系,但这时却无能为力,主要是基于数据方法的模型的内在机理还未被研究透彻,它更像是一个黑盒,而且还存在样本差异性和问题不确定性等。
  • 基于知识的方法则让分类结果有明确的解释,而且如果我们已经明确知道特征和分类之间的关系,那么直接使用基于知识的方法一般来说效果会更加好,因为专家知识是明确的。

模式识别中特征和分类之间肯定存在某种规律时我们做这项工作才有意义,但如果二者是完全随机的,那么模式识别则失效。

常见场景

  • 语言识别
  • 光学字符识别(OCR)和手写字符识别
  • 图像目标定位
  • 医学生癌症识别
  • 地质识别

模式识别一般过程

  • 问题分析,分析问题能否使用模式识别,分析对象哪些特征与分类结果相关。
  • 样本获取,根据问题分析中需要用到的特征和分类结果去采集样本。
  • 样本处理,可能需要对样本的原始特征进行预处理操作,比如标签化、规范化之类的。
  • 分类器训练,选择一个分类算法,搭建模型,使用样本对该模型进行训练。
  • 模型性能评估,根据前面得到的样本、定好的特征、搭建好的模型训练得到的模型进行性能评估。
  • 模型迭代,可能目前模型效果不理想,需要重新确定特征,也可能是对原始特征进行处理得到新特征,然后再一次训练并进行效果评估。

来源: 远洋号 - wj seaboat