机器学习范文

时间:2023-11-23 21:49:57

机器学习

机器学习篇1

机器学习

机器学习是研究计算机如何模拟或实现人类的学习行为,获取新的知识或技能,并对已有的知识结构进行重新组织使之不断改善自身的一种新技术。机器学习的研究方法是从大量的观测数据寻找规律,利用这些规律对未来数据或无法观测的数据进行预测。迄今为止,关于机器学习还没有一种被共同接受的理论框架,关于其实现方法有以下几种:

第一种是传统统计学理论,亦即经典的统计估计方法。实际上,传统参数估计方法正是基于传统统计学的,在这种方法中,参数的相关形式是已知的,训练样本用来估计参数的值。但这种方法有很大的局限性:首先,它需要已知样本分布形式,这需要花费很大代价;其次,传统统计学研究的都是假设样本数目趋于无穷大时的渐近理论。而实际问题中,样本的数目往往是有限的,因此一些理论上很优秀的学习方法实际中表现却可能不尽人意。

第二种方法是经验非线性方法。经验非线性方法利用已知样本建立非线性模型,克服了传统参数估计方法的困难。但是,这种方法缺乏一种统一的数学理论。以神经网络为例,神经网络是目前运用较多也是最早应用的非线性分类,由于神经网络是基于经验最小化原理,它具有对非线性数据快速建模的能力,通过对训练集的反复学习来调节自身的网络结构和连接权值,并对未知的数据进行分类和预测。但是,神经网络从某种意义上说是一种启发式的学习机,本身有很大经验的成分,它有诸如如何确定网络结构的问题、过学习与欠学习问题、局部极小点问题、训练出来的模型推广能力不强等固有问题得不到很好的解决。

为了克服神经网络算法这个无法避免的难题,万普尼克(Vapnik)领导的AT&T Bell实验室研究小组提出了统计学习理论。统计学习理论是一种专门研究小样本情况下机器学习规律的理论,该理论针对小样本统计问题建立了一套新的理论体系,在这种体系下的统计推理规则不仅考虑了对渐近性能的要求,而且追求在现有有限信息的条件下得到最优结果。Vapnik还在统计学习理论基础上提出了支持向量机(Support VectorMachine,SVM),是一种全新的模式识别方法。由于当时这些研究尚不十分完善,在解决模式识别问题中往往趋于保守,且数学上比较难以解释,因此对支持向量机的研究一直没有得到充分重视。直到20世纪90年代,由于神经网络等机器学习方法的研究遇到一些难以解决的瓶颈,使得支持向量机的研究得到重视并迅速发展和完善。支持向量机是基于结构风险最小化原理的一种新方法,利用结构风险最小化原理使得VC维即泛化误差的上确界最小化,从而使支持向量机具有很好的泛化能力。支持向量机在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。SVM最初是针对分类问题提出的,目前也被推广到回归问题上。鉴于SVM扎实的理论基础,SVM目前已经成为机器学习的研究热点之一,并已经取得了很好的研究成果。

支持向量机

支持向量机方法是根据有限的样本信息建立的模型获得最好的推广学习能力。它的实现的思想是:通过某种事先选择的非线性映射,也就是满足Mercer定理的核函数将输入向量映射到一个高维特征空间,在这个空间中构造最优分类超平面,使得这个最优分类超平面能够尽可能多地将两类数据点正确地分开,同时使分开的两类数据点距离分类面最远。我们以二维线性不可分,而三维线性可分为例,如图所示:

图a)表示二维空间中的样本非线性可分,只能用椭圆曲线作其分类标准;但通过某种映射,将样本点映射到图b)的三维空间,样本就变得线性可分。从本质上讲,支持向量机是通过构造一个带线性不等式约束条件的二次规划问题,并求解该问题来构造分类超平面,从而得到决策函数。

支持向量机的优点

传统的统计方法只有在样本数目趋向无穷大时其性能才有理论上的保证,对于应用中的优先样本难以取得理想的分类回归效果,而支持向量机是一种小样本学习方法,在小样本学习上有特殊的优越性,能在训练样本数目很小的情况下取得很好的推广能力,特别是对非线性分类和回归问题的处理上更加有效。同时,作为一个凸优化问题,支持向量机还具有泛化能力强,容易训练,没有局部极小值等优点。支持向量机相对传统的机器学习方法优势还是很明显的:

1、支持向量机是一种有坚实理论基础的新颖的小样理本学习方法,并且运算过程中基本上不涉及概率测度及大数定律等。

2、支持向量机的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。

3、少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。

此外, 支持向量机具有调节参数少,运算速度快,时间代价小的优点,加之支持向量机理论研究的逐步深入,支持向量机在模式识别、回归估计、概率密度函数估计等问题上的研究也逐步深入,成为各国研究者的研究热点。

支持向量机的应用

由于支持向量机具有良好的逼近任意复杂非线性系统的能力,近年来被广泛地用于自动控制领域,以解决非线性、大滞后系统这一困扰现代控制理论界的难题。

模式识别方面,支持向量机可以广泛应用到人脸和人脸姿势识别、指纹识别、基因数据分析和编码、语音激活检测、语音分类以及图像的检索和识别等问题,无论从查全率和查准率两方面较传统方法都有较大的提高。

回归预测方面,支持向量机也得到较为广泛的应用。有人将支持向量机应用到短期电力使用负荷预测中,得到了很快的计算速度和较好的预测效果。支持向量机还可以广泛应用到天气、水文、自然灾害甚至股票走势的预测上。另外,支持向量机在故障诊断领域也得到了较为广泛的应用,如水轮发电机组卫星故障诊断、内燃机故障诊断、工业过程故障诊断等等。

机器学习篇2

2、获取数据:获取数据包括获取原始数据以及从原始数据中经过特征工程从原始数据中提取训练、测试数据。机器学习比赛中原始数据都是直接提供的,但是实际问题需要自己获得原始数据。“ 数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限”,可见数据在机器学习中的作用。总的来说数据要有具有“代表性”,对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。 对评估数据的量级,样本数量、特征数量,估算训练模型对内存的消耗。如果数据量太大可以考虑减少训练样本、降维或者使用分布式机器学习系统。

