权威整理|模式识别基础重要研究进展(一)
本文来自模式识别国家重点实验室组织发布的模式识别学科发展报告,已得到模式识别国家重点实验室授权发布。
全文大纲
本文选出以下13项理论方法或任务作为过去历史上模式识别领域基础理论方法的重要成就:
1. 贝叶斯决策与估计:统计决策的基础理论。
2. 概率密度估计:一类重要的无监督学习方法,统计模式识别的重要基础,模式分析的重要工具。
3. 分类器设计:模式识别系统实现中最重要的任务,有多种模型设计和学习方法,这里主要介绍监督学习。
4. 聚类:一类重要的无监督学习方法,模式分析的重要工具。
5. 特征提取与学习:模式的特征表示对模式分类的性能有决定性影响,如何从数据提取特征、选择特征或学习特征表示是一个重要的研究方向。
6. 人工神经网络与深度学习:人工神经网络是一类重要的模式分析和识别方法,发展到深度神经网络形成了目前最成功的深度学习系列方法和研究方向。
7. 核方法与支持向量机:以支持向量机为主的核方法在20世纪90年代成为模式识别的一个主流方向,至今仍在模式识别研究和应用中发挥重要作用。
8. 句法结构模式识别:基于句法或结构分析的模式识别方法一直以来是与统计模式识别并列的一个重要分支。
9. 概率图模型:概率图模型是一类重要的模式结构分析或结构化预测方法,因为其区别于其他结构模式识别方法的独特性,对其单独介绍。
10. 集成学习:集成学习通过融合多个学习器来提升性能, 在20世纪80年代以来已有大量研究和应用,形成了系统的理论和系列方法。
11. 半监督学习:半监督学习是20世纪90年代以来发展起来的一类可同时利用标记样本和无标记样本的分类器学习方法,至今仍有大量研究。
12. 迁移学习:迁移学习利用不同领域或不同分布特性的样本数据来优化分类器模型,受到了广泛重视,发展了一系列模型和方法。
13. 多任务学习:多任务学习利用多个分类或建模任务(包括聚类、回归、数据重构等)的相关性,同时学习多个任务,可提升每个任务的泛化性能,得到了广泛重视和应用。
本次分享前六项,以下为正文部分,全文共计一万余字,建议保存收藏阅读~
喜欢我们分享的文章可以点个赞,给我们更新的动力~^-^

