http://blog.csdn.net/bendanban/article/details/17844831
要知道模式识别讲什么内容。主要解决什么问题,我们如何进入这个领域,总要知道一些基本的概念,一些基本的、现有的方法。
概念性的东西,参考希腊的那本《Pattern Recognition》,我看的是第四版的影印版,有时候也会看看Duda的模式分类,这本书有电子版原版,原版影印版在国内已经绝版了。有时候也会参考wikipedia,这个网站确实不错!
1、模式识别
英文是 Pattern recognition。 有时候业内的人常把它简单写成PR,他是一门科学,将多个对象分到不同的类别的学科。wikipedia解释说,PR是机器学习的一个学科,而机器学习又是人工智能的一个分支。不想把问题描述的这么全面,我们只在模式识别里面看问题。
Pattern recognition is a scientific discipline whose goal is the classification of objects into a number of categories or classes.
根据不同的应用背景,这里的object可以是很多东西,比如图像啊什么的,我们不关心这个object到底是啥,为了表明我们真的不关心,干脆不叫他object了,叫一个更加高级的名字,就叫pattern,中文翻译为模式。这样模式识别就是把模式分到不同的类里了,这就不难理解Duda为啥把他的书叫模式分类了。
2、features, feature vectors, classifiers
就是特征,特征向量,还有分类器。每个需要我们分类的模式,可能有很多特征,那么特征就可以认为是模式的函数,一般这个函数是实值的,至少我没有遇到过复数的特征,如果是复数,我们可以看成两个特征。因为每个模式可能有多个特征,所以我们把这些特征弄成一个向量,因为在代数里面,向量都是用列向量来描述的,这里我们也会用列向量来描述,以便我们好使用代数里面的结论。 这个向量我们一般称之为特征向量,就是feature vector了。至于分类器,其本质也是函数,接受特征向量,给出类别的函数,为了方便计算机处理,我们一般用数字来表示类别。这样分类器也是一个实值函数了。
为了能慢慢进入这个领域,我想多多在进入之前思考一下是有必要的。
模式识别里面,常常把 特征看成是随机变量,大约可以有两个理由说明这一点,首先同一个类之中的模式存在差异,随机取一个模式,他的某个特征可能是随机的,比如随机在一堆鱼里面取一条鱼,他的长度特征在取之前可以认为是随机的。 另外,我们在度量模式的特征的时候,由于仪器,设备等原因,可能会引入随机误差,也就是说我们很难提供100%的精确控制,来获得精确的特征值。
为研究方便,总是给出数学记号的,L个特征x_i , i = 1,...,L,组成特征向量 X = [x_1, ...., x_L]^T
misclassification,如果分类器把输入的模式分错了,我们就说发生了‘错分’,就是misclassification发生了。特别注意,每个模式都有一个特征向量,所以我们分类的时候,就是通过特征向量来分类的,把特征向量输入到分类器(就是那个分类函数)里,然后会得到一个类别返回值,类别呢如果错了,就说发生了错分。
在讨论分类器的时候,会讨论这些问题的。现在我们就使劲把这些概念先装到脑子里,让这些概念添加到我们的条件反射里,深入骨髓!这个东西就会是自己的了,我们就进入这个领域了。
3、那些需要解决的任务
* 如何产生我们需要的特征?这个根据不同的应用,方法也各有不同,计算机视觉中,我们要找图像的特征。文本分类就搞搞文本特征。具体有哪些,还需要很多时间来研究。这个过程叫 feature generation stage, 特征产生阶段。
* 我们需要产生多少特征? 多少个特征是最好的?一般我们处理这种问题的时候,采用先找尽量多的特征,然后再根据某些规则使用这些特征中的某一些特征。这个阶段叫 feature selection stage,特征选择阶段。
* 特征有了,怎么设计分类器?如何找一个规则,在这个规则下造一个最好的分类器?哪些规则好? 有了规则,有了模型,分类器怎么求解?这都是需要我们努力解决的问题啊。 幸运的是,我们现在解决了很多问题了,所以,学习PR还是有很大意义的。这个阶段叫,classifier design 分类器设计阶段。
* 最后,如何来评价分类效果? 不评价下,总是不完美的吧。说自己好,需要有标准才行。会有一些可以比的项啊,比如分类错误率,classification error rate。这个阶段叫system evaluation stage 系统评估阶段。
这个是传统吧,人 ,本身很向往自由的,看了这个,就发现,自己被框住了,特别不情愿啊,总想着,是不是有其它途径解决分类的问题啊,我不用特征向量行不行呢?直接用原始数据呢? 原始数据不又变成特征了么。有些时候自己不情愿也没办法呀,想站在巨人的肩膀上成就一番事业,总是要继承一下巨人的成就嘛,至少可以批判性的继承呀。哈哈。
4、supervised, unsupervised, semi-supervised learning
有监督的,无监督的,半监督的学习。 首先,学习是啥呢?是这样的,我们在知道了某些特征向量属于哪些类了,比如给了n个特征向量,其中n1个是0类,其余的为1类,根据这个信息(这个信息,我们一般称为priori 信息,就是先验信息啊),人为设计一个方法,这个方法会指导计算机产生一个分类器,产生分类器的过程就是学习过程。这个定义还是抽象到机器学习领域中给出的一个一般化的概念。 前面这种学习是在知道先验信息的条件下给出的,为了与“不知道先验特征信息”的学习做区别,我们称有先验特征信息的学习叫有监督的学习,后者是无监督的学习,无监督学习也叫聚类(clustering)。那个寻找分类器的过程叫做训练training。
半监督学习,条件是,我们知道一些特征向量所属的类,还有一部分模式,我们不知道他们属于哪些类。因为知道点先验信息,所以有监督的含义,又因为我们还有不知道,所以我们有不监督的含义,我们的目的是根据已知的部分信息,在进行聚类。这就是半监督的学习了。
参考资料
Koutroumbas, Konstantinos; Theodoridis, Sergios (2008). Pattern Recognition (4th ed.). Boston: Academic Press
en.wikipedia.org
Duda.....