3、特征工程:特征工程包括从原始数据中特征构建、特征提取、特征选择、特征工程做的好能发挥原始数据的最大效力,往往能够使得算法的效果和性能得到显著的提升,有时能使简单的模型的效果比复杂的模型效果好。数据挖掘的大部分时间就花在特征工程上面,是机器学习非常基础而又必备的步骤。数据预处理、数据清洗、筛选显著特征、摒弃非显著特征等。训练模型、诊断、调优模型诊断中至关重要的是判断过拟合、欠拟合,常见的方法是绘制学习曲线,交叉验证。通过增加训练的数据量、降低模型复杂度来降低过拟合的风险,提高特征的数量和质量、增加模型复杂来防止欠拟合。诊断后的模型需要进行进一步调优,调优后的新模型需要重新诊断,这是一个反复迭代不断逼近的过程,需要不断的尝试,进而达到最优的状态。

4、模型验证、误差分析:通过测试数据,验证模型的有效性,观察误差样本,分析误差产生的原因,往往能使得我们找到提升算法性能的突破点。误差分析主要是分析出误差来源与数据、特征、算法。

5、模型融合:提升算法的准确度主要方法是模型的前端(特征工程、清洗、预处理、采样)和后端的模型融合。在机器学习比赛中模型融合非常常见,基本都能使得效果有一定的提升。

6、上线运行:这一部分内容主要跟工程实现的相关性比较大。工程上是结果导向,模型在线上运行的效果直接决定模型的成败。 不单纯包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性是否可接受。

机器学习篇3

[关键词]机器学习 服务器调优 线程池

[中图分类号]TP181 [文献标识码]A [文章编号]1009-5349(2016)02-0133-01

一、线程池调优系统总体设计

线程池调优系统由四个模块组成:线程池模块、性能监测模块、支持向量机调优模块。线程池模块负责线程池的创建与维护,任务队列的任务管理等,并将任务队列中的用户任务取出放入线程池中进行执行。性能监测模块负责对表征线程池性能的三个特征量吞吐量、任务运算时间和任务阻塞时间的监测,作为测试样本输入支持向量机调优模块中。支持向量机调优模块则通过性能监测模块提供的测试样本,得到所需的最佳线程池尺寸,并与当前的线程池尺寸进行对比,最后调整线程池尺寸到最佳。

二、线程池模块

线程池模块主要负责线程池内线程的创建、销毁、构造任务队列,并将任务队列中的用户任务取入线程池中分配空闲线程来执行。系统采用Win32的提供的线程库,以面向对象思想实现相关功能模块。线程池模块主要包括线程池类CPoolThread、任务队列类CJobDequeue、线程类CThread以及同步类CMutex。

线程类CThread最重要的一个方法是线程的创建方法CThread::Create()。线程创建方法采用了Win32线程库提供的线程创建应用程序接口CreateThread(Null,0,_ThreadEntry,this,0,&ThreadID)来实现。线程池类CThreadPool主要提供了一个数组变量m_list_thread来维护一个线程池,线程池内的每个线程都存在了这个数组变量中,而具体的池内线程的操作都交给了线程类CThread来完成。线程池类CThreadPool主要包括初始化线程池的初始化方法CThreadPool::InitInstance()来实现线程池内所有线程的创建操作,具体通过CThread类的CThread::Create()方法来实现每个线程的创建。任务队列类CJobQueue是线程池类的一个对象,维护了一个任务队列数组列表m_normal_list,用户任务经过线程池类添加任务接口进入此数组列表中。任务队列类通过队列列表来维护管理等待中的用户任务。同步类CMutex主要是为了实现程序中的某些互斥操作设立的,通过对私有变量m_lock调用WinAPI函数的WaitForSingleObject()与ReleaseMutex()来实现程序的加锁与解锁操作。

三、性能监测模块

性能监测模块主要是监测表征线程池性能的三个特征量:吞吐量、任务运算时间和任务阻塞时间。由于吞吐量是监测用户任务进入任务队列的数量,因此,对吞吐量的监测可以在任务队列类中实现。而任务运算时间和任务阻塞时间直接是与线程的执行任务相关的,因此,将这两个量的监测放入线程类中实现。

性能监测模块对吞吐量的监测方法。每当有用户任务通过线程池类进入任务队列时,任务队列将其成员变量m_tuntu进行加1操作,实现对吞吐量的实时更新。

任务运算时间的监测方法主要通过调用Windows提供的API函数GetThreadTimes添加至线程类中的Run方法中来实现。GetThreadTimes函数可以返回四个参数:线程创建时间、线程退出时间、系统代码运算时间和用户代码运算时间。因此,可以通过对系统代码时间与用户代码时间求和来得到任务占用CPU的时间,也就是任务运算时间。具体做法是当线程类中Run方法启动用户任务时,即调用此API函数,获得任务进入线程池时间;当用户任务运行结束时,再次调用此API函数,即可获得任务离开线程池时间,将二者做差即可得到任务占用CPU的运算时间。

对任务阻塞时间的监测方法的实现则相对麻烦一些,因为没有直接测试任务阻塞时间的API函数.但是可以通过间接的方法来测量,即任务阻塞时间=任务执行时间-任务运算时间。其中,任务执行时间可以通过WindowsAPI函数getTickCount()来分别得到任务进入线程池与离开线程池时的CPU时钟,从而做差就可以求出任务执行时间;而任务运算时间也可以得到,因此再将两者做差就可以得出最后的任务阻塞时间。具体做法同监测任务运算时间时的做法,只是改变了监测的API函数。

四、支持向量机调优模块

根据支持向量机调优模型,将支持向量机调优模块写成线程类中的一个函数――调优函数Tuning()。