引言
模式识别是对感知的模式信息(图像、视频、声音等)进行分析,对其中的物体对象或行为进行判别和解释的过程。从方法论的角度,模式识别方法可进一步分为统计模式识别、句法/结构模式识别、神经网络方法等。在技术上,模式识别方法包括模式(或信号)预处理、模式分割、特征提取或表示、模式分析、模式分类等几个主要的步骤。
在统计模式识别(Statistic Pattern Recognition)中,每个模式被描述为一个特征向量,对应高维空间中的一个随机样本点。统计模式识别的基本原理是类内样本在模式空间中相互接近,形成“数据簇”(聚类),类间样本相互远离。统计模式识别的基本任务是对模式进行分类。统计模式识别方法包括统计决策理论和判别分析方法。统计决策理论利用样本的统计信息来进行决策。贝叶斯决策根据样本的后验概率进行分类,是统计决策理论的基本方法。判别分析方法利用已知类别的样本建立判别模型,并对未知类别样本进行分类。
基于句法或结构分析的模式识别方法一直以来是与统计模式识别并列的一个重要分支。句法模式识别(Syntactic Pattern Recognition)是利用模式的结构基元信息,以形式语言理论为基础来进行结构模式描述和识别的方法。结构模式识别(Structural Pattern Recognition)是一类通过结构特征来描述和判别一个模式对象的方法。句法模式识别经常与结构模式识别在用词上互换,合称句法结构模式识别,或者单称句法模式识别或结构模式识别。句法结构模式识别方法能反映模式的结构特征,通常具有较好的泛化能力。
20世纪80年代以来,人工神经网络得到快速发展和大量应用。神经网络可看作是一类统计模式识别方法,其中间层的输出可视为模式特征表示,输出层则给出分类判别。近来年,随着深度学习方法(深度神经网络设计和学习算法)的发展,模式识别领域迎来了一个全新的发展时期。深度学习方法利用大规模样本训练深度神经网络,相比传统模式识别方法,在很多模式识别问题上都明显提升了识别性能。
分类器设计是统计模式识别的重要研究内容。分类器设计的学习方法分为无监督学习、有监督学习、半监督学习和强化学习等。无监督学习是在样本没有类别标记的条件下对数据进行模式分析或统计学习,如概率密度估计、聚类等。监督学习是利用标记样本训练得到一个最优模型(如调整参数使得模型对训练样本的分类性能最优),并利用该模型对未知样本进行判别。半监督学习是监督学习与无监督学习相结合的一种学习方法,使用大量的未标记样本和少量的标记样本来进行模式分析或分类器设计。强化学习是智能系统从环境到行为映射的一种学习方式,优化行为策略以使奖励信号(强化信号,通过奖惩代替监督)的累积值最大化。
回顾20世纪50年代以来模式识别领域的发展,一些基础理论和方法产生了历史性的重要影响,它们或奠定了模式识别的理论基础,或在模式识别系统中广泛应用,或用来做模式分析的工具。我们选出以下13项理论方法或任务作为过去历史上模式识别领域基础理论方法的重要成就,它们是:
1. 贝叶斯决策与估计:统计决策的基础理论。
2. 概率密度估计:一类重要的无监督学习方法,统计模式识别的重要基础,模式分析的重要工具。
3. 分类器设计:模式识别系统实现中最重要的任务,有多种模型设计和学习方法,这里主要介绍监督学习。
4. 聚类:一类重要的无监督学习方法,模式分析的重要工具。
5. 特征提取与学习:模式的特征表示对模式分类的性能有决定性影响,如何从数据提取特征、选择特征或学习特征表示是一个重要的研究方向。
6. 人工神经网络与深度学习:人工神经网络是一类重要的模式分析和识别方法,发展到深度神经网络形成了目前最成功的深度学习系列方法和研究方向。
7. 核方法与支持向量机:以支持向量机为主的核方法在20世纪90年代成为模式识别的一个主流方向,至今仍在模式识别研究和应用中发挥重要作用。
8. 句法结构模式识别:基于句法或结构分析的模式识别方法一直以来是与统计模式识别并列的一个重要分支。
9. 概率图模型:概率图模型是一类重要的模式结构分析或结构化预测方法,因为其区别于其他结构模式识别方法的独特性,对其单独介绍。
10. 集成学习:集成学习通过融合多个学习器来提升性能, 在20世纪80年代以来已有大量研究和应用,形成了系统的理论和系列方法。
11. 半监督学习:半监督学习是20世纪90年代以来发展起来的一类可同时利用标记样本和无标记样本的分类器学习方法,至今仍有大量研究。
12. 迁移学习:迁移学习利用不同领域或不同分布特性的样本数据来优化分类器模型,受到了广泛重视,发展了一系列模型和方法。
13. 多任务学习:多任务学习利用多个分类或建模任务(包括聚类、回归、数据重构等)的相关性,同时学习多个任务,可提升每个任务的泛化性能,得到了广泛重视和应用。
1. 贝叶斯决策与估计
贝叶斯决策是统计决策理论的基本方法。理论上,在给定类条件概率密度函数和类先验概率条件下,贝叶斯决策是最小分类错误率和最小风险一致最优的决策。对于模式分类任务而言,贝叶斯决策与估计的核心任务是利用统计学中的贝叶斯定理来估计类后验概率密度函数,采用期望效用最大化和类别误判损失最小化等准则构建分类判别函数,确定样本的最优类别标记。
作为规范性理论,在类条件概率密度函数和类先验概率等经验知识条件下,最小错误率贝叶斯决策和最小风险贝叶斯决策的理论与方法已较完善。在这一理论框架下,贝叶斯决策所构建的分类器在统计上是最优的。在最小错误率贝叶斯决策和最小风险贝叶斯决策准则的基础上,模式分类方法得到充分的发展,建立起了基于训练样本直接构建分类器的方法体系。在技术上,针对不同的类条件概率密度函数,可构造不同的分类器。比如,常见的最近邻分类器、线性分类器、二次判别函数等均可在类条件概率密度函数为正态分布的情形下通过最小错误率贝叶斯决策来获得。在此基础上,人们发展了带拒识决策、Neyman-Pearson决策方法、ROC曲线性能评估、连续类条件概率密度下的分类决策、离散概率模型下的统计决策、两类分类错误率估计、正态分布类条件概率密度的分类错误率估计、高维独立随机变量分类错误率估计、贝叶斯估计、贝叶斯学习、K近邻分类器的错误率界、决策树模型、朴素贝叶斯模型等基本理论与方法。在此基础上,发展了非参数贝叶斯估计方法,如Dirichlet过程、高斯过程、核概率密度估计等。Dirichlet过程和高斯过程通过随机过程来表示不确定性,利用先验知识来降低对参数的显示约束,一定程度地避免了过拟合,提升了贝叶斯估计的数据自适应能力。
在贝叶斯决策中,类条件概率密度函数被假定是已知的。由于模式分类任务通常是面向给定样本集的,其类条件概率密度函数往往是未知的。因此,对类条件概率密度函数进行估计则成为贝叶斯决策过程中的一个核心环节。这一任务与概率密度函数估计紧密相关。在方法论上,最大似然估计被广泛地应用于确定型参数的类条件概率密度函数估计情形,而贝叶斯估计则被应用于随机型参数的类条件概率密度函数估计情形。贝叶斯学习具有灵活的适应性,既可以自然地处理以动态形式出现的样本,也可以处理以分布式方式存在的多个数据集。对于常见的共轭模型(如:类条件概率密度函数为正态分布,先验分布也是正态分布),贝叶斯后验分布可以很容易地得到计算。对于更加常见的非共轭模型,已经发展了性能良好的变分推断和蒙特卡洛采样算法,建立了较为完善的贝叶斯估计的方法体系。
在贝叶斯估计的框架内,建立了较为完善的概率图模型参数估计与结构学习的理论与方法体系,发展了马尔可夫模型参数估计方法、隐马尔可夫模型参数估计方法、动态贝叶斯网络参数估计方法。贝叶斯深度学习将贝叶斯学习的思想与神经网络的训练相结合,一方面,通过反向传播的变分推断或蒙特卡洛算法,对神经网络的参数进行贝叶斯建模,估计其概率分布信息;另一方面,利用神经网络的非线性函数学习能力,丰富贝叶斯模型中变量之间的变换,实现复杂数据的贝叶斯建模和学习。贝叶斯深度学习在无监督表示学习、数据生成、半监督学习、深度神经网络训练、网络结构搜索等中得到广泛应用。另外,基于贝叶斯学习和核函数方法发展了关联向量机方法,一定程度上克服了经典支持向量机中支持向量过多且其分类性能易受正则化参数影响的缺点。
最近几年,以贝叶斯决策与估计为基础,贝叶斯隐变量学习模型、代价敏感学习、代价缺失学习、信息论模式识别、鲁棒分类器设计、正则化方法、贝叶斯统计推断、变分贝叶斯学习等得到了充分的发展,拓展了贝叶斯决策与估计的应用范围,进一步发展了贝叶斯决策的方法体系。
以贝叶斯决策与估计所形成的理论与方法为基础,形成了较为完备的模式分类的概念体系和分类性能评价方法。在当前的模式识别理论与方法体系中,诸多判别式模型和生成式模型均可以用贝叶斯决策的思想进行解释。在技术上,贝叶斯决策与估计对分类器设计、概率密度估计、参数学习、特征提取、特征选择等方法体系的形成产生了直接影响。另外,贝叶斯决策与估计还是一种重要的学习策略,对统计模式识别和结构模式识别中的学习与推断问题的求解提供了重要的方法论。贝叶斯决策与估计的理论与方法在医学图像分类、计算机视觉、自然语言处理、语音识别、遥感图像处理等任务中得到广泛应用。
2. 概率密度估计
概率密度估计是贝叶斯决策的基础。给定一个观测样本集,概率密度估计的基本任务是采用某种规则估计出生成这些样本的概率密度函数。观测样本的分布能代表样本的真实分布,且观测样本足够充分。概率密度估计的基本思路是若一个样本在观测中出现则认为在该样本所处的区域其概率密度较大而离观测样本较远的区域其概率密度较小。
概率密度估计方法主要包含参数估计和非参数估计。参数估计方法假定概率密度函数的形式已知,所含参数未知。参数法进一步分为频率派和贝叶斯两大类学派。频率派认为待估计的概率密度函数的参数是客观存在的,样本是随机的;而贝叶斯派假定待估参数是随机的,但样本是固定的。频率派的代表方法为最大似然估计,贝叶斯派的代表性方法则包含贝叶斯估计和贝叶斯学习。针对样本的类别是否已知,参数法又可分为有监督和无监督的估计方法。有监督的估计假定每类样本的类别标签已知,无监督的估计假定每类样本的类别标签未知。在每类样本独立同分布的假定下,这两类方法主要依靠最大似然估计的技术路线来实现。无监督的估计通常需要同时对观测变量和隐变量进行估计,因此在最大似然估计的框架下,该类方法大多采用期望最大化方法来具体实现。在此基础上,人们发展出概率图模型参数估计、混合高斯模型概率函数估计、Poly-tree模型参数估计、Copula 密度函数估计、隐狄利克莱分配(Latent Dirichlet Allocation)模型估计、受限玻尔滋曼机参数估计等方法。
在对样本分布没有充分了解从而难以给出其概率密度函数的情形下,以及在样本分布复杂从而难以采用简单的概率密度函数对其进行描述的情形下,需要采用非参数估计方法。非参数估计方法不对概率密度函数的形式作任何假定,而是直接采用样本来估计出整个函数。非参数方法主要包含Parzen窗方法和K近邻估计。Parzen窗方法和K近邻估计方法的误差界已从理论上得到了有效的分析和充分的研究。方窗、高斯窗、超球窗等窗函数在Parzen窗方法中得到广泛应用。在此基础上,人们发展出核密度估计方法,并在密度函数的平滑性、核函数尾部效应、核函数及其带宽选择、密度估计的统计逼近分析等理论方面进行了广泛研究。核密度估计方法涉及到核函数的选择和带宽的选择。常用的核函数包含多项式核函数、高斯核函数、Epanechnikov核、径向基函数,等等。在此基础上,人们发展出一类静态核、动态核、正交级数密度估计等方法。核函数的带宽决定着密度估计的精度和泛化性能。因此,带宽的选择得到了广泛研究,主要包含最小二乘法交叉验证、有偏交叉验证、似然交叉验证、赤池信息准则(Akaike Information Criterion)、置信区间交叉、平均积分平方最小准则、有偏渐近平均积分平方最小准则、局部平均积分平方最小准则、数据树带宽选择等方法。
因其在模式分类中的普遍性和重要性,概率密度函数估计一直得到广泛的关注。针对不同的问题描述形式,人们发展了一些改进方法,比如互信息匹配自适应概率密度估计方法、非参数回归、可变带宽核密度估计、多尺度核密度估计、基于场论的密度估计、人工神经网络密度估计、压缩密度估计、交叉熵估计、密度微分、密度比例估计、高维鉴别特征选择、半参数密度估计、原型密度凸组合、在线期望最大化、增量密度估计、密度估计并行算法,等等。这些方法从学习准则、数学优化方法等不同的技术角度丰富了概率密度估计的方法体系。但是,对于小样本高维空间的密度估计方法,依然没有得到充分的研究。
概率密度估计是统计模式识别中的一个基本问题,是数据聚类和分类器设计等多种模式分类算法的基础。随着模式识别方法的发展,概率密度参数估计的思想在深度信念网络、深层玻尔滋曼机、变分自编码机、生成对抗网络等深度生成模型中得到应用。与此任务关联的蒙特卡罗采样方法、马尔可夫蒙特卡罗和贝叶斯参数推断、高斯过程、Dirichlet过程等均得到了并行发展。概率密度估计在图像分割、视频背景运动估计、目标跟踪、图像配准等计算机视觉任务和盲信号分离、语音识别等任务中具有广泛的应用。
3. 分类器设计
模式识别过程一般包括以下几个步骤:信号预处理、模式分割、特征提取、分类器构造、上下文后处理,而分类器构造是其中的主要任务和核心研究内容。分类器构造是在训练样本集合上进行机器学习和优化(如使同一类样本的表达波动最小或使不同类别样本的分类误差最小)的过程。
最经典的分类器是贝叶斯决策模型,在每个类的先验概率以及条件概率密度基础上,通过贝叶斯公式计算出后验概率进行模式分类。当条件概率密度的函数形式符合数据的实际分布时,贝叶斯分类器是理论上最优的分类器。多数分类器可以看成是贝叶斯分类器的特例形式,如K近邻分类器,线性判别函数,二次判别函数等。此外,绝大多数分类器的设计方法均可从贝叶斯决策的角度进行分析和解释。
在技术上,分类器设计方法可以从两个角度进行划分。第一是从模式表示的角度进行划分,可以分为统计方法、结构方法、以及混合统计-结构方法。统计方法以多元统计理论为基础,将模式表示成特征矢量然后再进行分类,具体的方法有参数方法(如基于高斯分布假设的贝叶斯分类器)、非参数方法(如Parzen窗,k-NN等)、半参数方法(如高斯混合模型)、神经网络模型、逻辑回归、决策树、支持向量机与核方法、集成学习方法(如 AdaBoost)、子空间识别方法和基于稀疏表示的分类方法等。而结构方法则以形式语言为数学基础,将模式表示成诸如串、图、树、基元等结构化的数据形式然后再进行分类,具体的方法包括句法分析、结构分析、串匹配、图匹配、树匹配、结构化预测等。
第二是从模式学习的角度可分为生成模型、判别模型、以及混合生成-判别模型。模式分类可以在概率密度估计的基础上计算后验概率,也可以不需要概率密度而直接近似估计后验概率或鉴别函数(直接划分特征空间)。通过估计概率密度然后进行模式划分的分类器被称为生成模型(Generative Model),如高斯密度分类器、Bayes网络等;直接学习鉴别函数或者后验概率进行特征空间划分的分类器被称为判别模型(Discriminative Model),如神经网络、支持向量机等。结合二者的优点,混合生成-判别学习的方法一般是先对每一类模式建立一个生成模型(概率密度模型或结构模型),然后用判别学习准则对生成模型的参数进行优化,如生成对抗网络。在判别分类器设计中,决策树是一类重要的分类方法。在结构上,决策树是关于属性(特征)分类能力判定的树形结构,其每个叶子结点代表一种类别。经典的决策树方法包含ID3、C4.5和C5.0等方法。决策树方法提升了分类器面向由不同类型特征所描述的模式的分类能力。
除了构造分类决策模型之外,分类器设计还与距离度量学习相关。距离度量学习旨在学习一个显式或隐式的、区别于欧氏距离度量的样本间距离函数,使样本集呈现出更好的判别特性,主要包含马氏距离、闵氏距离、Hausdorff距离、KL距离、推土距离(Earth Mover's Distance)、切距离(Tangent Distance)等。目前深度度量学习得到广泛研究,根据损失函数不同,有对比损失(contrastive loss)、中心损失、三元组损失、代理损失等方法。另外,在分类器设计中,人们还发展了代价敏感学习、类不均衡样本学习、多标签学习、弱标签学习等方法,用于改善各种实际问题中分类器的性能。代价敏感学习考虑在分类中不同分类错误导致不同惩罚力度时如何训练分类器,代价敏感学习方法主要包含代价敏感决策树、代价敏感支持向量机、代价敏感神经网络、代价敏感加权集成分类器、代价敏感条件马尔可夫网络、最优决策阈值、样本加权等方法。类不均衡样本学习考虑如何解决训练样本各类占比极度不平衡的问题,主要包含样本采样法、样本生成方法、原型聚类法、自举法、代价敏感法、核方法与主动学习方法等。多标签学习考虑样本具有多个类别标签的情形,人们从分类任务变换和算法自适应的角度发展出了分类器链、标签排序、随机K标签、多标签近邻分类器、多标签决策树、排序支持向量机、多标签条件随机场等方法。弱标签学习考虑样本标签存在标注量小、未标注量大、标注不精确等情形下的分类问题,主要包含小(零)样本学习、半监督字典学习、伪标签监督学习、教师学生网络半监督学习、弱监督学习等方法。此外,多类分类器集成方法也得到了广泛发展。
分类器设计产生了广泛的影响,如从支持向量机引申出来的核方法在机器学习领域成为将线性模型非线性化的主要技术手段,从神经网络模型进一步扩展出来的深度学习成为人工智能领域的核心算法,从结构模式识别发展出来的一系列模型成为结构化预测的主流工具等。在具体的应用中,分类器构造也被广泛的应用在诸如文字识别、人脸识别、语音识别、图像分类等具体问题上并取得了优异性能。
4. 聚类
聚类是模式识别的基本问题,并与概率密度估计密切相关。数据聚类的任务是根据数据的特性和模式分析的特定任务在样本类别标签未知的条件下将数据集划分为不同的聚合子类(簇),使属于每一聚合子类中的样本具有相近的模式,不同聚合类之间的模式彼此不相似。
聚类的目的是对数据进行描述。依据描述方式的不同,聚类方法包含划分法、层次法、密度法、网格法、模型法等。划分法使用类原型描述聚类子类(簇),依据类原型将数据集划分为不同的聚合子类(簇)。代表性的K均值算法和K中心值算法的类原型都是点原型。不同的是,K均值算法的类原型是虚拟样本点,并可从高斯混合概率密度函数估计的角度加以解释。K中心点算法的类原型是数据集中实际样本点。K均值算法和K中心值算法的样本隶属度均是非0即1。随后,人们发展了模糊K均值算法,假定各样本以一定的模糊隶属度属于多个不同的簇,拓展了聚类算法的应用范围。层次法基于给定的簇间距离准则,采用合并或分裂的方式对数据集进行层次聚合或层次分解,包含凝聚层次聚类和分裂层次聚类两种技术路线,代表性的方法为BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)算法。密度法的基本原理是聚合子类中的每一个数据点在其局部邻域内需包含一定数量的其它数据点。在技术上,只要邻近区域内的数据点密度超过阈值,密度法则继续进行子集聚合。因此,理论上讲密度法可以发现任意形状的子类。经典的密度法包含DBSCAN (Density—Based Spatial Clustering of Application with Noise)算法和OPTICS (Ordering Points to Identify the Clustering Structure)算法。网格法将样本所在的空间量化为有限数目的多分辨率网格单元,代表性的方法包含STING(统计信息网格方法,Statistical Information Grid)算法、CLIQUE(Clustering in QUEst)算法、小波聚类算法。模型法为每一个聚合子类假定一个生成模型或描述描述,并在样本集寻找满足该模型的数据子集。模型可以为概率密度函数或者其它特定描述。在假定样本的总体分布符合基于混合高斯模型的条件下,可以直接导出K均值算法。在以上经典算法的基础上,人们发展了多种变种聚类算法,包含模糊聚类法、迭代自组织数据分析法、传递闭包法、布尔矩阵法、直接聚类法、相关性分析聚类、基于统计的聚类方法、基于分裂合并的聚类数目自适应算法,等等。另外,因其与K均值聚类算法所具有的内存联系,非负矩阵分解方法也应用于数据聚类之中。
大多数聚类方法假定聚合子类中的数据呈拟球形分布,但现实应用中的诸多数据分布在多个流形上或任意形状上。两类呈拟球形分布的数据可以用一个超平面来做划分边界,通常称为线性可分数据,否则称为非线性可分数据。为了解决非线性可分数据的聚类问题,人们发展出了谱聚类算法。谱聚类算法将数据集中的每个数据点视为图的顶点,数据点对的相似度视为相应顶点所连边的权重,并将数据聚类任务描述为一个图划分问题。代表性的谱聚类方法包含归一化切割、比例切割方法、多路谱聚类方法。随后,在图拉普拉斯构造的基础上,人们发展出多个变种谱聚类方法,比如亲合性传播聚类、结构化谱聚类、进化谱聚类等方法。另一种解决非线性可分数据的算法是同时采用密度和距离信息的密度峰值快速聚类算法。其基本思路是:对任意一个样本点,通过查找密度上比该样本点邻域密度更高同时相对较远的样本点作为该样本点的中心点,从而发现具有任意形状的聚类分布。
为了解决高维数据的聚类问题,通过摈弃高维数据中大量无关的属性,或者通过抽取高维空间中较低维特征表达空间来进行聚类,人们发展出了子空间聚类算法。子空间聚类方法主要包含K平面算法、K子空间算法、生成式子空间聚类、概率主成分分析、凝聚的有损压缩、图划分子空间聚类、低秩子空间聚类、鲁棒子空间聚类、贝叶斯非参子空间聚类、不变子空间聚类、信息论子空间聚类、稀疏子空间聚类等。
技术上,支持向量机方法也应用于聚类之中,比如,最大间隔切平面最小结构化风险聚类方法。另外,在神经网络模型方面,早期的著名方法包含自组织映射网络模型。随着深度学习方法的发展,基于深度学习的嵌入聚类、深度课程学习聚类等方法推动了大规模数据聚类和深度无监督学习方法的发展。
面对不同的任务形态和数据特性,在现有聚类算法的基础上人们从多方面发展了数据聚类方法,比如,大规模数据聚类、集成聚类、流数据聚类和多视图聚类。大规模数据聚类主要包括并行聚类、大数据聚类等方法。集成聚类主要包括因子图集成聚类、局部加权集成聚类等方法。动态流数据聚类主要包括基于支持向量的流数据聚类、多视图流数据聚类等方法。针对多视图聚类问题,主要从如下几个角度开展了算法研究工作:权衡视图内聚类质量与视图间聚类一致性、对视图和特征同时进行自适应加权、保证视图间的一致性和互补性、刻画多视图数据样本的非线性关系、构建反映类结构特征的完整空间表达等。多视图聚类主要包括基于相似性的多视图聚类、多视图子空间聚类、视图与特征自适应加权多视图聚类、协同正则化多视图聚类、信念传播多视图聚类、基于图学习的多视图聚类等方法。
聚类是统计模式识别中的经典问题,是实现模式分类的基本技术方法。因其在模式分类中的重要性和基础性,聚类一直受到学术界和工业界的广泛关注。但是,聚类算法对数据规模的可伸缩性、不同数据类型的处理能力、对任意分布和任意形状簇的自适应性、对初始参数的鲁棒性、噪声鲁棒性、高维数据的自适应性、合理类别数的自动确定等问题仍然没有得到充分的解决。对这些挑战性问题的研究持续推动着模式分类技术的发展。聚类方法在图像处理与分析、计算机视觉、自然语言处理、数据科学等领域中具有十分广泛的应用。
5. 特征提取与学习
特征提取与学习是模式识别的重要环节。原始采样数据通常为意义不明确且高度冗余的数值数组或矩阵,同时通常还夹杂着大量的噪声和干扰信号。因此,特征提取与学习是依据数据的本征属性和应用需求,从原始采样数据中提取有用的信息,并对这些信息进行合理编码,尽最大可能地形成完备、紧致、区分性好的特征表达。
一个广泛采用的方法是特征选择。特征选择是从给定的特征集合中选择出用于模型构建的相关特征子集的过程,是一个重要的数据预处理过程和特征提取过程,可以有效减轻维数灾难问题。特征选择一般采用启发式或随机搜索的策略来降低时间复杂度。总的来说,传统的特征选择过程一般包括产生过程、评价函数、停止准则和验证过程四个基本步骤。产生过程是一个搜索策略,产生用于评价的特征子集,包括:前向搜索、后向搜索、双向搜索等。评价函数用于评价测试中候选子集与上一次最佳候选子集之间的好坏。停止准则决定什么时候停止搜索子集过程。验证过程检查候选子集在验证集上是否合法有效。基于稀疏学习的方法也被广泛应用在特征选择问题中,通过将分类器的训练和L1、L2、以及L21范数的正则化相结合,可以得到不同程度的特征稀疏性,从而实现特征选择。
特征学习的方法主要包含四类。其一是以子空间分析为代表的线性方法,包括:主成份分析法(PCA),线性判别分析法(LDA),典型相关分析法(CCA),独立成份分析法(ICA)等,从不同的侧面对数据所处的子空间进行建模,如PCA针对最佳重构子空间,LDA针对最佳类别可分子空间,CCA针对两组变量的最佳相关子空间,ICA针对从混合数据中恢复出独立子空间等。其二是通过核方法的手段将上述线性子空间模型非线性化,主要代表性模型有:核主成份分析(KPCA)、核线性判别分析(KLDA)、核独立成份分析(KICA)等,其主要思想是通过某一未知的映射函数将数据投射到高维空间再进行相应的线性建模,而核函数描述了高维空间中数据的内积,最终的特征提取函数以核函数的形式进行描述。其三是对数据的流形结构进行刻画的流形学习方法,传统的机器学习方法中,数据点和数据点之间的距离和映射函数都是定义在欧式空间中的,然而在实际情况中,这些数据点可能不是分布在欧式空间中的,因此传统欧式空间的度量难以用于真实世界的非线性数据,从而需要对数据的分布引入新的假设。流形学习假设所处理的数据点分布在嵌入于外维欧式空间的一个潜在的流形体上,或者说这些数据点可以构成这样一个潜在的流形体,代表性工作包括等度量映射ISOMAP, 局部线性嵌入LLE等。其四是以深度学习为代表的端到端特征学习方法,对大量的原始数据通过特定的网络结构以及训练方法,学习出有意义的特征表示,用于后续的分类、回归等其它任务。由于深度神经网络具备强大的非线性函数拟合能力,结合具体任务的目标损失函数,可以以数据驱动的方式学习到更加具备判别力的特征表示。此外,现实世界中大量数据是以张量形式存在的,对传统算法的张量化扩展也是一个重要的研究内容,如2DPCA,2DLDA等研究引起了学术界的广泛关注。
特征提取与学习是模式识别中的一个基本任务,是实现模式描述、模式非线性变换与语义表示、分类器设计、距离度量学习的重要基础,也是解决维数灾难的重要手段。一些新的研究方向,如流形学习、稀疏学习与数据压缩、基于学习的排序、深度学习等与特征提取与学习紧密相关。小样本条件下的特征提取以及在端到端框架下的表示学习均是当前的研究热点。特征提取与学习在图像识别、图像匹配、医学影像分析、生物特征识别、Web 文档处理、信息检索、自然语言处理、基因分析、药物诊断等领域具有广泛的应用。
6. 人工神经网络与深度学习
人工神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的数学模型,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。人工神经网络本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。它是涉及神经科学、思维科学、人工智能、计算机科学等多个领域的交叉学科,其具体的发展包含两个阶段:浅层网络与深度学习。
1943年,心理学家W.S. McCulloch和数理逻辑学家W. Pitts建立了神经网络和数学模型,并称之为机器感知模型。机器感知模型给出了神经元的形式化数学描述和网络结构方法,展示了单个神经元具有执行逻辑运算的功能,从而开创了人工神经网络研究时代。1949年,心理学家提出了突触联系强度可变的设想,从而将参数学习引入至人工神经网络。1959年感知器及随后多层感知器的提出,将人工神经网络的研究引入到一个新的高潮。
传统的神经网络模型大部分均为浅层网络,如多层感知机、径向基函数网络、多项式网络、自组织映射等。在这些模型中,神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。由于早期计算能力的局限性以及网络设计的缺陷,大部分模型的层数都比较浅(如3层、5层等),当层数加深时,误差反向传播算法BP会出现梯度消失现象,从而无法有效训练。同时,早期的人工神经网络还存在过拟合、局部最优化等问题。
面向时间序列数据处理,人们建立了循环神经网络(Recurrent Neural Network, RNN)。循环神经网络在序列的演进方向(和反方向)各结点按链式方式并进行递归。循环神经网络具有记忆性、参数共享并且图灵完备,在序列非线性特征学习方面具有优势。长短期记忆(LSTM,Long Short-Term Memory)网络是一种时间循环神经网络,旨在解决循环神经网络中存在的长时依赖问题和训练过程中可能遇到的梯度消失或爆炸问题。实践上,长短期记忆网络在多数任务上表现出超越隐马尔科夫模型的性能。另外,作为循环神经网络的扩展,递归神经网络(Recursive Neural Network)也得到了发展和应用。递归神经网络是具有树状阶层结构且网络结点按其连接顺序对输入信息进行递归的人工神经网络,目前已成为深度学习中的重要方法。
面向图像数据分析,人们建立了卷积神经网络(Convolutional Neural Network, CNN)。卷积神经网络受生物视觉系统启发,在人工神经网络中引入局部连接和权值共享策略,大幅度缩减模型参数,提高训练效率。同时,卷积神经网络引入多卷积核和池化(Pooling)策略,不仅缓解了神经网络的过拟合问题,还增强了神经网络的表示能力。卷积神经网络不仅在图像识别等计算机视觉任务中取得巨大成功,还被用于语音识别和自然语言理解,是深度学习的重要方法之一。
近年来,随着计算能力提升和大数据涌现,神经网络的发展趋势是变得越来越深,形成了新的研究方向“深度学习”,包括:深度信念网络、卷积神经网络、递归神经网络等,在图像、声音和文本等众多感知任务和以围棋博弈为代表的认知任务上均取得了突破性的性能提升。其中一个代表性的改进是利用ReLU激活函数替代了传统的Sigmoid激活函数,使得深度网络得以有效训练,另外一个代表性改进是残差网络通过引入跳跃式的连接(Skip Connection)有效缓解了梯度消失的问题,使得网络层数大大增加。在其他策略诸如更好的初始化如Xavier、更好的归一化如Batch Normalization、更好的网络结构如ResNet, DenseNet, GoogleNet, NAS等、以及更好的优化算法如Adam等的共同努力下,深度学习在显著扩展网络深度的同时也大大提升了模型的整体性能。
深度学习的概念由Hinton等人于2006年正式提出。2013年4月,《麻省理工学院技术评论》杂志将深度学习列为2013年十大突破性技术之首。深度学习强调的是一种基于对数据进行表征学习的方法,其目标是寻求更好的表示方法并创建更好的模型来从大规模未标记数据中学习这些表示方法。深度学习也可以理解为传统神经网络的拓展,至今已被应用于计算机视觉、语音识别、自然语言处理、与生物信息学等领域并获取了极好的效果,甚至在某些识别任务上达到或超越人类所表现出的能力。除了在算法模型方面的进展,深度学习的成功还有两个重要因素:海量训练数据积累以及 GPU 计算所提供的强大而高效的并行计算。现在主流的深度学习平台(如Caffe, Tensorflow, pyTorch)都支持GPU的训练。
欢迎大家在评论区交流与我交流~共同学习和成长^-^