机器学习
当代是一个信息爆炸的时代,面对这些海量数据,传统的大脑思考、手工计算远远不能适应发展的需要,人工智能、机器学习的发展和应用也就成为必然。机器学习是一门多领域交叉学科,就是研究如何利用计算机模拟和实现人类学习行为和思维方法,以获取新的知识和能力,重新组织已有的知识结构,使之不断改善自身的性能。用计算机来模拟人类学习能力被称为基于数据的机器学习,简称机器学习。机器学习是人工智能研究领域的一个分支,或者说是核心,深度学习是机器学习的新方法。
机器学习与推断统计学密切相关,需要借助概率论、逼近论、凸分析、计算复杂度理论等多门学科。机器学习目前已经广泛应用于众多领域,比如:数据挖掘、金融数据分析、图像识别、语音和手写识别、搜索引擎、生物特征识别、语言处理、机器人应用等等。机器学习是一门较为年轻的学科,产生于 20 世纪 50 年代,初期发展较为缓慢,70 年代中后期重新开始起步,90 年代发展速度加快,应用成果不断出现,而且越来越活跃。
第一阶段,浅层学习。上世纪 80 年代末,各种学习模型也不断涌现,比如支持向量机、Boostiong、最大熵方法等。随着信息化的发展,数据挖掘需求巨大,大数据概念逐步浮出水面,此时的各种浅层机器学习模型逐步被应用到实践中,而且产生了巨大成功。人工神经网络的反向传播算法(Back Propagation,BP)的出现,给机器学习带来了新的力量,兴起了基于统计模型的机器学习浪潮。BP 算法可以从大量训练样本中通过统计方法学习到规律,从而对新样本进行预测。这种学习方法,与基于人工知识总结的系统来说,显示出很多优越性。神经网络本身是模拟人类大脑的工作机理,从仿生学角度说,可以多层连接,但是此时的神经网络还只能是含有一层隐含层节点的浅层模型,能力受到一定限制。
第二阶段,深度学习。2006 年,加拿大多伦多大学教授 Geoffrey Hinton 和他的学生,在《科学》杂志上发表的一篇文章,开启了深度学习的新历程。深度学习所得到的深度网络结构包含大量的单一元素(神经元),每个神经元与大量其他神经元相连接,神经元间的连接强度(权值)在学习过程中修改并决定网络的功能。通过深度学习得到的深度网络结构符合神经网络的特征。
深度神经网络分为三类:
-
前馈深度网络(Feed-Forward Deep Networks,FFDN),由多个编码器层叠加而成,如多层感知机(Multi-Layer Perceptrons,MLP)、卷积神经网络(Convolutional Neural Networks,CNN)等。
-
反馈深度网络( Feed-Back Deep Networks,FBDN) ,由多个解码器层叠加而成,如反卷积网络( Deconvolutional Networks,DN)、层次稀疏编码网络(Hierarchical
Sparse Coding,HSC)等。 -
双向深度网络(Bi-Directional Deep Networks,BDDN) ,通过叠加多个编码器层和解码器层构成(每层可能是单独的编码过程或解码过程,也可能既包含编码过程也包含解码过程),如深度玻尔兹曼机(Deep Boltzmann Machines,DBM)、深度置信网络( Deep Belief Networks,DBN)、栈式自编码器(Stacked Auto-Encoders,SAE) 等。
深度置信网络
深度置信网络是一种深度学习的机器学习模型。它是由多层无监督的受限波尔兹曼机和一层有监督的 BP 神经网络组成的深度神经网络模型。 1986 年,Hinton 等人提出了玻尔兹曼机,这种模型模拟真实空间的特征提取,由于学习过程容易发散,算法收敛性较低。Hinton 等人又提出了受限制玻尔兹曼机(Restricted Boltzmann Machine,RBM),这种模型将波尔兹曼机单元之间的连接限定在相邻的两层之间,仅有可见节点与隐藏节点的连接,层内和跨层的单元之间没有连接,该算法性能提高较大。Hinton于2000年又提出了对比散度(Contrastive Divergence,CD)的学习算法,使用近似的概率分布差异来度量对比散度。对比散度对波尔兹曼机的算法又有了较大的提升。Hinton 于 2006 年,提出了深度置信网络模型,基于贪婪学习的层叠 RBM 深度置信网络算法。这篇文章主要提出了两个基础,一是,具有多隐含层的神经网络具有更优异的学习能力,更有利于特征和知识的构建。二是,可以通过逐层初始化的方法,来克服深度神经网络在训练上的难度。很快,各类学术及科研机构迅速开展深度学习研究,商业巨头也投巨资加入到深度学习的研发中来,风靡一时的AlphaGo 就是一个典型例子,深度学习在语言识别、图像识别、语言翻译等领域确定巨大进步。深度学习在大数据时代,对于发掘隐藏在海量数据中的信息和知识,显示出明显优势。
Tieleman 在 2008 年提出了对比散度算法的改进算法,随机极大似然(Stochastic Maximum Likelihood, SML)算法,即连续对比散度(Persistent Contrastive Divergence, PCD)算法。该算法修正了对比散度算法极大似然度的缺点,提高了极大似然数的学习,基于连续对比散度受限波尔兹曼机算法比原来的对比散度算法更加高效。
Tieleman 在 2009 年又提出了增加一组额外的参数来学习连续对比散度的算法,即马尔可夫链蒙特卡罗(Markov chain Monte Carlo, MCMC)采样,为基于受限波尔兹曼机的改进算法提出了框架基础。
2009 年,多名学者提出了基于回火的马尔可夫链蒙特卡罗采样(Tempered MCMC)算法,Desjardins 等提出了平行回火算法,该算法的主要思想是模拟以不同温度平行运行多个 Markov 链,在每个运行步骤中,PT 算法以一定的概率交换两个临近链之间的样本,以增加 Markov 链的混合率,进而快速逼近目标分布。其它还有模拟回火(Simulated Tempering)算法,回火转移(Tempered Transition)算法,并行回火(Parallel
Tempering)算法等,还有模式跳转的 MCMC 方法。
Lee提出了一种稀疏受限波尔兹曼机(Sparse Restricted Boltzmann Machines, SRBM)。基本原理是在对数似然函数的基础上,引入一个稀疏惩罚项,使平均激活概率偏离给定水平。罗恒将组稀疏应该到 RBM 的学习中,通过引入了一个混合范数,使得学习过程中隐单元的互相之间不再是条件独立,来影响学习到的特征不再同质,或特征重叠较小。Larochelle 等人提出了分类受限玻尔兹曼机,用来进行有监督学习,该算法的主要思想是在隐含层中引入二值随机变量,用来拟和输入特征与类标签的联合分布,即输入特征和类标签均作为可见单元进行学习。Charles 等提出了不确定权重的变分贝叶斯深度学习网络。
聚类
聚类是一种常用的数据分析方法,在人工智能、模式识别和机器学习等领域一直受到广泛关注。聚类作为一种无监督的数据分析技术,通过数据之间的疏密程度,将数据划分到不同的数据簇中,使得簇内的数据之间关系比较紧密,而簇之间的数据关系比较疏远。根据聚类使用方法的不同,将聚类分成常见的一些类别:基于划分的聚类算法,基于层次的聚类算法,基于密度的聚类算法,基于图论的聚类算法等。这些聚类算法在针对特定的数据集进行聚类时,通常能获得理想的聚类效果。但这些聚类性能的有效获得都离不开一个必要前提,那就是进行聚类时的数据必须是充分的,换句话说,这些聚类算法是不适合处理数据不充分的情况。
迁移学习
知识迁移机制是指将历史数据(也称为源域)中提炼的有益知识应用到对当前数据(也称为目标域)聚类任务的指导,用于
提高当前数据的聚类结果。历史数据与当前数据之间既存在着联系,也存在着明显的差别。目前,应用知识迁移机制来提高聚类性能的代表性算法有:在多任务中使用共享子空间进行聚类的 LSSMTC 算法,使用 K 均值组合方法的 CombKM 算法,使用自学习迁移机制的 STC 聚类算法,使用特征和样本协同机制的 Co-clustering 聚类算法,迁移谱聚类 TSC算法。
网友评论