通过线程池类内的成员变量m_tuntu、m_cmptm和m_blktm获取当前线程池性能数据,输入到支持向量机方法中得到最佳线程池尺寸。当最佳线程池尺寸与当前线程池尺寸不符时,需要对线程池的尺寸进行调整。当需要增加线程池尺寸时,可以通过WindowsAPI函数CreateThread()来创建新线程;当需要减小线程池尺寸时,可以通过调用函数TerminateThread()来销毁空闲线程,最终达到所需的最佳线程池尺寸。

【参考文献】

机器学习篇4

“机器学习对我而言,是为了让人类能够不用像机器那样去做事。”11月10日,在Google公布开源第二代机器学习系统的第二天,Google母公司Alphabet董事长施密特(EricSchmidt)通过视频向包括《第一财经日报》在内的媒体表示。

面对在场媒体,施密特举例称:“你们都是记者,在会场还要不停地用电脑打字,而不只是听和说。为什么不能让机器去做比如制造业的重复工作、很多打字的工作?”他预计,在Google公布开源第二代机器学习系统之后,尤其是在医疗、游戏、教育等领域,机器学习将发挥巨大的价值。

机器学习背后的黑科技

机器具备学习能力究竟有多重要?Google科学研究员GregCorrado做了一个比喻:“机器学习就像火箭助推器,而大量的数据就是火箭的燃料。”

谷歌机器学习的原理是:用众多的电脑模拟人脑中的“神经元”,形成一个人的“神经网络”(ArtificialNeuralNetwork)。它不需要借助大批研究人员帮助电脑标明事物之间的差异,只要为算法提供海量的数据,“神经元”与“神经元”之间的关系将会发生变化,让数据自己说话,让组成“神经网络”的机器具备自动学习、识别数据的能力,在新的输入中找出与学到的概念对应的部分,达到机器学习的效果。

例如,当人们需要计算机辨别图片内容的时候,各个人工神经元就会把所抓取的信息传递给被设置为“决策者”的神经元上,它们通过统观其下层所有神经元所呈现的信息,结合案例、数据的分析及算法最终得出结论。

事实上,谷歌对于机器学习的研究要追溯到7~8年前的语音技术开始。但施密特透露,机器学习这一技术取得突破性进展,是发生在计算机视觉领域。

三年前,Google科学家杰夫·狄恩(JeffDean)在接受《第一财经日报》采访时透露,“GoogleX”实验室通过连接16000台计算机处理器,创建了一个机器学习的神经元网络系统。结果发现,这个系统自行创建了猫这个概念并且自学了对猫的辨认,这就是“自我学习”。

不过,当时的谷歌机器学习还只是一个实验项目,局限于认知类的简单工作。几年过后的今天,谷歌的机器学习已经从识别谷歌应用中的语言和图片的第一代机器学习系统“DistBelief”更新到了第二代的TensorFlow系统,并且应用于Gmail、GooglePhotos、Google翻译、YouTube等产品中。

Google研究员GregCorrado告诉记者,利用机器学习技术,Gmail电子邮件服务的垃圾邮件拦截率提高到了99.9%,误报率降低至0.05%。这背后的原因就是,在垃圾邮件过滤器中引入了机器学习,这一技术能够通过分析大量计算机上的电子邮件学习识别垃圾邮件和钓鱼邮件。更重要的是,机器学习能够适应不断变化的情况,而非只是利用预先设置好的规则拦截垃圾和钓鱼邮件,它还能在运行过程中自己创建新的规则。

而另一个能代表这项技术的最新产品是,谷歌在Gmail上推出智能自动回复功能SmartReply。SmartReply是基于Google机器学习系统,对海量邮件里的场景、邮件写作风格和写作语气进行分析,从而帮助用户筛选适合语境的回复短句。

“一小步”与“一大步”

“在Google内部,现在机器学习已经是谷歌搜索中第三大重要的技术。”GregCorrado对记者说,人工智能是科学家希望机器变得更智能,从经验和数据中学习。“手动去编程机器显然没有让它自己学习来得更有效。”

不过,实现机器学习的训练过程仍然漫长。在这个过程中,机器需要做大量测试、调整和适配工作,也很有可能犯一些人们不大可能犯的错误。

这也正是Google把机器学习系统的大门向业界工程师、学者和拥有大量编程能力的技术人员敞开的原因,希望业界将TensorFlow实现各种各样的机器学习算法,同时也为其在各种场景下的应用带来改进。

“例如,计算机的视觉如果比人更好,为什么还要人去开车?应该让机器开车。现在是医生看X光,未来如果让机器看是否会做出更准确的诊断?”施密特说,“在开源之后,如果全世界的聪明人都将给Google很好的回馈,Google会有更好的发现,让产品和服务更完美。”

他同时提到,机器学习非常善于预测时间先后顺序的事件的发生,自己尤为看好机器学习在医疗、游戏、教育等领域发挥的价值。“甚至我们竞争对手的团队都会用它,这就是谷歌不同于别人的原因。”

对于目前Google机器学习的开放策略,GregCorrado表示,一方面,Google开放机器学习,在于鼓励大家从不同角度去研究,即使在Google内部,也不只是一种方法去做机器学习;另一方面,Google已经和学术界、企业界、不同的实验室合作,例如Facebook、百度等。

他同时认为,机器学习并不是魔术,不要盲目地认为机器学习就一定比没有机器学习的好,它只是工具,能够让研究人员转化他们疯狂的创意,而不需要他们重新编写代码。

不过,当机器能够像人类大脑一样去思考时,究竟该如何看待机器学习的伦理问题?未来机器人是否会像电影《少数派报告》中那样,充当“坏人”的角色?

机器学习篇5

机器学习热得不能再热了。机器学习作为一种人工智能,使得计算机能够学习执行任务,进行预测,而不需要详细的编程,这一技术在众多的流行技术中非常火,但对于大多数企业而言仍然是有些遥远的概念。由于技术进步和新出现的体系架构,机器学习可能很快成为主流。

咨询公司德勤预计明年机器学习的使用和采用会大幅度增加。这在很大程度上是因为技术越来越普遍了。该公司的最新研究显示,全球有超过3亿部智能手机,或者说2017年销售的五分之一以上的智能手机将具有机器学习功能。

德勤的技术、媒体和电信业务主管Stuart Johnston说:“以中央处理单元、图形处理单元或者专用现场可编程门阵列形式出现的新芯片技术能够以合适的价格、尺寸和功耗提供M足智能电话应用的神经网络处理功能。”

Johnston说:“机器学习软件增加了这些硬件后,将支持本地程序设计模仿人类大脑的某些结构和功能,能够应用于诸如室内导航、图像分类、增强现实、语音识别和语言翻译等领域。从日常用户的角度来看,这意味着复杂的任务会更容易,更加个性化,更快速,隐私性也更好。”

各行业的公司已经在使用或者试验机器学习技术。下面来看看三家公司怎样利用机器学习获得巨大的商业效果。

把希望“钉”在数据丰富的图像上

社交媒体网站Pinterest(拼趣)在2014年开始涉猎机器学习技术,开始时主要投入到计算机视觉技术上,并建立了一个工程师小组,工作重点是重塑人们发现图像的方式。

不到一年后,该公司推出了“视觉搜索”,这是一种不需要文本查询来搜索信息的新工具。Pinterest的数据科学主管Mohammad Shahangian说:“第一次,视觉搜索让人们拥有了获得结果的一种新方法――即使他们找不到合适的词汇来描述他们要寻找什么。”

视觉搜索应用了深度学习技术――这是一种版本的机器学习技术,它采用了深度神经网络,通过视觉搜索,Pinterest自动地探测任意一副图像中的物体、颜色和模式,并推断出相关的物体。Shahangian说,Pinterest每月除了20亿次的文字搜索外,还有超过2亿次的视觉搜索。

2016年夏天,视觉搜索演变为Pinterest推出的物体探测,它实时查找‘钉图’(pin图)中的所有物体,并提供相关的结果。

Shahangian说:“今天,视觉搜索已经成为我们最常用的功能之一,每月会有数亿次的视觉搜索,数十亿的物体被检测出来。现在,我们在视觉发现基础设施上引入了三种新产品。”

Pinterest拥有互联网上最大的数据丰富的图像库之一。Shahangian说:“我们使用机器学习技术不断地对750亿个动态物体进行排名和衡量,从可购买的‘钉图’到视频,并在最合适的时候为适当的人显示正确的‘钉图’。我们的核心焦点是帮助人们发现引人注目的内容,例如要购买的产品、要制作的食谱、去尝试的项目等,机器学习帮助我们为人们提供更个性化的体验。”

Shahangian说,Pinterest在扩展其国际用户群时,发现无论人们住在哪里、说什么语言、兴趣是什么,为他们提供个性化的服务是最重要的。他说:“使用机器学习模型,我们在过去一年中将美国以外国家的本地‘图钉’(pin)数量提高了250%。现在,每月访问Pinterest的1.5亿人都会看到与他们的国家和语言最相关的‘图钉’。”

此外,机器学习可以预测网站上促销‘图钉’的相关性及其表现,采用企业的促销理念来帮助改善用户体验。

Shahangian说:“我们最近在建议候选渠道中增加了深度学习,进一步提高了有关‘图钉’的相关度。Pinterest工程师已经开发了一种可扩展的系统,随着我们产品和人们兴趣而不断发展,所以我们能够呈现出最相关的建议。通过应用这种新的深度学习模型,早期测试显示,相关‘图钉’的交易全球增长了5%。”

Shahangian说:“Pinterest正在不断地开发最新的机器学习技术,以便构建视觉发现引擎,包括推进物体探测的发展,给世界各地的人们提供不断增长的数据库以及全世界数据丰富的图像。”

构建高维模型

另一家使用机器学习技术的公司是软件提供商Adobe Systems,据Adobe Research副总裁Anandan Padmanabhan的说法,他们多年来一直使用监督和非监督机器学习以及统计模型来帮助其业务的运行。

随着Adobe的业务向基于云的订阅服务的过渡,两个基本推动因素导致公司内需要大规模的机器学习:在线渠道成为获取客户的主要来源,以及促进产品接触和留住数百万客户的需求。此外,通过机器学习,采集到的关于客户与某些产品接触的数据信息更详细了。

Padmanabhan说:“Adobe通过产品使用、营销和客户支持来采集事件级别的纵向数据,以构建各种类型的预测模型。”这些模型包括付费转换和保留模型、客户保留模型、自动特征提取和细分、加售和交叉销售模型,以及最优分配和基于细分的预测模型等。

公司用于其机器学习工作的工具包括Python Scikit-learn、Spark ML、SAS和专有的内部方法。

Padmanabhan说,机器学习方法帮助公司建立了个人层面的高维模型。他说:“以前,Adobe利用统计工具开发更多的聚合模型,完全忽视了个人层面的不同特性。”

对Adobe来讲,机器学习的主要优点是更好地了解付费媒体的边际影响,从而能够更好的分配各种销售渠道的媒体接触点;以及能够理解个人客户倾向和生命周期的各个阶段,这些都有助于推动营销活动。

该公司还通过更好地了解各个产品的使用方式以及对营销活动的反应,提高了客户参与度,从而带来更多的定制产品,客户支持体验也更好。这反过来也有助于留住客户。

此外,Adobe的企业销售和区域规划也有了改进,这提高了销售效率;开发了一种连续性的方法来定义和分析整个企业关键绩效指标,这使得公司能够在共同的体系架构中评估所有的活动。

鉴于目前为止非常成功,该公司正在继续寻找其他的选择以充分发挥机器学习的优势。Padmanabhan说:“Adobe有强烈的意愿利用机器学习去管理客户体验的方方面面。”

为客户管理风险

金融风险管理服务提供商LexisNexis风险解决方案(LNRS)公司采用机器学习来帮助客户防止身份被盗、洗钱、福利诈骗、医疗保健欺诈、坏账和其他风险。

LNRS的技术架构和产品副总裁Flavio Villanustre说,LNRS几年前开始使用机器学习从非常大的异构数据池中提取信息并进行分析,创建图表并预测事件。

该公司主要使用基于HPCC系统自己开发的机器学习工具,该系统是用于大数据处理和分析的开源、大规模并行处理计算平台。

Villanustre说:“在处理复杂模型并需要扩展以应用于规模非常大和多样化的数据集时,这一平台给我们带来了优势。”在HPCC平台之上,LNRS以域专用语言的形式设计了自己的域专用抽象语言,例如复杂的记录链接工具――“可扩展自动链接技术”,以及将图像分析与机器学习能力相结合的“知识工程语言”。

Villanustre说,在机器学习之前,通过算法进行建模时,要求人们了解特定的问题域,从现有数据中提取事实,并编写大的“启发式”程序,使用条件规则对输入数据不同的可能结果进行建模。他说:“这些早期的系统需要专家筛选数据以理解现实,并通过计算机可以理解的条件语句来描述它。这是非常乏味、辛苦的工作,最好留给计算机去做。”

Villanustre说,机器学习改变了这一切,让计算机提取这些事实,并通过基于统计方程的模型来表示现实。他说:“这极大地节省了域专家的时间,使他们能够使用人类采用其他方法很难处理的数据集。所得到的计算机程序更洁,更易于实施,更高效。”

LNRS使用机器学习来描述企业和个人的整个网络,以识别诈骗团伙。它还使用该技术来评估和预测信用和保险风险,识别医疗保健相关交易中的欺诈,并帮助抓到犯罪分子。

Villanustre说:“机器学习是我们所做的一切的核心。”该公司正在研究最新的技术更替。他说,深度信念网络――由多层潜在变量以及层之间的联结组成的生成图形模型,还有深度学习最近有一些进展,是有希望的应用领域。

Villanustre说:“对于我们来说,非常重要的是,确认这些新方法符合我们所在各个国家的法律法规,这样才可以让个人和社会最大限度地受益于使用这些新方法。”

机器学习成为主流

德勤的Johnston说,机器学习的应用可以是多样化的,涉及到各行业,包括零售、汽车、金融服务和医疗保健等。

Johnston说,在某些情况下,这将有助于改变公司与客户的互动方式。例如,在零售业中,机器学习能够完全重塑零售客户体验。使用面部识别技术作为客户识别工具,这方面的能力在不断提高,很多公司以新方式来应用这类工具,例如,亚马逊的Amazon Go商店以及其Alexa平台。

Johnston说:“Amazon Go通过使用计算机视觉、传感器融合以及深度学习或者机器学习避免了结账,我预计很多购物中心和零售商今年会开始尝试类似的选择。”

智能手机等普通设备将具备机器学习功能,这一事实意味着该技术将不再局限于理论或者高端应用。

Johnston说:“具备机器学习功能的新兴智能手机技术的例子包括通过压力传感器确定用户心情和情绪的程序、使用健康数据进行健康和生活预测的程序,以及探测周围物体的程序。”

机器学习篇6

随着大数据时代的到来,机器学习和数据挖掘技术已经成为目前计算机科学领域的热门研究课题。而机器学习可以说是计算机领域内交叉性极强的一项技术,它融合了统计学与概率论、最优化理论、计算理论等数学领域的相关理论,借鉴了统计物理学中的相关思想,甚至还借鉴了生物学中关于神经元工作机理,可谓是博采众长。也正因为所涉及领域的庞杂性,使得初学者很难从整体上把握其全貌。日本研究者Sugiyama最近几年提出了一个新颖的视角,即将机器学习中的大部分问题纳入到密度比(测度概率密度与训练概率密度的比值)估计的理论框架中。由于密度比是一个相对较容易理解的概念,作者从这个概念出发对机器学习中的经典问题进行了梳理,从而为学习者理解机器学习提供了新的理解框架。

全书分为5个部分,共17章。第1部分是概述,含第1章:机器学习中密度比估计的作用。第2部分介绍了密度比估计的方法,含第2-8章:2.密度比估计的各类方法;3.介绍了矩匹配;4.介绍了概率化分类;5.介绍了密度拟合;6.介绍了密度比拟合;7.介绍了一个统一的密度比估计和拟合的框架;8.介绍了在高维情况中通过维度约减对密度比直接估计的方法。第3部分介绍了密度比估计在机器学习中的应用,含第9-12章:9.介绍了重要度采样;10.介绍了分布比较;11.介绍了互信息估计;12.介绍了条件概率估计。第4部分对密度比估计进行了理论分析,含第13-16章:13.介绍了参数化收敛分析;14.介绍了非参数化收敛分析;15.介绍了参数化两样本检测;16.介绍了非参数化数值稳定性分析。最后第5部分进行了总结并对未来研究进行了展望。

本书的第1作者是日本东京工业大学计算机科学系的副教授,第2作者是日本东京大学数理信息科学系助理教授,第3作者是日本名古屋大学计算机和数理信息科学副教授。本书对机器学习的相关理论和问题提出了一种非常新颖的理解视角,并给出了一致性的解决框架。Sugiyama教授在机器学习领域非常活跃,他所著的另一本书《Machine Learning In NonStationary Environments》于2012年由麻省理工出版社出版,该书与本书也有一定的相关性。本书非常适合对机器学习感兴趣的研究和工程人员阅读参考。

张志斌,副研究员

(中国科学院计算技术研究所)

机器学习篇7

大数据,尤其是与客户数据相关的大数据近几年来一直是商家的热议话题。如果你从事的是B2C领域,尤其是零售或电子商务方面的工作,那么你很有可能会以某种形式或方式接触或运用到大数据。

不过,随着新年将至,数字营销者关注点将由大数据转移至“更高质量的”数据和洞察力。通过分析顾客的在线行为真正深入地了解顾客,在帮助品牌提升知名度和影响力的同时,也可帮助营销者通过运用更具有实际意义的数据打造更加个性化的购物体验。

那么,在与数以百万计的顾客交流时,究竟应该如何运用大数据打造让顾客难以忘怀的个性化购物体验呢?

解决这一难题,首先需要依靠大数据来填补商家和消费者之间的鸿沟,这也将成为2016年营销界的热点话题。

大数据助力营销者深入了解客户

市场营销活动直接接触到顾客,并有机会将顾客转化,所以分析、评估和执行这些营销活动尤为重要,商家须不断收集顾客的详细信息。大数据和数据分析相结合,创建顾客资料库能够帮助商家:

深入了解顾客购买行为;

预测顾客购买决定;

向顾客推荐其感兴趣的商品;

最终升顾客线上购物体验。

只有互动才能让商家更多地接触顾客,而与顾客互动的唯一途径便是充分运用大数据。

今年,商家曾遭遇大数据泛滥的困境。商家接收到了海量、各类型的数据,由于处理不当,甚至根本没有能力处理这些数据,而被淹没在了数据洪流之中。因此,今年商家的热议话题之一就是利用顾客智能实现个性化。

而这也是我们能够帮助客户提升他们的顾客的个性化体验的另一方面 ——机器学习。

预测:机器学习将成为2016年的“新秀”

机器学习是在人工智能领域中的一种简单模式识别和计算机学习理论。一般来说,就是通过探寻无法直接看到的模式来解决问题,并利用某种算法基于大数据学习并做出预测。

机器学习篇8

关键词:卷积神经网络;人脸识别;大样本;对抗生成网络

中图分类号:TP391 文献标识码:A 文章编号:2095-1302(2017)07-00-04

0 引 言

近几年,基于大量训练数据的卷积神经网络(Convolutional Neural Networks,CNN)在目标检测、目标识别、显著性检测、行为识别、人脸识别和对象分割等计算机视觉领域取得了举世瞩目的成果。这些令人鼓舞的成绩主要归功于以下几点:

(1)将大量有标签的数据作为训练集,学习出具有百万参数的模型,从而使卷积神经网络能够有效提取对象的本质特征;

(2)不断改进性能优异的网络结构,如Very Deep VGG Network[1],Google Inception Network[2]和Deep Residual Networks[3]等;

(3)各种并行计算硬件设备(如GPU)的支持,大大提高了CNN训练模型的效率。其中,将标签的大量数据作为训练集起着至关重要的作用。

本文以人脸识别为例,讨论和综述多样本算法的研究现状和发展方向。

有效的特征是目标识别的关键,对人脸识别问题来说亦如此。传统的主成分分析(Principal Component Analysis,PCA)[4,5],线性区分分析(Linear Discriminant Analysis, LDA)[6]和局部二值模式化(Local Binary Pattern,LBP)[7,8]等取得了不错的成绩。基于传统特征的人脸识别受限于环境,此类特征作用在复杂或者背景多变的人脸图像时,其识别性能往往大幅下降,如在LFW数据集上其识别率骤然下降[9]。

采用CNN作为特征提取模型,主要考虑到该模型的所有处理层,包括像素级别的输入层,均可从数据中学习到可调节的参数。即CNN能自哟哟笫据中学习特征,无需人工设计特征。合理有效的特征需从大量数据和大量参数中自动学习获取,从而达到优秀的识别性能。基于卷积神经网络的世界领先方法均使用了上百万的数据,其中最具有代表性的如VGG-Face网络需要260万个人脸图像样本进行训练[10],Facebook的DeepFace网络需要440万个有标签的人脸图像样本训练[11]。而Google更使用了2亿样本数据来训练FaceNet网络[12]。

1 多样本获取现状

如引言所述,有效合理的特征是目标识别的关键,而CNN能从大量有标签的数据中自动学习图像的本质特征。获得图像特征的关键因素是有标签的大数据。因此许多研究的前提工作均聚焦在人工获取数据和给数据加标签方面。然而,获取百万级的数据并非易事。大数据获取需要人工从网上下载、处理,然后给数据添加标签,耗费大量的人力物力。虽然也有一些公开免费的数据集,且收集该类数据相对比较容易,如CASIA-WebFace[13],有49万个图像,但远少于Facebook和Google的数据集。在这种情况下,缺乏大量样本直接阻碍了深度学习方法的使用,成为阻碍提高检测率和识别率的瓶颈。除了深度学习技术提取特征需要大量样本外,已有研究证明[14-19],基于传统方法的技术同样需要大量样本作为支撑。在这种形势下,通过图像处理与机器学习技术自动增加样本集已成为必要手段。

无论基于传统方法的识别问题,还是基于深度学习的识别问题,大量有标签的数据作为训练集在算法中起着举足轻重的作用。如果样本不足,算法往往过拟合,无法提高算法的性能。为了获得更多样本,一些研究工作从网络上获取数据,例如在IMDb上,已经把9万有标签的数据集扩大到了26万 [10]。除此之外,Facebook获取了440万个有标签的人脸进行DeepFace网络训练[11],而Google使用2亿个数据训练FaceNet网络[12]。

目前获取方法具有如下局限:

(1)现有方法耗时耗力,需要经费支持。获取百万级的数据并非易事。大数据获取需要人工从网上下载、处理,然后给数据添加标签,耗费大量的人力物力。这种情况下,只有像Facebook和Google这样的大公司会收集大量有标签的数据进行网络训练。而大多数情况下的数据收集涉及个人隐私与财力物力等问题,对于一般的小公司或科研院所而言,收集数据普遍难度较大。

(2)收集特殊图片困难。对于一些特殊的图像,如医学图像,遥感图像,现实中数量本身就少,加之无法直接从网上获取,因此小样本很容易导致过拟合。

2 样本集扩大算法研究现状

2.1 基于传统方法的多样本算法研究现状

对于传统的样本生成算法,如果数据集中有足够的训练样本,均可得到比较满意的识别结果,但在现实的人脸数据库中,人脸的数据样本却是有限的。文献[20]表明,增加图像样本的数量可以较大幅度提高识别的准确率。

为了增加样本数量,提高识别准确率,科研工作者已做了大量工作。其中,借助原始样本产生虚拟样本是一种有效的增加数据集方法。这种方法大致分为如下几类:

(1)通过人脸图像的对称性来得到原始样本的虚拟样本,如Xu[14,15]和Liu等[21]提出借助原始图像的“对称脸”和“镜像脸”产生虚拟样本,从而扩大数据集并提高人脸识别的正确率,Song[22]也提出相应的算法来改进人脸识别的性能;

(2)通过改变图像的光照、姿势和表情等来产生虚拟样本,例如Boom等用一种称为VIG的方法对未知光照情况进行建模[16],Abdolali[17]和Ho[18]等提出了类似的算法扩大数据集;

(3)基于人脸图像自身的特征生成虚拟样本,Ryu等根据原始样本的分布来产生虚拟样本[19],Liu等也根据图像本身特性来产生虚拟样本[23]。

(4)基于数学的多样本产生方法,如Zhang等提出利用奇异值分解的方法获得基于原始样本的虚拟样本[24]。借助图像合成方法生成的新样本如图1所示。

图1 借助图像合成方法生成新样本

除了借助图像处理方法获得原始样本的新样本外,还可以利用图像合成算法获取多样本,本研究做了相关实验,其结果如图1所示。假设数据集中有c类人脸图像,每类有ni个样本,令表示第i类中的第j个样本,这里i=1,2,…,c,j=1,2,…,ni,h和w分别代表样本xij的高和宽(均为像素值)。用X=[X1,X2,…,Xc]代表所有样本,则Xi=[xi1,xi2,…,xini],i=1,2,…,c代表第i类样本。则有:

其中, P(Xi)代表所生成的第i类新样本, f(g)表示图像处理函数,代表多个样本的串联,即将多个样本联合起来得到一个类别的新样本。

2.2 基于深度学习的多样本生成算法研究现状

大量有标签的训练数据是机器学习成功的关键,尤其对于强大的深度学习技术,大数据集能提高CNN的性能,防止过拟合[25]。为了扩充数据集,已有一些工作在不改变图像语义的情况下进行,如水平镜像[26]、不同尺度的剪裁[27,28]、旋转[29]和光照变化[27]等传统方法。

DeepID[30]采取了增大数据集手法来训练网络,只有大的数据集才能使得卷积神经网络训练得更加充分,该研究采用两种方法增大数据集:

(1)选择采集好的数据,即映入CelebFaces数据集。

(2)将原始数据集中的图片多尺度、多通道、多区域的切分,然后分别进行训练,再把得到的向量串联起来,即得到最后的向量。

以上方法仅局限于相对简单的图像处理技术,该类方法生成的多样本具有一定的局限性。比如,真正意义上的旋转应按一定的角度进行3D旋转,而不仅仅是图像本身的角度旋转。合成数据能一定程度上解决以上问题,如Shotton等通过随机森林合成3D深度数据来估计人体姿势,Jaderberg等使用合成数据来训练CNN模型识别自然场景下的文字[31]。这些研究的结果均优于使用剪裁,旋转等传统方法。但使用3D合成图像比较复杂,需要较多的前期工作。

近年来,借助生成对抗网络(Generative Adversarial Networks,GANs)来生成原始样本的方法吸引了很多学者。2014年6月,Goodfellow 等发表了论文《Generative Adversarial Nets》[32],文中详尽介绍了GANs的原理、优点及其在图像生成方面的应用,标志着GANs的诞生。早期的GANs模型存在许多问题,如GANs网络不稳定,甚至有时该网络永远不会开始学习,生成的结果无法令人满意。文献[32]中生成器生成的图片十分模糊,针对此问题,Denton等提出一个被称为 LAPGANs的模型[33],该模型用多个卷积神经网络连续生成图像,这些新图像的清晰度不断提高,最终得到高分辨率图像。GANs除了基于图像生成图像外,还可以通过文字生成图像,如文献[34]搭起了文本到图像的桥梁,通过GANs将文本直接转换成对的图像。文献[35]将GAN应用于超分辨率中,该文献提出了全新的损失函数,使得 GANs 能对大幅降采样后的图像恢复其生动纹理和小颗粒细节。另外,Radford 等提出了名为DCGANs的网络[36],该文献指出,用大数据集训练出的 GANs 能学习一整套层级的特征,并具有比其他无监督学习模型更好的效果。以上方法均为基于一大类原始样本生成另一大类图像。

基于GAN生成样本的过程如图2所示。首先将同类别的原始图像输入到生成对抗网络GAN的生成器网络G中,生成“假冒”图像G1和G2,接着借助判别器D来判断输入的图像是真实图像还是“假冒”图像。生成器G努力生成类似原始样本的图像,力争判别器D难以区分真假;而判别器D应不断提高自身性能,有能力鉴别出由生成器G生成的图像为赝品。生成器G和判别器D的价值函数如下:

生成器G最小化log(1-D(G(z))),判别器D最大化logD(x),使得最大概率按照训练样本的标签分类, 生成模型G隐式定义了一个概率分布Pg,希望Pg 收敛到数据真实分布Pdata。

图2 GAN生成新样本示意图

3 结 语

综上所述,基于原始样本的多样本生成算法是一个值得深入研究探索的问题,具备清晰而明确的理论意义和现实应用意义。虽然研究人员已经对相关问题进行了一些研究,取得了一系列成果,但是多样本的产生方法缺乏全面、深入的理解,尚未出现具有里程碑意义的研究成果。具体而言,本文认为,基于原始样本的多样本生成问题需要在如下几个方面展开深入的研究:

(1)在研究多样本生成算法时,保留原始样本的本质特征,如在人脸识别中,抛弃不必要信息(光照、表情和姿势)的影响是一项十分有意义的工作。

(2)在合成新样本时,设计合理有效的构造元素,使合成的新表示更接近自然亦是一个值得研究的方向。

(3)基于生成对抗网络,研究某一类对象的生成新样本的核心算法是一项有意义的工作。

参考文献

[1] K Simonyan, A Zisserman.Very deep convolutional networks for large-scale image recognition [Z]. Computer Science, 2014.

[2] C Szegedy,W Lin,Y Jia, et al. Going deeper with convolutions[C]. in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015.

[3] K He,X Zhang,S Ren,et al. Deep residual learning for image recognition[C]. in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016.

[4] Turk, Matthew, Pentland, et al.Eigenfaces for Recognition[J]. Journal of Cognitive Neuroscience, 2014,3(1): 71-86.

[5] A Pentland.Looking at People: Sensing for Ubiquitous and Wearable Computing[J].IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000,22(1): 107-119.

[6] C Liu, H Wechsler.Robust coding schemes for indexing and retrieval from large face databases[J]. IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society, 2000,9(1): 132-137.

[7] T Ojala,M Pietik?inen.Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2002,24(7): 404-420.

[8] T Ahonen, A Hadid, M Pietikainen.Face Description with Local Binary Patterns: Application to Face Recognition[J]. European Conference on Computer Vision, 2004,28(12): 469-481.

[9] GB Huang, M Mattar, T Berg,et al. Labeled faces in the wild: A database for studying face recognition in unconstrained environments[Z].Month,2008.

[10] OM Parkhi, A Vedaldi, A Zisserman.Deep Face Recognition[C]. British Machine Vision Conference, 2015.

[11] Y Taigman,M Yang, Marc, et al. DeepFace: Closing the Gap to Human-Level Performance in Face Verification[C]. in Conference on Computer Vision and Pattern Recognition,2014.

[12] F Schroff,D Kalenichenko,J Philbin.FaceNet: A unified embedding for face recognition and clustering[C]. in IEEE Conference on Computer Vision & Pattern Recognition,2015.

[13] D Yi,Z Lei, S Liao, et al.Learning face representation from scratch[Z]. Computer Science, 2014.

[14] Y Xu, X Zhu, Z Li, et al.Using the original and ‘symmetrical face’ training samples to perform representation based two-step face recognition[J]. Pattern Recognition, 2013,46(4): 1151-1158.

[15] Y Xu.Integrate the original face image and its mirror image for face recognition[J]. Neurocomputing, 2014,31(7): 191-199.

[16] BJ Boom, LJ Spreeuwers, RNJ Veldhuis.Virtual illumination grid for correction of uncontrolled illumination in facial images[J]. Pattern Recognition, 2011,44(9): 1980-1989.

[17] F Abdolali,S Seyyedsalehi. Improving pose manifold and virtual images using bidirectional neural networks in face recognition using single image per person[Z]. in International Symposium on Artificial Intelligence and Signal Processing,2011.

[18] HT Ho,R Chellappa. Pose-invariant face recognition using Markov random fields[J].IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society, 2013,22(4): 1573.

[19] Y.-S., Ryu.,S.-Y., O..Simple hybrid classifier for face recognition with adaptively generated virtual data[J]. Pattern Recognition Letters, 2012,23(7): 833-841.

[20] A Wagner,J Wright, A Ganesh,et al.Toward a Practical Face Recognition System: Robust Alignment and Illumination by Sparse Representation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2012,34(2): 372-386.

[21] Z Liu,X Song,Z Tang.Integrating virtual samples and fuzzy discriminant analysis for sparse representation-based face classification[J]. Journal of Electronic Imaging, 2015,24(2): 23013.

[22] YJ Song,YG Kim,UD Chang,et al. Face recognition robust to left/right shadows; facial symmetry[J]. Pattern Recognition, 2006,39(8): 1542-1545.

[23] Z Liu, X Song, Z Tang.Fusing hierarchical multi-scale local binary patterns and virtual mirror samples to perform face recognition[J]. Neural Computing & Applications, 2015,26(8): 2013-2026.

[24] G Zhang,W Zou,X Zhang,et al. Singular value decomposition based sample diversity and adaptive weighted fusion for face recognition[J]. Digital Signal Processing, 2017,62: 150-156.

[25] K Chatfield,K Simonyan,A V edaldi,et al. Return of the devil in the details: Delving deep into convolutional nets[Z]. Computer science, 2014.

[26] H Yang, I Patras.Mirror, mirror on the wall, tell me, is the error small? [J]. Der Chirurg; Zeitschrift für alle Gebiete der,2015,69(12):235-240.

[27] A Krizhevsky, I Sutskever, GE Hinton. ImageNet Classification with Deep Convolutional Neural Networks [J]. Advances in Neural Information Processing Systems, 2012,25(2): 1097-1105.

[28] G Levi,T Hassner. Age and gender classification using convolutional neural networks[C].in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops,2015.

[29] S Xie, Z Tu. Holistically-nested edge detection[C]. in Proceedings of the IEEE International Conference on Computer Vision,2015.

[30] Y Sun, X Wang, X Tang.Deep Learning Face Representation from Predicting 10,000 Classes[C]. in Computer Vision and Pattern Recognition,2014.

[31] M Jaderberg, K Simonyan,A Vedaldi,et al.Synthetic data and artificial neural networks for natural scene text recognition[Z]. Eprint Arxiv, 2014.

[32] I Goodfellow,J Pougetabadie, M Mirza, et al. Generative adversarial nets[Z]. in Advances in neural information processing systems, 2014.

[33] E Denton,S Chintala,A Szlam. Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks[Z]. Computer science,2015.

[34] S Reed,Z Akata, X Yan,et al. Generative adversarial text to image synthesis[C]. in Proceedings of The 33rd International Conference on Machine Learning,2016.

[35] C Ledig, L Theis, F Huszar,et al. Photo-realistic single image super-resolution using a generative adversarial network[Z]. arXiv preprint, 2016.

上一篇:水资源保护范文 下一篇:材料工程基础范文