机器学习面临的挑战_张长水
机器学习技术的应用与挑战
机器学习技术的应用与挑战随着人工智能技术的快速发展,机器学习作为其中的一个重要分支,正在逐渐成为各个领域的重要应用。
在医疗、金融、交通、媒体等行业中,机器学习技术都有重要的应用,为人们的生产和生活带来了巨大的收益。
但与此同时,机器学习技术也面临着很多挑战。
本文旨在探讨机器学习技术的应用和面临的挑战。
一、机器学习技术的应用1.医疗在医疗领域,机器学习技术可以辅助医生进行疾病诊断与治疗。
通过计算机对大量医疗数据进行分析,并运用机器学习算法进行模式识别,可以大大提高医生的治疗水平和诊断准确率。
例如,针对肿瘤细胞的分类和分析、个体化用药的决策、心脏病的预测等都可以通过机器学习技术得到有效实现。
2.金融在金融领域,机器学习技术可以用于风险控制和预测。
通过对大量金融数据进行分析,机器可以识别出潜在的风险,帮助银行和保险公司更加精准地进行风险评估和预测。
例如,利用机器学习算法,可以实现信用卡盗刷检测、股票价格预测等功能。
3.交通在交通领域,机器学习技术可以帮助交通部门实现智慧交通。
例如,通过分析道路交通情况和车流量等数据,预测各个路段的交通情况,提前进行交通管制和调度。
同时,机器学习还可以帮助交通部门实现智能驾驶,提高交通效率和安全性。
4.媒体在媒体领域,机器学习技术可以用于视频分析和智能推荐。
通过分析用户的观看历史和兴趣爱好,机器可以给用户提供更加精准的影视推荐。
同时,机器学习技术还可以帮助媒体公司进行影视制作和后期制作,提高制作效率和质量。
二、机器学习技术面临的挑战尽管机器学习技术在各个领域中都有着重要的应用,但与此同时,它也面临着一些挑战。
1. 数据难题机器学习技术的核心依赖于数据,但数据的获取和预处理却是十分困难的。
一方面,数据往往是分散在企业、机构、个人等不同数据源中的,这就给数据的采集、整合和清洗带来了巨大的挑战;另一方面,数据中往往存在噪声和缺失值,这就需要机器学习算法的处理能力更加强大。
2. 模型选择机器学习技术中最关键的环节就是模型的选择和构建。
稀疏学习优化算法
实验结果 (1)
实验结果 (2)
实验结果 (3)
内容提纲
背景介绍 快速信赖域牛顿法 鲁棒多任务特征学习 多阶段多任务特征学习 迭代收缩阈值法快速求解非凸优化问题 总结和展望
非凸稀疏学习问题
与 可能是非凸的
2.5
2
1.5
1
L1
CapL1
LSP
0.5
MCP
SCAD
0
-10 -8 -6 -4 -2
直观解释二:分块坐标下降
共轭函数: 共轭的共轭:
g 是凹的且是闭函数
原优化问题:
等价形式:
分块坐标下降
直观解释二:分块坐标下降
分块坐标下降
加权系数
加权Lasso问题
收敛性分析
极限点存在吗?
有界,所以存在极限点
收敛定理
可再生性分析
加权Lasso 问题:
参数估计误差的界
多任务学习 (MTL)
共享信息
神经网络的隐层单元 贝叶斯模型的先验 分类权重向量 相似度量矩阵 低秩的子空间 一组特征 ……
多任务学习 (MTL)
Hale Waihona Puke 联合特征多任务学习示意图鲁棒多任务特征学习模型
学习共享特征+发现异常任务
P: 学习共享特征 Q: 发现异常任务 W: 权重矩阵
实验
逻辑回归中的信赖域步长问题:
其中
比较算法
多阶段共轭梯度 (MSCG) 梯度投影 (PG) 加速梯度投影 (APG)
所有的算法均是用 Matlab 来实现,实验是 在英特尔四核的处理器 (Intel(R) Core(TM)2 Quad CPU [Q6600 2.4GHz]),8G~内存的 个人 PC 机上运行。
基于机器学习的流域水文模型参数辨识
基于机器学习的流域水文模型参数辨识在流域水文研究中,模型参数的准确辨识对于预测和管理水资源具有重要意义。
传统的参数辨识方法存在许多问题,例如对先验知识的依赖性、计算复杂度高以及对数据的敏感性等。
近年来,机器学习技术的快速发展为流域水文模型参数辨识提供了新的机遇。
本文将介绍基于机器学习的流域水文模型参数辨识的原理和应用。
流域水文模型是描述流域内水文过程的数学模型,如水量平衡模型、水文循环模型等。
这些模型的参数用于描述水文过程中的各种影响因素,如降雨、蒸发、土壤透水等。
准确辨识这些参数是流域水文模型研究的关键内容之一。
传统的参数辨识方法主要基于最小二乘法或贝叶斯统计理论,需要对先验知识进行假设,并且对数据的要求较高。
然而,在实际应用中,先验知识通常难以准确获取,而数据的可用性和精度也无法完全保证。
因此,传统方法的应用存在一定的局限性。
机器学习技术的兴起为参数辨识提供了新的思路和解决方案。
机器学习模型可以通过大量的观测数据自主地学习参数和函数关系,并且能够在训练过程中自动调整参数以最大程度地减小模型的误差。
因此,机器学习模型在参数辨识问题上具有很大的潜力。
基于机器学习的流域水文模型参数辨识主要分为两个步骤:模型训练和参数推断。
首先,需要收集或生成大量的流域水文观测数据,如降雨量、径流量、蒸发量等。
然后,使用这些数据来训练机器学习模型,例如神经网络、决策树等。
训练过程中,模型会根据数据样本自主调整参数,以使观测值与模型预测值之间的误差最小化。
最后,通过推断方法,可以使用已训练好的模型来预测未来的水文过程。
机器学习模型在参数辨识中的应用不仅可以提高水文模型的预测精度,还能在一定程度上减少对人工经验和先验知识的依赖。
同时,机器学习模型还能够处理大规模的水文观测数据,提高模型的适应性和泛化能力。
例如,利用卫星遥感数据进行降雨估算,可以大幅度提高水文模型的参数辨识精度。
除了参数辨识,基于机器学习的流域水文模型还可以应用于水资源管理、洪水预警等方面。
基于机器学习的水资源优化配置
基于机器学习的水资源优化配置水是生命之源,对于人类的生存、社会的发展以及生态系统的平衡都起着至关重要的作用。
然而,随着人口的增长、经济的发展以及气候变化的影响,水资源的供需矛盾日益突出。
在这种情况下,如何实现水资源的优化配置,以满足不同地区、不同行业和不同用户的需求,同时保护水资源的生态环境功能,成为了一个亟待解决的重要问题。
机器学习作为一种强大的数据分析和决策支持工具,为水资源优化配置提供了新的思路和方法。
一、水资源优化配置的挑战与需求水资源的分布在时间和空间上往往是不均匀的,有些地区水资源丰富,而有些地区则严重缺水。
同时,不同行业和用户对水资源的质量和数量需求也存在差异。
例如,农业需要大量的灌溉用水,而工业则对水质有特定的要求。
此外,水资源的开发和利用还需要考虑生态环境的保护,以避免过度开采导致的生态破坏。
传统的水资源优化配置方法通常基于数学规划模型,这些模型在处理复杂的水资源系统时存在一定的局限性。
例如,模型的参数估计往往依赖于有限的数据和假设,难以准确反映实际情况。
而且,这些模型在处理不确定性和动态变化方面能力不足,无法及时适应水资源系统的变化。
因此,为了实现更加科学、合理和高效的水资源优化配置,需要引入新的技术和方法,以应对水资源系统的复杂性、不确定性和动态性。
二、机器学习在水资源优化配置中的应用机器学习是一种通过数据驱动的方法,让计算机自动从数据中学习规律和模式的技术。
在水资源优化配置中,机器学习可以用于以下几个方面:(一)水资源需求预测准确预测水资源的需求是优化配置的基础。
机器学习算法可以通过分析历史用水数据、人口增长、经济发展、气候变化等因素,建立水资源需求预测模型。
例如,使用神经网络算法可以捕捉到数据中的非线性关系,从而提高预测的准确性。
(二)水资源供给评估了解水资源的供给情况对于优化配置至关重要。
机器学习可以用于评估水资源的可利用量,包括地表水、地下水和再生水等。
通过对水文数据、气象数据等的分析,预测水资源的补给和变化情况。
小样本学习-张长水
小样本学习2019-07-10张长水清华大学自动化系大眼睛实验室:机器学习方法及其应用研究研究方向:•流形学习•半监督学习•基于间隔的学习•多任务学习•稀疏学习•机器学习中的优化方法•深度学习•/Introduction.html •/2002.htmlDeep Learning Needs a lot of Data•Many samples基于深度学习的交通标识识别•实际应用•参与中国“智能车未来挑战赛”•无人车的一个子系统•单张图片识别率:99.5%路上标识识别箭头、斑马线、停车线、车道线识别率:99.49%Image RecognitionLabeling•Crowd sourcing图片截自12306网站Image Recognition Data CaptureSemi-Supervised Learning •Supervised Learning•Unsupervised Learning()()()1111j i t t iij j i x N x t tf w f y f Wf y αααα+∈+=+−=+−∑()()()()()0111011lim 1t t i t i t t f yf W y W y f I W y ααααα−−+=−→∞==+−=−−∑Applications:Color Transfer and Background ReplacmentMulti-Instance LearningAn example:Positive bags: {1,2,3}, {2,3,7,8}, {2,6,9}Negative bags: {3,5,6,7}Through Multi-instance learning,Learned Concept:{2}Active learningLooking for valuable data to learn.SVM is used as a method for active learning. Version spaceMulti-Label Learning◼City◼Street◼BuildingAnnotation:CityCar, Building, Road,Human, TreeCityroad car buildingCo-Training•Classifier 1: content based •Classifier 2: link basedC1C2Others•Sparse Learning•Low Rank•Transfer Learning混叠图像分离欠定分离带复杂材质真实混叠图像分离淡入淡出图像Few-shot Learning◼Goal☐A few-shot learner is expected to reach good generalization ability on novel classes by several samples per class.Dual TriNet(ECCV2018)Idea:Augment visual features produced by multiple layers of ResNet in semantic space(by adding noises into semantic features randomly).Prototypical Networks(NIPS2017)☐Idea:learn a metric space in which classification can be performed by computing distances to prototype representations of each class☐Prototype representation for each class:☐Decision rule:MAML(ICML2017)☐Idea:Learn a set of good initial weights whereby the few-shot learner can reach well generalization performance within a few weight update steps on several support samples☐meta-objective:Image Recognition Data CaptureOur papers•2004: ICML•2006: ICML, CVPR•2007: AAAI, SIGIR, CVPR, AISTATS•2008: AAAI(3), CVPR, SIGKDD,T-KDE, T-Multimedia, T-NN, PR(5), T-PAMI(2)•2009: CVPR, IJCAI(3), T-PAMI,PR(2)•2010: T-PAMI,PR(2)•2011: PR•2012: SIGKDD,NIPS•2014: UAI•2017: T-PAMI•2018: NeurIPS, PR, T-NNLS。
机器学习面临的挑战_张长水
中国科学院学部科学与技术前沿论坛信号与信息处理专刊中国科学:信息科学2013年第43卷第12期:1612–1623 机器学习面临的挑战张长水清华大学自动化系,智能科学与技术国家重点实验室,清华信息科学与技术国家实验室(筹),北京100084E-mail:zcs@收稿日期:2013–06–20;接受日期:2013–11–13国家重点基础研究发展计划(批准号:2013CB329503)和国家自然科学基金(批准号:91120301,61075004)资助项目摘要该文讨论了机器学习目前面临的几个挑战,包括:高维特征空间和数据量问题,大数据量的计算困难,寻求最优解的困难和可解释性差等问题.然后针对当前很多人关心的几个重要问题,例如大数据问题,深度学习,概率图模型等做了分析,以引起深入思考.关键词机器学习深度学习概率图模型大数据优化问题1引言过去的二十多年的时间里,机器学习的研究得到了快速发展,取得了一系列令人瞩目的研究成果,同时也面临很多的挑战.我们需要对机器学习的现状和面临的挑战进行探讨和梳理,以引起更深入的思考.2机器学习面临的挑战虽然机器学习取得了令人瞩目的成果,但是仍然面临很多困难和问题.下面列举其中的一些问题.2.1高维特征空间与样本数的不足在很多实际应用问题中,得到的特征维数是比较高的,有的甚至是非常高的.例如,在图像识别中如果提取SIFT 特征,特征维数是128维,如果提取其他特征,维数也往往是几十维,或者几百维.还有,在文本分类问题中,如果把每一个单词当作一个特征,特征的维数可能是几千维,或者上万维,这依赖于所使用的字典大小.下面以概率密度函数的估计为例讨论特征维数和所需要的样本之间的关系.对于一维的概率密度函数估计来说,通常在具有几十个以上的样本时可以得到一个比较好的函数估计,这是因为在每一个点附近应该有一定量的样本(也就是说,数据要具有一定的密度)才能得到好的估计结果.我们假设至少需要10个样本,这是一个保守的数字.如果要估计的是一个二维概率密度函数,就需要把二维空间等分成一些小网格,需要每一个小网格中有足够多的样本.因此,可能需要102=100个样本.当维数增加的时候,空间中小的格子的数量随维数的增加而指数上升.假设维数为d ,需要的样本数是10d .中国科学:信息科学第43卷第12期按照这种方法计算,在图像识别问题中,至少需要10100个样本,而在文本分类中,需要101000个以上的样本.可我们知道,这是不可能的一件事情.由于样本数不足导致了高维数据学习的困难,这个现象被称作“维数灾难”.维数灾难的核心问题是,高维函数实事上远比低维函数复杂,而我们对其还没有有效的方法进行分析.利用具体分类问题的先验知识,或者利用得到的训练数据,可能在一定程度上减少维数灾难带来的困难.例如,如果知道两组特征x和y之间是独立的,那么就有p(x,y)=p(x)p(y).(1)因此,对于p(x,y)的估计就可以通过分别对p(x)和p(y)估计来完成.由于单独的x或y的维数要小于它们联合在一起的(x,y)的维数,因此,所需要的样本数就会少很多.概率图模型[1]研究的就是如何利用随机变量之间的条件独立性对问题建模、学习、推理的理论、算法和应用.概率图模型在解决高维样本学习方面有很多贡献.另外,对实际问题中的数据分析表明,大量的实际问题的高维数据实际上嵌入在一个低维的流形上[2,3],也就是说,数据并没有充满整个高维空间.其主要原因就是各个特征之间存在很强的相关性.因此,实际上并不需要那么多的数据来估计概率密度函数.尽管如此,目前的研究表明,图像数据的本质维数至少有几十维,这对样本数的需求还是非常大的.上面讨论的维数对样本量的需求是以非参数概率密度函数估计为例.实际上,维数灾难不仅仅出现在概率密度函数的估计中,也存在于其他的学习问题中.上面谈到的特征独立和流形分布的知识同样有助于缓解在其他学习问题中遇到的维数灾难困难.2.2寻找最优解的困难目前很多的机器学习研究沿着这样的思路进行:把要解决的问题形式化为一个目标函数,然后通过优化这个目标函数达到对数据学习的目的.例如:支持向量机就是把要解决的两类分类问题形式化为最小化如下目标函数:f(w)=12w T w+CN∑i=1L(w,x i,y i).(2)其中x i,y i(i=1,...,N)是样本的特征和标签,N是样本个数,w是线性分类器的权向量,L是损失函数,C是折衷系数.当L是二次,或者一次函数时,函数f是一个凸函数,存在一个极值,可以通过凸优化算法寻优.我们要解决的实际问题非常复杂,将其形式化后的目标函数也非常复杂,往往在目前还不存在一个有效的算法能找到这样复杂目标函数的最优值.因此,需要通过一些优化技术寻找次优值.这样做通常有两个方面的问题存在,一个是所使用的优化技术可能非常复杂费时,效率很低;另一个是得到的局部极值可能距离我们希望的解很远,不能满足要求.机器学习领域中有一些优化问题具有一些特殊性.因此,有一些研究工作集中在如何求解这些优化问题以及分析所得到的解的性能分析.但是,为了解决机器学习领域的问题,研究针对性的有效优化算法是必要的.由于求解全局最优是非常困难的,所以,通常人们只是采用简单的局部极值求解算法,例如梯度下降方法.采用局部极值算法时,当算法的初值不同,得到的解也不同.而要优化的函数往往有非常多1613张长水:机器学习面临的挑战(可能成千上万,或者更多)的局部极值,通过算法得到的解只是其中一个.我们会关心下面的问题:这么多的局部极值都是我们所希望的解吗?如果不是,其中哪些局部极值是?如何得到这些解?另外,在对要解决的问题建模时,目标函数有时候只是一种“近似”的建模.例如:把要解决的问题形式化成优化下面的函数:f(w)=L(w)+C×r(w).(3)其中L(w)是损失函数,r(w)是正则项,C是折衷系数.目前经常使用的正则项有很多,例如:光滑性正则函数,稀疏性正则函数,函数复杂性正则函数.光滑性正则函数假设函数具有光滑性质;稀疏性正则函数假设要学习的模型具有稀疏性;函数复杂性正则函数则要求要学习的函数不能太复杂.这些正则函数的使用基础是假定所要研究的问题满足这样的条件.但是实际问题是否满足,在什么程度上满足这样的条件,我们并不知道.目标函数的这种“近似”性质,需要考虑下面这些问题,一定需要求解目标函数的全局最优值吗?局部极值(全部局部极值都)能满足要求吗?2.3可解释性差从上文的讨论中可知,机器学习领域里要解决的问题很难用一个容易优化的函数来建模.对于一个实际问题,可以构建不同的目标函数来表示要解决的同一个问题.这样,也就会得到很多不同的解.机器学习的另一个问题是得到的模型的可解释性差.可解释性是和实际应用密切相关的.机器学习在解决一些具体的问题时,需要领域的专家能够理解模型,能够理解“为什么”这个模型能够对未知样本做预测.例如,在分子生物学的蛋白质结构分析中,一个只在输入输出意义下对数据是正确的模型对于分子生物学家还远远不够.他们需要获得的模型在分子生物学意义下可解释.同时,由于所提供的训练数据是不充分的,机器学习还需要为他们提供进一步工作的线索和可能.他们需要的是可解释的数据理解工具或工具集.机器学习应该考虑模型对问题世界的可解释性.机器学习一直以来所遵循的“输入输出满足”原则对某些问题而言可能是远远不够了.正如上文所讨论的,在求解机器学习问题时可能得到多个解,如果使用“输入输出满足”原则,可能建立的多个模型获得多个解,则需要以对问题世界可解释性来分辨其优劣.大数据时代一书[4]强调了在大数据时代相关关系的发现和使用更为重要,而不应该那么追求因果关系.我认为,在某些商业领域他们这样做是对的.但是当我们关注科学问题时,情况就会不同.寻根溯源,或者说追求因果关系是科学研究的一个动力.关于因果关系和相关关系,马颂德老师给了意见:“因果关系是一个相对的概念”.对此的一个解释是:“牛顿看到苹果掉在地上,发现了万有引力定理,可以说发现了苹果掉在地上的因果关系.但也可以说,这是个相关关系,因为它没有说明万物之间为什么有引力.”可以说,大数据时代一书更强调相关关系,而我们的科学研究更强调因果性.就机器学习而言,因不同的应用问题不同,对因果关系的需求程度也是不同的.对于更商业化的应用问题,即在输入输出意义下对数据是正确的,可预测性非常重要.而对于更基础的科学研究问题而言,可解释性就更为重要.2.4大数据量的计算这里讨论的是数据量这样一个问题,而不是大数据时代一书中谈到的大数据问题.下文会讨论大数据问题.1614中国科学:信息科学第43卷第12期数据量大是机器学习在应用阶段面临的重要问题.实际上,在机器学习领域近些年一直关注这个问题,被称之为“大规模数据的学习”(large scale data learning,或big learning).在过去的十几年中,人们关注的更多的是好的机器学习算法的设计,学习算法的性能分析等,我们统称为学习理论和学习方法.这是因为当时有太多的问题需要研究和解决,而机器学习的突飞猛进,吸引了大部分研究人员的注意力,很多人沉浸在机器学习的理论方法研究的喜悦中.而当学习理论和学习方法都已经建立,几个有代表性的学习算法在实际问题中成功应用后,大规模数据的学习开始成为了一个受到关注的问题.大规模数据的学习之所以在近几年才开始受到关注,主要是因为实际中数据量很大.而十几年来发展起来的很多学习算法面临的一个尴尬就是:都很难用于大数据的学习,主要的问题是时间复杂性和空间复杂性.例如:当训练数据超过10000时,支持向量机算法代码(libsvm)因为内存不够而无法在一台普通的台式机上运行,即使扩大内存后,也需要几个小时才能完成训练.因此,不能想象训练数据是十万、百万量级下的支持向量机的学习(而libsvm计算复杂度是样本量的平方).类似的情况也出现在其他的一些机器学习算法中,如:EM算法、主成分分析、线性判别、聚类算法.因此,出现了一些工作来解决这个问题.其基本思路有下面几个:•快速算法.即与原算法等价的快速算法,类似于为傅里叶变换找到快速傅里叶变换的工作.这样的工作无疑是重要的,但是其存在加速极限.•近似算法.不是所有的算法都可以很容易找到和原算法等价的非常快速的算法.因为要求速度快,因此就考虑在牺牲很少的精确性的情况下寻找非常快速的(例如线性的,或者是亚线性的)算法.在这里牺牲精确度是很有必要.机器学习很多年以来一直在追求学习模型的泛化能力,但是,模型的泛化能力取决于很多因素,而不仅仅是学习算法.当样本数很大的时候,其带来的泛化能力的提高往往更有意义.而对于一些聚类问题而言,聚类问题通常只是用于所研究问题的一个阶段,其精度并没有那么重要.因此,这里牺牲精度就是一个自然的选择.当然,近似算法的设计也是存在加速极限.•增量学习和在线学习(incremental learning,online learning).这两种学习方式是在一些应用条件具备的情况下进行大数据量学习的一个解决方案.当需要解决的实际问题的数据是序贯到达的,就可以考虑增量学习和在线学习.增量学习和在线学习考虑的是,当新的样本到达时,是否可以对已经学习到的模型进行小的调整而达到学习的目的.这里的小意味着少的计算量.和增量学习一个重要的不同在于,在线学习要求的“小的调整”能够实时完成.有些算法本身的性质决定了可以比较容易设计出其增量学习算法,例如:感知器学习算法、EM算法等.而有的算法则难度更大些,例如:支持向量机、主成分分析.增量学习和在线学习近些年受到重视,这方面有些优秀的工作发表.•并行算法.利用更多的计算资源以解决大数据的学习问题.人们考虑过把机器学习算法进行各种并行方案的执行.例如:单机多核并行、GPU方案、多服务器方案等.一些大的计算机公司更关注这方面的工作.例如:有计算机公司曾设法把主成分分析、高斯混合模型的学习算法在1万台服务器上并行实现.这个的工作思路无疑是诱人的.但是由于通讯开销,各个计算单元之间的同步等问题的存在,并行算法这个方向的工作并没有那么理想的进展.其并行算法的计算能力并不能和所利用的服务器数量呈线性关系,甚至亚线性关系也达不到.更多的情况是,当服务器达到一定数量后,计算能力几乎不再增长,见图1.当然,已经有研究者着手解决这个问题.在大规模数据的计算方面有一些很好的研究工作发表.有些研究工作解决的问题非常吸引人,例如:如果训练数据不能一次放到内存怎么办?有些算法的加速结果很诱人.例如:把最大间隔聚类算法的原算法(计算复杂度O(n7),n是样本数)加速到O(sn)[5],s是高维数据的稀疏度.1615张长水:机器学习面临的挑战图1当前的机器学习算法能够学习的数据量和并行机器数量的关系.横轴表示并行机器的数据,纵轴表示可以处理的数据量.理想情况下,这是一个线性关系x=y,但实际上是另一曲线,即机器数目到达一定量后,可以处理的数据量几乎不再增长Figure1Relation between data handling capacity and number of parallel unit in a parallel machine learning system recently.In ideal conditions,it follows a linear relationship x=y,but actually the data-handling capacity hardly increases when parallel units achieve a certain number值得说明的是,并非数据量一定要非常大才叫做大数据的学习问题.从算法角度看,只要数据量大,解空间(模型空间、参数空间)就极其大.因此,做机器学习研究的人对大数据的体会更深,压力更大.3几个重要问题除了上面讨论的机器学习面临的挑战外,下面一些问题也很重要.3.1大数据大数据是当前一个热点问题[4].大数据涉及很多方面的研究,这包括:数据的获取、传输、存储、分析等.这里主要讨论大数据给机器学习的挑战和机遇.这里的所说的大数据主要是针对由于互联网等技术的发展而出现的大数据问题,而不仅仅是指数据量比较大(大数据量的学习已经在前面讨论过了).这里的“大数据”一词代表了:数据多,不够精确,数据混杂,自然产生等特点,这些都在文献[4]中做了总结.大数据给机器学习带来的问题不仅仅是因为数据量大而计算上非常困难,其带来的更大的困难在于:数据可能是在不同的服务器上获取的,这些分布在不同服务器上的数据之间存在某些联系,但是基本上不满足同分布的假设,而我们也不可能把所有数据集中起来进行处理和学习.经典的机器学习理论和算法要求数据是独立同分布的.当这个条件不满足时,这时我们的学习模型和学习算法怎么办?是修改算法从这些数据中学习,还是整理数据以适应目前的学习算法?这些服务器上的数据之间的关系如何建模和分析?另外,我们已经知道,在网络上获取的很多数据的分布通常会随着时间的推移发生变化(称之为演化数据,在网络的论坛中称之为概念漂移),这时我们的学习模型和学习算法怎么办?1616中国科学:信息科学第43卷第12期在数据分布发生变化时,数据的独立同分布的假设也不再满足,这时还有什么数学性质可以满足?如果不满足任何的数据性质或者可以利用的数学性质很少,其依赖的数学理论是什么?如何确定给出的模型和算法是可靠的,而不仅仅是实验室里的算法游戏呢?大数据除了给机器学习带来了计算上的困难和挑战外,也带来了一些好处.其中一个好处体现在数据多了以后,呈现出小数据情况下没有呈现出的现象,这被称之为“涌现”(emergence).实际上,1990年后曾经有几年人们很集中的研究过这个问题.人们发现:“微观”地了解每一个个体,并不能预测“宏观”的整体行为.例如:我们知道每个水分子的运动规律和运动方程,但是你无法知道水的沸腾是什么样子,沸腾的水是“涌现”出来的现象.在应用领域,研究人员曾经仅仅使用三条规则来描述一只鸟的飞行.这样当一群鸟的每一个个体都仅仅遵循这三条规则飞行时,就“涌现”出看到过的鸟在天空翱翔的景象.“涌现”一词很生动表达了这一含义.人们也做过很多类似的实验证明了这一点.因此,出现了被称之为群体智能(collective intelligence,wisdom of the crowd)这样的术语.当然,机器学习研究领域对此研究不多.大数据的另一个好处是:在某些应用条件下,数据变得稠密了.多年以来,因为很多众所周知的原因机器学习一直在研究小样本的学习问题.在实际中,分类器性能不够好的一个原因就是样本太少.理论上,我们知道在样本数趋于无穷的时候,很多算法具有很多良好的性质.实践中也有这样的体会,当样本数很多时,使用简单的模型往往能够取得好的泛化性能.而在大数据时代,当样本数量很大的时候,在样本空间的某些区域会出现稠密的现象,这些稠密的数据给分类器设计实际上提供了很多的信息.因此,在这些局部稠密区域,分类器的性能有可能接近理论上的极限性能.大数据的再一个好处是:大数据使得样本空间原来“空旷”的区域出现了样本,原来“稀疏”的区域变得不再稀疏,这在很大程度上为提高分类器性能提供了很好的数据基础.直观地说,就是数据本身的多样性能够更多的展现出来.例如:在语音识别问题中,大数据情况下,人们各种的发音习惯才能更多地体现出来;在图像识别中,大数据情况下,物体在不同情况(变形、光照、背景等变化)下的外观表现才更丰富.而这些数据的缺失很难通过建模和学习算法弥补,同时,这些数据也很难(可以说是不可能)通过专家、算法设计人员的设计来获取.因此数据产生的自发性就很重要.正是基于上面的原因,很多从事语音识别的研究人员希望在尽可能多的数据上进行训练:从几个小时,到几十个小时,到几百个小时,乃至几万个小时的语音数据;计算机视觉的研究人员也在尽可能多的收集和标注数据:从几万,到几十万,到Fei-Fei Li的八千万图像数据[6],到几百亿乃至几千亿的语音数据.八千万图像的ImageNet的建立是一个了不起的工作,然而这些数据对于计算机视觉的任务还远远不够.而事实上,Hinton在使用ImageNet图像进行物体识别[7]训练时,把每张图像进行了很多微小的变换(旋转、光照变化等)从而生成了比原图像多几倍,十几倍的训练数据情况下,识别率又提高了几个百分点.这充分说明了我们的训练数据在通常情况下还很不够.大数据时代数据的自发性导致了数据本身的不精确性.不精确意味着数据有错误.和传统的精确标注的数据相比,不精确是一个大问题.而实际上,对于不精确性的一个补偿就是大量的数据,由于数据量的巨大,这一问题变得没有那么严重,因为其中还有很多高质量的数据.在机器学习领域几乎没有对这种数据的不精确性做过工作.可能是因为统计机器学习方法已经对噪声进行了建模,这噪声也可以包含数据的不精确性.另外,针对某些实际应用中的不精确性很难建模,所以分析算法的性能就太困难.相比机器学习领域,数据挖掘领域对此有过一些研究工作.这些研究工作讨论了当标注数据存在错误时,是否能够构建好的分类器.基本结论是:当大部分标注数据是正确的时候,少数(小于50%)1617张长水:机器学习面临的挑战的错误标注样本对分类器的影响不大,错误标注数据的比例越小,分类器的准确性越高[8].当然,如果大部分标注样本存在错误时怎么办?对于某些具体的应用问题,当数据量很大的时候,可以有针对性地设计算法解决这个问题.我们曾经考虑一种特殊情况,在这种情况下,即使大部分标注数据是错误的,仍然可以设计出好的分类器[9].看起来不精确性对机器学习是个不利的方面,而实际上,它并非全是坏处.例如:在互联网上搜索时,百度和google会给出一些检索结果.当用户看到这些结果时,会点击其中的一条,然后也许会再点击另外一条.这些点击信息告诉我们,用户点击的第一条可能不是他要找的网页,或者第二条让他更满意.这些点击信息虽然没有明确做好网页和查询数据之间的标注,但是告诉我们一些可能的信息.这样的数据如果足够多,就有利用价值.一些研究组报告说,这些“弱标注”数据给他们的系统提供了很多有用的信息,而改进了他们的系统.混杂性是大数据的另一个特性,是因为数据是自发生成的而带来的一个特性.混杂性给我们提出的一个课题就是要把这些数据进行分离和整理,从而为进一步的机器学习做准备.这个过程是数据挖掘要完成的任务.3.2深度学习在上个世纪八十年代和九十年代,反向传播算法(BP算法)的出现使得人工神经网络的研究东山再起,得到了很大的重视和快速发展.然而经过几年的快速发展后,又迅速进入研究的低谷.2006年Hilton发现了深层神经网络的学习算法[10].这之后,人工神经网络又逐渐得到了重视,成为近年来的研究热点.人工神经网络的这次东山又起,以一个新的面貌出现:深度学习.这里的深度指网络的层数多.二十年前的神经网络研究的大多是三层的神经网络:一个输入层,一个隐含层,一个输出层.反向传播算法的出现让多层神经网络的学习成为可能.当时出现了很多令人振奋的研究成果,其中一个就是关于多层神经网络的表达能力的结果[11]:只含有一个隐层的前馈网络是一个通用的函数逼近器,在一定条件下,它可以逼近任何一个连续函数.这个结果说明有一个隐层的前馈网络对于表达非线性函数来说已经足够,当然这并不说明一个隐层是最好的.也有研究结果表明,要逼近相同输入维数的函数,两个隐层的网路可能比单个隐层的网络所需隐单元数要少得多.尽管如此,因学习算法不令人满意,很少有人使用两层以上的神经网络结构.大量的研究表明,反向传播算法严重过学习(overfitting).毫无疑问,反向传播算法是一个贪婪优化算法,其收敛到目标函数的一个局部极值.而目标函数是一个非凸的复杂的目标函数,存在大量的局部极值.看起来,其中很多的局部极值不是我们想要的结果,而我们又无法提前选择一个好的初值通过反向传播算法得到理想的局部极值.样本量太少也是导致神经网络严重过学习的一个重要原因.当时人们没有使用那么多样本有很多原因.一个是获取足够的样本的代价太高,另外,计算能力的不足也限制了人们对于大样本量学习的探索.因此,探讨一个以上的隐含层的学习的研究工作非常少,发表的一些研究工作也不让人乐观.而这次深度学习的出现是通过逐层学习的方式解决了多个隐含层神经网络的初值选择问题.图2给出的是一个具有三个隐含层的逐层监督学习示意图.不仅如此,研究工作表明,非监督数据在多个隐含层神经网络的初值学习中也起到了很重要的作用.这是一个很有意思的结果.在监督学习中,需要具有样本标号的监督数据.然而,获取大量标注的样本的代价过于昂贵.例如:语音信号数据库、图像数据库的建立工作都说明了这一点.但是,如果不要求数据是监督的,其数据获取代价就小得多.例如:获取大量的语音信号较为容易,因为每个人每天要说很多话,也可以从电视、广播中得到这些语音1618。
机器学习技术的应用经验及建议探讨
机器学习技术的应用经验及建议探讨随着数据量的不断增加和计算能力的提升,机器学习技术正逐渐成为各行各业的重要工具。
从金融领域的风险控制到医疗领域的疾病诊断,机器学习技术都有着广泛的应用。
在这篇文章中,我们将探讨一些关于机器学习技术的应用经验和建议。
一、机器学习技术的应用经验1. 数据质量至关重要在机器学习的应用中,数据质量是决定模型性能的关键因素。
如果数据质量较差,无论模型如何复杂,都难以得到准确的预测结果。
在使用机器学习技术时,首先要确保数据的质量。
这包括数据的完整性、准确性和可靠性等方面。
2. 特征工程的重要性在机器学习中,特征工程是指对原始数据进行处理,提取有效的特征供模型使用。
良好的特征工程可以大大提升模型的性能,而糟糕的特征工程则会导致模型性能的下降。
在应用机器学习技术时,特征工程是不容忽视的一环。
3. 模型选择的考量在选择机器学习模型时,需要考虑具体的问题和数据特点。
在面对高维度数据时,可以选择使用支持向量机(SVM)或者神经网络等模型;而对于分类问题,可以选择决策树或随机森林等模型。
在实际应用中,需要根据具体情况选择合适的模型。
4. 模型评估与优化在机器学习应用中,模型的评估和优化是不可或缺的一步。
常用的评估指标包括准确率、精确率、召回率和F1-score等。
在模型评估的基础上,还需要不断优化模型,以提升其性能。
这包括调整模型参数、调整特征工程等。
1. 选择合适的业务场景在应用机器学习技术时,需要首先选择合适的业务场景。
机器学习并非适用于所有问题,对于某些简单的问题,传统的分析方法可能更加合适。
在选择应用机器学习技术时,需要根据实际情况进行权衡。
2. 建立完善的数据管道在机器学习应用的过程中,需要建立完善的数据管道,保证数据的质量和及时性。
这包括数据的采集、清洗、存储和分析等环节。
只有保证了数据的质量和合理性,才能保证模型的准确性。
3. 重视模型解释性在一些实际场景中,模型的解释性可能比准确性更为重要。
机器学习技术中遇到的常见问题及解决方法
机器学习技术中遇到的常见问题及解决方法机器学习技术在现代人工智能领域中扮演着重要的角色。
然而,在实践中,开发人员往往会遇到一些常见的问题。
本文将探讨几个常见问题,并提供相应的解决方法,以帮助开发人员更好地应对这些挑战。
1. 数据预处理数据预处理是机器学习中的关键步骤之一。
常见问题之一是数据缺失。
当数据集中存在缺失值时,我们需要决定如何处理这些缺失值。
一种常见的方法是将缺失值删除或者用平均值或中位数进行填充。
然而,这种方法可能导致结果的偏差。
为了更好地解决这个问题,可以使用更先进的方法,如多重插补或者使用机器学习算法自动填充缺失值。
2. 特征选择特征选择是指从原始数据中选择最相关的特征来用于模型训练。
常见问题是特征过多或过少。
特征过多可能会导致维度灾难,增加模型训练的复杂度。
特征过少则可能丢失重要信息,导致模型效果不佳。
解决这个问题的一种方法是通过相关性分析和特征重要性评估来筛选特征。
此外,可以使用降维技术,如主成分分析(PCA)或线性判别分析(LDA),来减少特征的数量。
3. 过拟合和欠拟合过拟合和欠拟合是机器学习中常见的问题。
过拟合指的是模型在训练集上表现良好,但在测试集上表现较差的情况,这是由于模型过于复杂或者训练数据过少所导致的。
解决过拟合的方法包括增加训练数据、使用正则化技术或者简化模型结构。
欠拟合指的是模型无法捕捉到数据集中的复杂关系,导致在训练集和测试集上都表现不佳。
解决欠拟合的方法包括增加特征数量、使用更复杂的模型或者调整模型的超参数。
4. 样本不平衡样本不平衡是指数据集中不同类别样本的数量差异很大。
这会导致模型对数量多的类别更加偏向,忽略数量少的类别。
解决样本不平衡的方法包括欠采样和过采样。
欠采样是指删除数量多的类别样本,使得数据集更加平衡。
过采样是指复制数量少的类别样本,增加其数量以实现平衡。
另外,可以使用集成学习方法,如随机森林或梯度提升树,来处理样本不平衡问题。
5. 超参数调优机器学习模型中的超参数是在模型训练之前需要手动设置的参数。
机器学习的应用与挑战
机器学习的应用与挑战随着信息技术的快速发展,机器学习成为了人工智能领域的研究热点之一。
机器学习是一种让计算机通过训练数据来优化某些性能指标的技术,主要包括监督学习、非监督学习和强化学习三种类型。
机器学习在自然语言处理、图像识别、推荐系统等领域的应用得到了广泛的认可和使用。
本文将着重探讨机器学习的应用与挑战。
一、机器学习的应用1. 自然语言处理自然语言处理是一种将人类语言转换为计算机可理解形式的技术。
机器学习在自然语言处理领域的应用包括语音识别、自然语言生成、文本分类等方面。
其中,语音识别技术已经被广泛应用在智能音箱、智能家居等场景中,为人们提供了更加便捷的交互方式。
自然语言生成技术则可以帮助计算机自动生成自然语言输出,为自动化写作、机器翻译等方面提供了新的思路。
2. 图像识别图像识别是一种让计算机能够自动识别图像中物体的技术。
机器学习在图像识别领域的应用包括图像分类、目标检测、人脸识别等方面。
此外,在自动驾驶、智能安防、医学影像分析等领域中,图像识别技术也得到了广泛的应用。
3. 推荐系统推荐系统是一种让计算机通过分析用户历史行为和其他相关信息来推荐个性化内容的技术。
机器学习在推荐系统中主要应用于用户画像建模和推荐算法优化。
通过机器学习,在用户行为及其他相关信息的基础上,可以得出用户的兴趣标签和倾向性,从而更好地为用户推荐个性化内容。
二、机器学习的挑战1. 数据稀疏和标注成本高机器学习的一个重要前提是需要大量的数据来训练模型。
然而,现实中很多时候需要用到的数据是非常稀疏的,而且需要花费大量的成本来对数据进行标注。
这些都会导致机器学习模型训练的时间和成本增加,同时提高模型出错的可能性。
2. 模型结构复杂越来越多的机器学习模型出现,在某些领域取得了很好的效果,但是这些模型的结构也愈加复杂。
模型结构复杂会带来训练时间长、模型泛化能力差、超参数调节困难等问题。
此外,某些复杂模型并不适用于简单场景,而且也并不总是效果更好。
基于全球专利的机器学习技术竞争态势分析
1 数据来源与研究方法
1.1 数据来源 IncoPat 专利分析平台目前收录中、美、日、韩等近
120 多个国家或地区,以及欧洲专利局、WIPO 等组织的 专利文献约 1.4 亿篇,并运用计算机技术对海量的专利 数据进行加工处理[6]。本文基于该数据库,对全球“机
马重阳 基于全球专利的机器学习技术竞争态势分析
机器学习技术对我国科技发展具有重要意义,它 是人工智能的重要子集,也是实现人工智能的关键核 心,并随着人工智能的蓬勃发展而被广泛应用到模式 识别、自然语言处理、专家系统、智能机器人等多领域, 在智慧城市建设、新冠疫情应对、医疗服务等方面发挥 了巨大作用。2017 年国务院正式印发《新一代人工智 能发展规划》,规划指出:“必须放眼全球,把人工智能 发展放在国家战略层面系统布局、主动谋划,牢牢把握 人工智能发展新阶段国际竞争的战略主动权,打造竞
摘 要:随着人工智能的蓬勃发展,机器学习作为其关键核心技术,也得
到了前所未有的发展机遇。为了揭示机器学习技术发展趋势、发掘核心
技术热点、识别重要申请人,基于 IncoPat 数据库对全球机器学习技术专
利进行计量分析。从专利的申请/公开趋势、全球竞争情况分布、中国竞
争情况分布、中美专利对比分析等维度进行剖析,分析得出机器学习专利
第二阶段是 2001—2012 年,2001 年专利申请量为 102 件,较 2000 年增加 155%,之后持续增长,到 2012 年 已达到 786 件。这一时期机器学习理论、算法蓬勃发
机器学习驱动的智能水利系统控制
机器学习驱动的智能水利系统控制1. 引言水利系统的高效运行对于社会经济发展和人民生活至关重要。
传统的水利系统控制方法往往基于经验和规则,难以应对复杂的环境变化。
近年来,随着机器学习技术的快速发展,智能水利系统控制逐渐成为一个研究热点。
本文将介绍机器学习驱动的智能水利系统控制的原理、方法以及应用前景。
2. 机器学习在智能水利系统控制中的应用机器学习是一种通过从数据中学习模式和规律,并自动优化系统性能的方法。
在智能水利系统中,机器学习可以应用于数据挖掘、预测模型构建、优化算法设计等方面。
例如,机器学习可以通过分析历史数据,建立水位、降雨和流量之间的关系模型,从而准确预测未来的水位变化。
同时,机器学习还可以通过优化算法,自动调整水利系统参数,达到最优控制效果。
3. 机器学习驱动的智能水利系统控制方法在机器学习驱动的智能水利系统控制中,一般包括数据采集、特征提取、模型训练和控制决策等步骤。
首先,需要收集水位、流量、降雨等监测数据,构建数据集。
然后,通过特征提取和数据预处理技术,将数据转化为适合机器学习算法处理的形式。
接下来,选择合适的机器学习算法,对数据集进行训练,得到水位、流量和降雨之间的关系模型。
最后,根据模型预测结果,通过控制决策算法,调整水利系统的参数,实现智能控制。
4. 机器学习驱动的智能水利系统控制的应用案例机器学习驱动的智能水利系统控制已经在实际应用中取得了显著成效。
例如,在防洪调度中,通过机器学习算法对历史洪水数据进行分析,并预测未来的洪水发生时间和水位,可以提前采取措施保护人民生命财产安全。
在水资源管理中,机器学习算法可以通过分析水质监测数据,提前发现水质问题,并制定相应的治理方案。
此外,机器学习驱动的智能水利系统控制还可以应用于农田灌溉、水电站优化控制等领域。
5. 机器学习驱动的智能水利系统控制的挑战与展望尽管机器学习驱动的智能水利系统控制在很多应用场景中表现出良好的效果,但仍面临一些挑战。
机器学习技术的应用和挑战
机器学习技术的应用和挑战机器学习,是人工智能领域的一个重要分支,指通过计算机模拟人类的“学习”过程来实现智能化。
它已经应用于许多领域,如自然语言处理、计算机视觉、医疗、金融、物流等,改变了人们的生产、生活和娱乐方式。
随着科技的不断进步,机器学习技术的应用范围不断扩大,但也带来了新的挑战。
一、机器学习技术的应用1、自然语言处理自然语言处理是人们最熟悉的机器学习领域之一。
通过训练机器学习模型,计算机理解自然语言,并能够对文本进行解析和分类,生成自然语言回复。
目前,自然语言处理技术已经广泛应用于一些行业,如客服、法律、金融等,取得了显著的成效。
2、计算机视觉计算机视觉是另一个重要的机器学习领域。
计算机通过学习来识别图像和视频,并从中获得信息。
计算机视觉已经应用于图像识别、人脸识别、车牌识别等领域,还可以在生产线上自动检测和分类产品。
3、医疗机器学习技术在医疗领域的应用也越来越广泛。
通过分析大量医学数据,机器学习模型可以预测病人疾病的风险、确定疾病的类型和严重程度,帮助医生制定更好的治疗计划。
此外,机器学习还可以用来研究新疾病的潜在治疗方法。
4、金融金融行业也是机器学习技术的一个重要应用领域。
通过对交易和财务数据进行分析和建模,金融机构可以预测市场趋势、识别欺诈和制定更好的风险控制措施。
此外,机器学习还可以用于投资组合管理、财务规划和信用评估等方面。
二、机器学习技术面临的挑战1、数据质量问题机器学习技术需要大量的数据来训练模型,并获得高准确度的结果。
但是,如果数据集存在问题,如缺失、偏差、错误或不完整等,则可能导致建模准确度下降,模型的贡献减少,甚至对决策产生不良影响。
2、算法不公机器学习算法,往往对社会的各个阶层都是公开的。
但是,当算法造成不公的时候,其后果可能是灾难性的。
如当社会服务系统的机器学习算法具有性别偏见时,它可能增加或减轻各种服务对男性和女性的访问。
我们应该谨慎使用这些算法并确保其均衡性。
大数据处理技术基础与应用读书笔记
《大数据处理技术基础与应用》读书笔记目录一、大数据处理技术概述 (2)1.1 大数据定义与特点 (3)1.2 大数据处理技术重要性 (4)二、大数据处理架构 (5)2.1 分布式计算框架 (6)2.2 数据存储与管理 (8)2.3 数据处理与分析流程 (10)三、大数据处理关键技术 (10)3.1 数据存储技术 (12)3.2 数据处理技术 (13)3.3 数据分析技术 (15)3.3.1 统计学方法 (16)3.3.2 机器学习算法 (17)四、大数据应用场景 (18)4.1 互联网行业 (19)4.2 金融行业 (20)4.3 医疗行业 (22)五、大数据处理技术的发展趋势 (23)5.1 技术创新 (25)5.2 行业应用拓展 (26)六、大数据处理技术的挑战与未来 (27)6.1 技术挑战 (28)6.2 人才培养与挑战 (29)七、总结与展望 (30)7.1 本书内容总结 (32)7.2 对未来大数据处理技术的展望 (33)一、大数据处理技术概述随着信息技术的飞速发展,大数据已经渗透到各行各业,成为现代社会不可或缺的重要资源。
大数据处理技术作为应对海量数据挑战的核心技术,其重要性日益凸显。
在阅读《大数据处理技术基础与应用》我对大数据处理技术有了更深入的了解。
大数据处理技术概述部分,主要介绍了大数据的基本概念、特征以及处理技术的演进和发展趋势。
大数据概念:大数据是指在传统数据处理软件难以处理的庞大、复杂的数据集。
这些数据集规模巨大,处理和分析难度大,但对数据的挖掘和利用具有极高的价值。
大数据特征:大数据的四大特征为数据量大、类型多样、处理速度快和价值密度低。
随着物联网、社交媒体、云计算和移动设备的普及,大数据的类型和规模不断扩展,处理速度要求也越来越高。
大数据处理技术演进:大数据处理技术的演进经历了批处理、流处理、图处理等多个阶段。
随着技术的发展,大数据处理正在向实时、在线、智能的方向发展。
机器学习方法在污水处理系统中的应用
机器学习方法在污水处理系统中的应用机器学习方法在污水处理系统中的应用随着工业化和城市化的加速发展,污水处理成为了具有重要意义的环保工作。
传统的污水处理系统往往依赖于人工操作和经验判断,效率较低且无法应对复杂的处理情况。
而随着人工智能技术的快速进步,机器学习方法逐渐被引入到污水处理系统中,以提高处理效率和质量。
本文将探讨机器学习方法在污水处理系统中的应用。
一、机器学习方法在污水处理过程中的监测与预测污水处理过程中,对关键指标的监测和预测是确保处理效果的重要环节。
传统方法主要依赖人工采样及化验分析,耗费时间和人力物力。
通过应用机器学习方法,如决策树、支持向量机等,可以对各环节的关键指标进行监测和预测,实现实时在线监控和预警。
例如,通过收集大量的数据,学习模型可以自动分析处理过程中的异常情况,并提供相应的预测结果,从而提前采取措施进行调整和改善。
二、机器学习方法在污水处理工艺的优化与控制工艺优化与控制是提高污水处理系统运行效率和降低处理成本的关键。
传统方法主要依赖于经验和规则,无法全面考虑复杂的处理过程和各种因素的相互影响。
机器学习方法可以通过学习大量历史数据和运行经验,进行模型建立和优化,从而实现对处理工艺的智能控制和优化。
例如,可以通过机器学习方法分析不同因素对处理效果的影响,优化处理过程,降低处理成本。
同时,机器学习方法还可以根据实时数据调整控制参数,提高处理系统的稳定性和鲁棒性。
三、机器学习方法在污水处理过程中的故障诊断与维护污水处理系统存在故障和异常情况时,及时进行诊断和维护对于系统的正常运行至关重要。
传统方法主要依赖于人工巡检和经验判断,效率低且容易出错。
机器学习方法可以通过学习大量历史数据和运行经验,建立故障模型和机器学习模型,实现对故障的自动诊断和维护。
例如,可以通过机器学习方法分析各种因素与故障之间的关联,建立故障预测模型。
一旦出现故障,可以通过与历史故障数据的比对,找出最可能的故障原因,并提供相应的维护措施。
机器学习驱动的智能水利系统控制
机器学习驱动的智能水利系统控制智能水利系统控制是近年来水利领域的研究热点之一,随着机器学习技术的快速发展,机器学习驱动的智能水利系统控制成为了一种新的趋势。
本文将探讨机器学习在智能水利系统控制中的应用,并深入研究其在提高水资源利用效率、减少灾害风险、优化供水管理等方面的潜力。
智能水利系统是指通过感知、分析和决策等技术手段,实现对水资源的高效管理和优化配置。
传统的水利系统往往依赖于人工经验和规则来进行决策和控制,难以应对复杂多变的环境条件。
而机器学习技术可以通过对大量数据进行分析和学习,从中发现规律,并自动调整系统参数,以实现更加精准和高效的控制。
首先,机器学习可以应用于智能灌溉系统中。
传统灌溉往往依赖于经验法则或简单模型来确定灌溉量,容易造成过度或不足灌溉。
而通过采集土壤湿度、气象数据等多种信息,并结合机器学习算法,可以建立起复杂的灌溉模型,实现对灌溉量的精确控制。
机器学习可以通过对历史数据的学习,预测土壤湿度和作物需水量,并自动调整灌溉设备的工作状态,从而实现对水资源的合理利用。
其次,机器学习在洪水预测和防控方面也具有巨大潜力。
洪水是水利系统中常见的自然灾害之一,给人们生命和财产带来巨大威胁。
传统洪水预测方法主要依赖于经验公式和统计模型,难以准确预测复杂多变的洪峰流量。
而通过机器学习算法对历史洪水数据进行训练,并结合实时监测数据进行实时预测和调整控制策略,在一定程度上可以提高洪水预警准确性和响应速度。
此外,在供水管理方面,机器学习也能够发挥关键作用。
传统供水系统往往根据经验设定供需关系,并通过人工调整来满足用户需求。
然而,在用户需求变化频繁、系统复杂多变的情况下,传统方法很难实现高效供水。
机器学习可以通过对用户用水数据的学习和分析,预测用户需求,并自动调整供水系统的运行参数,实现对供水过程的智能化管理。
同时,机器学习还可以通过对系统运行数据的分析和挖掘,提供决策支持和优化建议,帮助决策者制定科学合理的供水策略。
机器学习在药物研发中的应用及其挑战性问题
机器学习在药物研发中的应用及其挑战性问题近年来,机器学习技术在许多领域得到了广泛的应用,其中医药领域是重要的一个方向。
机器学习技术在药物研发中的应用,能够大大缩短研发周期,降低成本,提高药物研发的成功率,是一种高效的方法。
然而,这种方法较新,其中也存在一些挑战性问题。
一、机器学习在药物研发中的应用1.1药物研发流程药物研发大致可分为三个步骤:基础研究、临床试验和上市销售。
其中基础研究阶段是药物研发的关键环节,它包括抗体、基因药物及小分子药物的研发。
基础研究的过程较为复杂和繁琐,需要从海量的数据中筛选出有价值的信息,并进行深度挖掘和分析。
1.2机器学习在药物研发中的应用机器学习是一种从数据中学习的方法,在药物研发中可以用来预测化合物的性质、识别新的化合物结构、筛选疾病药物靶点等。
在抗癌药物的研发中,机器学习可以被用于预测瘤细胞生长和转移的行为,从而优化疗效。
机器学习可以帮助科学家更快、更准确地找到有潜力的新疗法,并降低研发成本,提高效率。
机器学习技术在药物研发中的应用,可以帮助科学家更快、更准确地找到有潜力的新药物,并降低研发成本,提高效率。
二、用机器学习加速药物研发2.1使用机器学习加速化合物发现化合物发现是药物研发的关键环节之一。
这也是机器学习技术被广泛应用于药物研发的主要原因之一。
基于机器学习的化合物筛选技术,能够快速进行化合物的筛选,从而找到最有潜力的化合物。
机器学习技术可以根据特定的样本训练数据,设计基于特征的模型,以用于化合物的筛选。
机器学习技术可以保证筛选的样本质量,并使深度学习更准确、更高效。
2.2使用机器学习加速临床试验临床试验是药物研发的最后阶段。
传统的临床试验需要耗费大量时间和资金。
使用机器学习技术进行临床试验,可以提高试验的准确性和效率,缩短试验周期,并减少对人体的伤害和风险。
机器学习可以根据传统的临床试验数据,对大气、地理位置、生物标记物等进行分析,从而高效地预测临床试验数据的分布。
演化数据的学习_张长水
第36卷 第2期2013年2月计 算 机 学 报CHINESE JOURNAL OF COMPUTERSVol.36No.2Feb.2013收稿日期:2011-09-05;最终修改稿收到日期:2012-11-18.本课题得到国家自然科学基金(61075004)、浙江省自然科学基金(Y1110661)资助.张长水,男,1965年生,博士,教授,博士生导师,研究领域为机器学习、模式识别、计算机视觉、数据挖掘、复杂网络.张见闻,男,博士,研究方向为机器学习、数据挖掘及应用.演化数据的学习张长水 张见闻(清华大学自动化系智能技术与系统国家重点实验室信息科学与技术国家实验室(筹) 北京 100084)摘 要 在一些实际问题中,数据的分布随时间的变化而逐渐变化,这类数据的学习问题被称之为演化数据的学习.文中综述了演化数据上的学习方面的研究进展.提出了今后需要关注的一些问题,如数据演化的机制、一般性的假设问题、演化数据分类等等.关键词 机器学习;演化数据;非监督学习;半监督学习中图法分类号TP18 DOI号 10.3724/SP.J.1016.2013.00310Learning on Time-Evolving DataZHANG Chang-Shui ZHANG Jian-Wen(State Key Laboratory of Intelligent Technology and Systems,Tsinghua National Laboratory for Information Science and Technology,Department of Automation,Tsinghua University,Beijing 100084)Abstract In some real applications,the data distributions often evolve over time.Machinelearning on this kind of data is named learning on time-evolving data.This paper surveys the re-cent advance of the research on this topic,and introduces some problems worth attention in thefuture,such as the mechanism of Time-Evolving Data,generality,classification.Keywords machine learning;time-evolving data;unsupervised learning;semi-supervised learning1 引 言机器学习问题可以直观地表述为,从经验样本集中训练学习机器,使之能尽可能好地拟合或预测未见的测试样本集.传统的统计机器学习的一个基本假设是训练数据和测试数据都是从一个概率分布中独立地抽取得到的[1].而一些实际应用问题的数据分布是随时间动态变化的,例如,在新闻、博客和BBS等在线媒体中,人们讨论的话题大多数都会随时间发生变化,即使对于同一个话题,一年前和当前的内容也不完全相同,比如“时尚”、“高新技术”等.这在互联网数据分析中被称为概念漂移.这样一类数据分布动态变化的问题给机器学习带来一些深刻的变化和挑战.一方面,就拟合或预测未来数据而言,由于独立同分布假设显然不成立,我们不能像对待传统的学习问题那样,把在历史数据上训练得到的学习机器直接作用于未来的数据,传统的很多理论和方法都需要修正.另一方面,从建模的角度,缺少独立性和同分布性,样本集的概率不能简单地再写成各样本概率的乘积.最后,日益丰富的应用问题中,人们不仅需要学习机器能很好地拟合或预测未来数据,同时也希望它能够揭示出数据的动态演化规律,从而让人们可以更好地理解数据.例如,在网络舆论分析中,用户不仅关心每一时刻的主要讨论内容,同时也关心这些内容的动态模式,如某个话题的产生、传播、变化和消亡等.这就区别于传统的学习问题,为机器学习带来一个新的任务———学习数据的动态演化机制.传统的学习方法归根结底是对某一静态的数据分布的学习,没有提供学习数据分布的变化规律的办法.这一问题逐渐引起机器学习和数据挖掘领域的重视[2-12],并将分布随时间变化的数据称为非平稳数据(nonstationary data)或演化数据(time-evolvingdata,evolutionary data)①.演化数据上的学习,已经成为机器学习和数据挖掘中一个新的重要研究问题.在演化数据的学习问题中,聚类问题的研究有其特殊的意义,与监督问题相比,吸引了更多的研究兴趣.传统的聚类算法,如K均值[13]和谱聚类[14-15],处理的是静态的数据,算法被要求在给定的数据集合上有尽可能好的聚类划分.演化数据上的聚类是这样一个学习任务:数据的分布随时间而变化,在每一时刻,新的数据进入系统,系统要求为这一批数据作出聚类划分.Chakrabarti等人[6]2006年第1次明确地提出这一问题,并称之为演化聚类.已有的工作指出,演化聚类有3个方面的目的[6,16-17]:首先,每一时刻上的数据聚类性能要尽可能好;其次,我们希望通过聚类发掘数据的演化机制,例如聚类的出现、变化、分裂、消失等;最后,聚类结果在时间上要尽可能平滑.直观上,我们可以尝试用传统的聚类方法以两种方式来解决演化聚类问题.第1种,忽略数据性质随时间的变化,在随时间累积的总体数据上直接应用传统的聚类算法.但是,当数据分布随时间发生变化时,即使在每一时刻上的聚类是明显的,整体数据上的聚类可能也是毫无意义的.这样在随时间积累的总体数据上直接应用传统的聚类算法是没有意义的.第2种,忽略不同时刻数据之间的关联性,在每一时刻的数据上独立地应用传统的聚类算法.这会导致两方面的问题.一方面,保持聚类结果随时间的平滑性这一目的不能达到.例如,对于依赖初始化的一些算法,如K均值聚类和高斯混合模型等,由于局部极值的存在,即使相邻时刻的数据分布很接近,相邻时刻上的聚类结果也可能会相距甚远.另一方面,在实际应用中,相比于样本维数,样本量往往不够,完全抛弃邻近时刻的数据很可惜.值得说明的是,在数据演化机制的学习上,用上述两种传统的途径也不能达到目的.下面以一个例子来说明上述问题.我们构造了一个随时间演化的高斯混合模型,它包含有3个高斯成分,其参数随时间而缓慢变化(共30个时刻),在每一时刻上,样本从该时刻的混合模型中抽取出来,抽取的过程带有噪声,如图1所示.图1中,每一个高斯成分的样本用一种符号(三角,方块,圆圈)表示.该数据分布的变化十分明显,以至于将所有时刻的数据累积起来时,不同的类别已经完全混叠在一起了(图1(e)).图1 参数随时间缓慢变化的带噪声高斯混合模型产生的数据 演化数据的学习存在如下几个主要的难点:(1)演化数据背后的统计假设还不明确,对“演化”行为的本质还缺乏清晰的描述,这使得我们缺乏方法研究和建模的基础.(2)如果引入某种新的假设,在传统的独立同分布假设下的最大似然、最大后验、贝叶斯估计等方法在演化数据中如何应用.(3)复杂的演化模式的学习.例如,演化数据上通常存在类别数的变化、类别的出现、变化和消失等;另外,实际应用可能关心在多个相关联的数据源之间是否存在关联演化模式,如不同的BBS站点之1132期张长水等:演化数据的学习①“非平稳数据”一词揭示数据的统计性质,“演化数据”则是更为直观地描述数据的变化.我们遵从大多数应用研究的称谓,称之为“演化数据”.间、新闻与BBS、博客之间的关系等.对这些复杂的演化行为建模和学习,都是很困难的具体问题.(4)传统的聚类模型和算法多种多样,能否找到一种途径,简单有效地将传统的一些算法推广应用到演化数据上.2 几个相关的研究问题在具体介绍演化聚类的研究工作之前,我们首先介绍几个与演化数据学习紧密联系的研究问题.在机器学习和数据挖掘领域,有几个比较重要的研究内容:增量式学习(incremental learning)、数据流上的学习(learning on data stream)和时间序列上的学习,它们和演化数据上的学习在某些方面有相似之处或紧密联系,但存在本质区别.增量式学习是为了将传统的学习算法应用在超大规模数据上的一个途径.在增量式学习中,数据被要求组织成批的形式或数据流的形式,这是出于对一些实际应用因素的考虑.例如,数据太大不能一次性载入内存,或者数据本身是在线搜集的,算法也需要在线地运行.增量式学习希望通过对数据的一次性扫描方式(single-pass)[18],能够达到在整体数据上离线学习的同样效果.和演化学习不同的是在增量式学习中,(1)学习结果等价于整批数据上的学习;(2)没有强调数据的时间性质;而相反,增量式学习追求的是算法对数据到达的顺序不敏感.因此,增量式学习并不针对统计性质随时间变化的数据,而只是对静态数据的一种操作方式,以获得和原始方式下相同(或相近)的性能.数据流上的学习[4,19-22]针对是连续高速产生的数据流.因此,将所有数据都存储下来是不现实的,同时,“流”的特性不允许算法有多次扫描全体数据的机会.早期的关于数据流上的聚类的研究[21]把它作为一种单次扫描(single-pass)聚类,就和增量式聚类相同.而最近的研究则开始强调数据的时间变化特性,算法只限制在某个时间区间内[22].与演化数据学习不同的是:首先,数据流上的学习并不强调学习结果在时间上的平滑性,而在演化数据学习中,这是一个主要的目标;其次,在数据流学习中,每一时刻只有一个样本到达,算法要求的是在某个数据窗内能够快速的计算.而在演化数据学习中,某一时刻的数据是来自于与当前时刻对应的某一分布的一批样本,强调的是利用时间上下文信息帮助提高学习性能、保持学习结果的时间平滑性以及学习数据演化的规律.时间序列上的学习(learning on time-series)的基本数据是一个时间序列,或者一个时间序列片段,而在演化数据学习中,会把时间序列某个时刻的数据作为一个样本.3 演化数据的学习方法归类目前针对演化数据学习的研究多集中在演化数据的聚类方面.这些研究可以从以下几种不同的角度来分类归纳.3.1 在线式与离线式从算法对数据的可见性,演化聚类算法可以分为在线式和离线式.在对第t时刻的数据做聚类时,在线式的算法只能利用t时刻及以前的数据,而离线式的算法可以利用包括t时刻以后的所有时刻的数据.虽然我们在介绍演化数据的概念时,是以实际的在线式应用引入的,但演化聚类的离线式算法是有其应用意义的,例如离线式的网络舆论分析、为数据可视化提供的离线式聚类分析[23]等.演化聚类算法的在线式算法更贴近实际应用的情形;离线式的算法则更利于对数据演化行为的挖掘.3.2 参数化与非参数化聚类数目的确定是一个模型选择问题.在传统的聚类问题中,原则上可以采用一些经典的模型选择方法,如Akaike信息准则(AIC)[24]和贝叶斯信息准则(BIC)[25]等,不过这些方法在实际应用中难以使用,更多的情况还是依靠用户对数据的先验而人为指定.在演化聚类中,这一问题显得更重要,一方面,演化聚类中不同时刻的聚类数可能会变化,这给用户指定合适的聚类数带来更大的难度;另一方面,聚类数的变化还蕴含了不同时刻间的聚类类别对应关系的问题.我们即使使用某种准则为每一时刻挑选聚类数,聚类之间的对应关系还是需要另外的机制来确定.因此,在贝叶斯框架下,有一类探讨如何从数据中推断聚类数目的非参数方法[26]在演化聚类的研究中得到了广泛的应用.这一类方法在先验中不限定聚类数目,通过在不同的时刻之间跟踪模型的增长过程又可以方便地建立不同时刻聚类之间的对应关系.与此对应,根据指定的聚类数目来学习模型的方法,则称为参数化方法.3.3 两种数据形式在演化数据的研究过程中,出现了两种不同的213计 算 机 学 报2013年数据特征形式.图2给出了一个简单的示例,其中每一个圆圈表示一个数据样本.第1种和传统的学习问题相同,数据样本被表示为共同的有限维特征空间中的向量,如图2(a)所示.每一时刻的样本是从该时刻对应的数据分布中抽取出来的,不同时刻之间的样本没有对应关系.第2种是关系型数据,数据样本没有自身的特征表示,而只有样本之间的链接关系,如图2(b)所示,图中圆圈的编号唯一地标识一个样本,圆圈之间的连线表示样本之间的链接关系(这里没有考虑权重).这样的数据实际上构成一个图,图的结点就是一个样本点.而随时间推进,结点之间的链接关系会发生变化,之前存在的链接可能消失,之前没有的链接可能建立.这两种数据形式分别对应不同的具体应用问题.例如,对于网络舆论分析这样的应用,不同时刻的文本之间并没有确定的对应关系,随时间变化的是数据的统计性质,反映的是网络舆论的兴趣或热点的变化.而对于像社会网络分析这样的应用而言,如果不考虑新的结点的加入,在不同的时刻结点群是不变的,变化的只是结点之间的链接关系.图2 演化聚类中的两种数据形式3.4 对演化机制的两种建模途径从对数据演化行为的建模手段来看,一些工作假设了数据演化的产生式随机过程,对数据演化机制进行显式地建模;还有一些工作不对演化过程作具体的产生式假设,而是通过“黑盒”式地引入时间正则项来表达数据统计性质的变化给模型带来的影响.下面我们将按照对演化机制建模的不同途径来分别介绍具体的相关方法.4 研究工作现状4.1 基于平滑性正则的方法传统的聚类问题表达为最小化一个目标函数时,如果该目标函数并不依赖于数据的生成模型,而且不考虑聚类模型对于未来样本的预测,就算法而言,这一类聚类方法对独立同分布假设没有直接的依赖关系.在演化数据上,一个最直接的处理方法就是,在每一时刻的数据上,采用传统聚类方法的原则设计损失函数,然后通过加入某种与时间有关的正则项来体现数据的动态演化对模型的影响.这种方式的着眼点在于提高每一时刻的聚类质量和聚类结果的平滑性上,避开了对数据演化过程的复杂假设.Chakrabarti等人[6]首先提出了这样一种非常一般性的在线式框架,将演化聚类每一时刻t上的任务建模为最大化下面的目标函数:sq(Ct,Mt)-cp·hc(Ct-1,Ct)(1)其中,Ct表示的是当前时刻的聚类模型;Mt表示算法所利用到的当前时刻数据的信息;sq(Ct,Mt)衡量了算法在当前时刻数据上的聚类质量,而hc(Ct-1,Ct)则表示算法的时间损失;参数cp是这两者之间的权衡系数.这种框架只是一种一般的原则,并不能导出一般性的通用算法.在该框架的指导下,针对K均值和分级聚类这两种比较常用的静态聚类算法,他们分别提出了具体的演化K均值算法和演化分级聚类算法.以演化K均值为例,在该算法中,每一个聚类都被匹配到上一时刻距离最近的那个聚类,把所有这种配对的聚类之间的距离相加作为时间损失.Chi等人[16]指出,这种贪婪的最近匹配方法可能不稳定,会对聚类中心的小的扰动十分敏感.他们也利用类似文献[6]的思想,对谱聚类进行扩展,提出两种演化的谱聚类算法[16],而谱聚类的扩展则不存在上述不稳定的问题.Tang等人沿着演化谱聚类[16]的思想进一步工作,推广到多关系数据(multi-relational)聚类的情况,以处理动态的多关系社会网络中的社区(community)划分问题[27].Wang等人根据非负矩阵分解[28-30]和聚类之间的关系,采用了低秩矩阵逼近的方法来处理演化聚类的问题[31].他们将t时刻样本的聚类指示矩阵作用于t-1时刻逼近t-1时刻数据矩阵的误差作为时间损失项.文3132期张长水等:演化数据的学习献[6]和传统的聚类方法一样,是基于数据样本的特征表示;而文献[16,27,31]处理的则是另外一种形式,即关系型数据.此外,在上述文献中,文献[6,31]给出的是在线式的方法,文献[16,27]同时给出了算法的在线和离线两种形式.文献[32]提出了通过时间平滑性正则利用历史信息来估计演化指数族混合模型的在线式途径.该途径将历史信息的来源归纳为两种:历史数据和历史模型,相应地导出了两种在线式算法.该途径指明了演化聚类和混合模型密度估计之间的关系,阐明了演化聚类的统计假设.真实文本数据上的实验表明,所提出的两种算法能同时提高每一时刻聚类性能和模型随时间的平滑性.在这一类基于平滑性正则的方法中,平滑性正则项表达的含义可以归纳为两类:第1类是当前时刻的模型作用于前一时刻的数据带来的损失;第2类是直接表达为相邻两个时刻的模型之间的差异.在上述方法中,文献[16]分别设计了这两种类型的正则项;文献[31]属于第1类,文献[6,27]属于第2类,文献[32]综合考虑了这两类.到目前为止,这一类方法虽然可以允许不同时刻的聚类数不相同,但都需要用户预先指定每一时刻的聚类数,属于参数化方法.文献[33]研究的是演化数据上的半监督学习问题:在已给历史数据的基础上,如何利用当前数据中少量的标注样本提高数据的分类性能.该文假设,每一时刻,有一批样本到来,其中有一部分已被标注.作者给出了基于可再生核希尔伯特空间(RKHS)的一个一般性的半监督学习框架.在该框架中,要求学习算法在每一时刻给出一个分类函数,使得在所有时刻上累积的分类损失最小.在互联网论坛的数据实验表明,其算法可以比传统的算法的性能有大幅度的提高.而这一工作也隐含地假设了数据的光滑性质.由于数据在演化,数据的独立同分布假设不再成立,因此,演化数据上的监督学习就没有存在的基础了.4.2 对数据演化机制显式建模的方法平滑性正则方法的优点是模型简单,建模和求解相对容易,但不足以表达数据的演化行为,例如,类别的出现、变化和消失等.因此,有一些对数据演化机制进行显式建模的方法被提出.对于演化数据,随时间变化的是数据分布,因此,演化机制的建模包含了两个方面的内容,一方面是每一时刻上数据的产生机制,另一方面是不同时刻模型的变化机制.这两方面的建模思路和传统问题中的方式都有差别.对于第1个方面,在传统的非监督问题里,有限混合模型是最常用的建模手段,例如高斯混合模型.在演化数据上,虽然我们也可以沿用这一方式,在每一个时刻上采用一个高斯混合模型对该时刻的数据建模,例如Wang等人[34]的方法,但以此为基础我们难以找到处理聚类数量变化的方法.因此有一些研究工作探索基于无限混合模型来设计聚类数量变化的机制,例如文献[9,17,35-36].文献[37]提出了一种从多个相关演化子集中挖掘复杂演化模式的贝叶斯非参数模型,并给出了基于吉布斯采样的贝叶斯推理算法.这一方法能够发现多个关联演化子集中的复杂演化模式,包括聚类的出现、变化、消失以及在不同子集之间的传播.而且,在该方法中,所有的聚类数都是从数据中自动学习,不需要人为指定.将该方法应用于对新闻、博客和讨论版三种典型的在线文本数据的分析,发现了一些有趣的关联演化模式.另外,文献[38-39]将演化聚类问题抽象为多任务聚类,提出了两种一般性的任务正则来表示任务之间的关系,相应地导出了两种基于Bregman散度的多任务聚类方法.这两种方法适用于多种数据散度的假设.大量真实文本数据集上的实验表明,两种方法能提高各任务聚类性能和各任务模型之间的一致性.他们进一步指出,这两种多任务聚类方法可以作为演化聚类的一般性框架,在具体参数设置下,它们是前面提出的两种演化聚类模型的等价或变体模型.对于第2个方面,通常考虑模型的动态变化最常用的方式是马尔可夫跳转模型,但演化数据不同于时间序列,随时间动态变化的是数据的概率分布,表现为聚类模式的变化,因此应用马尔可夫跳转模型的难点在于如何定义“状态”以及不同时刻之间的转移矩阵.Wang等人[34]和Xu等人[35]采用了马尔可夫跳转模型.在Wang等人的模型[34]中,每一时刻的数据用一个混合高斯模型来建模,并认为在所有的T时刻上,这些高斯模型只有有限的K种参数取值(通常认为T>K),即在所有时刻上,最多只有有限的K种不同的高斯混合模型,而在时间上,这K种模型状态之间通过一个K×K的状态转移矩阵跳转,这一模型可以看作是一种隐式半马尔可夫模型(hidden semi-Markov models)[40-41].由于所有时刻的聚类模型只允许取有限的“状态”,这一模型适用于那些有明显的周期性且只有为数不多的“聚类状态”的情形.在对每一时刻的数据建模上,该方法依然使用了传统的有限混合模型,需要用户指定413计 算 机 学 报2013年每一时刻的聚类数目,属于参数化方法.文献[35]则在不同时刻的聚类之间直接建立马尔可夫跳转矩阵,以表达从当前时刻到下一时刻聚类之间的对应关系.该方法属于非参数方法.这一方法的缺点是模型太复杂.在实际演化数据上不同于传统的时间序列问题,聚类之间的相互跳转模型并不必要,增加了模型的复杂性,大多数情况下只是某个聚类一直往前变化或者消失.因此,Ren等人[9]、Ahmed和Xing[17]以及Xu等人[36]没有假设聚类之间的跳转,而是通过狄利克雷过程建立一个无限混合模型,其参数随时间而变化.其中,Ren等人[9]和Xu等人[36]只对混合系数的变化建模,而Ahmed和Xing[17]同时还对混合成分本身的变化进行了建模.由于他们也利用了狄利克雷过程,可以从数据中推理聚类数,都属于非参数方法.上述这些对数据演化机制显式建模的方法处理的数据形式都是传统的特征表示的形式,也都是离线式算法.此外,除聚类问题之外,针对文本的话题建模(topic modeling)这一具体问题,Blei和Lafferty[7]将静态情况下的话题模型[42]推广到动态情况,该问题不涉及话题数量的变化以及话题之间的关联演变行为.Wang等人[43]则考虑了数据序贯式到达的连续时间的情况,利用布朗运动建模,并利用文本的稀疏性给出了一种高效的变分推理方法.4.3 利用辅助信息的聚类从机器学习的角度来抽象地考虑,演化聚类本质上可以看作是在各个时刻上利用相关的辅助信息来提高性能的聚类问题.利用辅助信息的学习是机器学习中一个很宽泛的问题,它们解决问题的方法对演化聚类的研究具有借鉴意义.这样的方法包括多任务聚类、迁移学习、聚类融合、多视图聚类等.这方面的工作很多,由于篇幅原因,在此不再赘述.5 总 结演化数据上的学习方面的研究工作还不多,还有一些问题需要研究.例如:数据演化的机制是什么?对演化数据是否存在一般性的假设从而让我们能更好的分析数据?考虑数据演化总是有用的和必要的吗?是否可以提供某种自适应机制以确定演化机制的影响?在(半)监督问题中,如果出现了类别数的变化怎么办?如何对演化数据更有效的分类.对这些问题的关注和研究会使得演化数据上的学习前进一大步.参考文献[1]Vapnik V N.The Nature of Statistical Learning Theory.New York,NY,USA:Springer-Verlag,1995[2]Bartlett P,Ben-David S,Kulkarni S.Learning changing con-cepts by exploiting the structure of change.Machine Learn-ing,2000,41(2):153-174[3]Hulten G,Spencer L,Domingos P.Mining time-changingdata streams//Proceedings of the 7th ACM SIGKDD Interna-tional Conference on Knowledge Discovery &Data Mining(KDD).New York,2001:97-106[4]Gaber M M,Zaslavsky A,Krishnaswamy S.Mining datastreams:A review.ACM Sigmod Record,2005,34(2):18-26[5]Webb G,Ting K.On the application of roc analysis to pre-dict classification performance under varying class distribu-tions.Machine Learning,2005,58(1):25-32[6]Chakrabarti D,Kumar R,Tomkins A.Evolutionary cluste-ring//Proceedings of the 12th ACM SIGKDD InternationalConference on Knowledge Discovery &Data Mining(KDD).New York,NY,2006:554-560[7]Blei D M,Lafferty J D.Dynamic topic models//Proceedingsof the 23rd International Conference on Machine Learning.New York,2006:113-120[8]Bifet A,Gavalda R.Learning from time-changing data withadaptive windowing//Proceedings of the SIAM InternationalConference on Data Mining,Minneapolis.Minnesta,USA,2007:443-448[9]Ren L,Dunson D B,Carin L.The dynamic hierarchicaldirichlet process//Proceedings of the 25th International Con-ference on Machine Learning.New York,2008:824-831[10]Bifet A,Holmes G,Pfahringer B.Leveraging bagging forevolving data streams//Proceedings of the 2010Europeanconference on Machine learning and Knowledge Discovery inDatabases:Part I.Berlin,2010:135-150[11]Ryabko D.On finding predictors for arbitrary families ofprocesses.Journal of Machine Learning Research,2010,11:581-602[12]Ryabko D.Clustering processes//Füurnkranz J,Joachims Teds.Proceedings of the 27th International Conference on Ma-chine Learning(ICML-10).Haifa,2010.Israel:Omnipress,2010:919-926[13]Hartigan J,Wong M.A k-means clustering algorithm.Applied Statistics,1979,28(1):100-108[14]Ng A,Jordan M,Weiss Y.On spectral clustering:Analysisand an algorithm.Advances in Neural Information ProcessingSystems,2002,2:849-856[15]Shi J,Malik J.Normalized cuts and image segmentation.IEEE Transactions on Pattern Analysis and Machine Intelli-gence,2000,22(8):888-905[16]Chi Y,Song X,Zhou D et al.Evolutionary spectral cluste-ring by incorporating temporal smoothness//Proceedings ofthe 13th ACM SIGKDD International Conference on Knowl-edge Discovery &Data Mining(KDD).New York,2007:153-1625132期张长水等:演化数据的学习。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国科学院学部科学与技术前沿论坛信号与信息处理专刊中国科学:信息科学2013年第43卷第12期:1612–1623 机器学习面临的挑战张长水清华大学自动化系,智能科学与技术国家重点实验室,清华信息科学与技术国家实验室(筹),北京100084E-mail:zcs@收稿日期:2013–06–20;接受日期:2013–11–13国家重点基础研究发展计划(批准号:2013CB329503)和国家自然科学基金(批准号:91120301,61075004)资助项目摘要该文讨论了机器学习目前面临的几个挑战,包括:高维特征空间和数据量问题,大数据量的计算困难,寻求最优解的困难和可解释性差等问题.然后针对当前很多人关心的几个重要问题,例如大数据问题,深度学习,概率图模型等做了分析,以引起深入思考.关键词机器学习深度学习概率图模型大数据优化问题1引言过去的二十多年的时间里,机器学习的研究得到了快速发展,取得了一系列令人瞩目的研究成果,同时也面临很多的挑战.我们需要对机器学习的现状和面临的挑战进行探讨和梳理,以引起更深入的思考.2机器学习面临的挑战虽然机器学习取得了令人瞩目的成果,但是仍然面临很多困难和问题.下面列举其中的一些问题.2.1高维特征空间与样本数的不足在很多实际应用问题中,得到的特征维数是比较高的,有的甚至是非常高的.例如,在图像识别中如果提取SIFT 特征,特征维数是128维,如果提取其他特征,维数也往往是几十维,或者几百维.还有,在文本分类问题中,如果把每一个单词当作一个特征,特征的维数可能是几千维,或者上万维,这依赖于所使用的字典大小.下面以概率密度函数的估计为例讨论特征维数和所需要的样本之间的关系.对于一维的概率密度函数估计来说,通常在具有几十个以上的样本时可以得到一个比较好的函数估计,这是因为在每一个点附近应该有一定量的样本(也就是说,数据要具有一定的密度)才能得到好的估计结果.我们假设至少需要10个样本,这是一个保守的数字.如果要估计的是一个二维概率密度函数,就需要把二维空间等分成一些小网格,需要每一个小网格中有足够多的样本.因此,可能需要102=100个样本.当维数增加的时候,空间中小的格子的数量随维数的增加而指数上升.假设维数为d ,需要的样本数是10d .中国科学:信息科学第43卷第12期按照这种方法计算,在图像识别问题中,至少需要10100个样本,而在文本分类中,需要101000个以上的样本.可我们知道,这是不可能的一件事情.由于样本数不足导致了高维数据学习的困难,这个现象被称作“维数灾难”.维数灾难的核心问题是,高维函数实事上远比低维函数复杂,而我们对其还没有有效的方法进行分析.利用具体分类问题的先验知识,或者利用得到的训练数据,可能在一定程度上减少维数灾难带来的困难.例如,如果知道两组特征x和y之间是独立的,那么就有p(x,y)=p(x)p(y).(1)因此,对于p(x,y)的估计就可以通过分别对p(x)和p(y)估计来完成.由于单独的x或y的维数要小于它们联合在一起的(x,y)的维数,因此,所需要的样本数就会少很多.概率图模型[1]研究的就是如何利用随机变量之间的条件独立性对问题建模、学习、推理的理论、算法和应用.概率图模型在解决高维样本学习方面有很多贡献.另外,对实际问题中的数据分析表明,大量的实际问题的高维数据实际上嵌入在一个低维的流形上[2,3],也就是说,数据并没有充满整个高维空间.其主要原因就是各个特征之间存在很强的相关性.因此,实际上并不需要那么多的数据来估计概率密度函数.尽管如此,目前的研究表明,图像数据的本质维数至少有几十维,这对样本数的需求还是非常大的.上面讨论的维数对样本量的需求是以非参数概率密度函数估计为例.实际上,维数灾难不仅仅出现在概率密度函数的估计中,也存在于其他的学习问题中.上面谈到的特征独立和流形分布的知识同样有助于缓解在其他学习问题中遇到的维数灾难困难.2.2寻找最优解的困难目前很多的机器学习研究沿着这样的思路进行:把要解决的问题形式化为一个目标函数,然后通过优化这个目标函数达到对数据学习的目的.例如:支持向量机就是把要解决的两类分类问题形式化为最小化如下目标函数:f(w)=12w T w+CN∑i=1L(w,x i,y i).(2)其中x i,y i(i=1,...,N)是样本的特征和标签,N是样本个数,w是线性分类器的权向量,L是损失函数,C是折衷系数.当L是二次,或者一次函数时,函数f是一个凸函数,存在一个极值,可以通过凸优化算法寻优.我们要解决的实际问题非常复杂,将其形式化后的目标函数也非常复杂,往往在目前还不存在一个有效的算法能找到这样复杂目标函数的最优值.因此,需要通过一些优化技术寻找次优值.这样做通常有两个方面的问题存在,一个是所使用的优化技术可能非常复杂费时,效率很低;另一个是得到的局部极值可能距离我们希望的解很远,不能满足要求.机器学习领域中有一些优化问题具有一些特殊性.因此,有一些研究工作集中在如何求解这些优化问题以及分析所得到的解的性能分析.但是,为了解决机器学习领域的问题,研究针对性的有效优化算法是必要的.由于求解全局最优是非常困难的,所以,通常人们只是采用简单的局部极值求解算法,例如梯度下降方法.采用局部极值算法时,当算法的初值不同,得到的解也不同.而要优化的函数往往有非常多1613张长水:机器学习面临的挑战(可能成千上万,或者更多)的局部极值,通过算法得到的解只是其中一个.我们会关心下面的问题:这么多的局部极值都是我们所希望的解吗?如果不是,其中哪些局部极值是?如何得到这些解?另外,在对要解决的问题建模时,目标函数有时候只是一种“近似”的建模.例如:把要解决的问题形式化成优化下面的函数:f(w)=L(w)+C×r(w).(3)其中L(w)是损失函数,r(w)是正则项,C是折衷系数.目前经常使用的正则项有很多,例如:光滑性正则函数,稀疏性正则函数,函数复杂性正则函数.光滑性正则函数假设函数具有光滑性质;稀疏性正则函数假设要学习的模型具有稀疏性;函数复杂性正则函数则要求要学习的函数不能太复杂.这些正则函数的使用基础是假定所要研究的问题满足这样的条件.但是实际问题是否满足,在什么程度上满足这样的条件,我们并不知道.目标函数的这种“近似”性质,需要考虑下面这些问题,一定需要求解目标函数的全局最优值吗?局部极值(全部局部极值都)能满足要求吗?2.3可解释性差从上文的讨论中可知,机器学习领域里要解决的问题很难用一个容易优化的函数来建模.对于一个实际问题,可以构建不同的目标函数来表示要解决的同一个问题.这样,也就会得到很多不同的解.机器学习的另一个问题是得到的模型的可解释性差.可解释性是和实际应用密切相关的.机器学习在解决一些具体的问题时,需要领域的专家能够理解模型,能够理解“为什么”这个模型能够对未知样本做预测.例如,在分子生物学的蛋白质结构分析中,一个只在输入输出意义下对数据是正确的模型对于分子生物学家还远远不够.他们需要获得的模型在分子生物学意义下可解释.同时,由于所提供的训练数据是不充分的,机器学习还需要为他们提供进一步工作的线索和可能.他们需要的是可解释的数据理解工具或工具集.机器学习应该考虑模型对问题世界的可解释性.机器学习一直以来所遵循的“输入输出满足”原则对某些问题而言可能是远远不够了.正如上文所讨论的,在求解机器学习问题时可能得到多个解,如果使用“输入输出满足”原则,可能建立的多个模型获得多个解,则需要以对问题世界可解释性来分辨其优劣.大数据时代一书[4]强调了在大数据时代相关关系的发现和使用更为重要,而不应该那么追求因果关系.我认为,在某些商业领域他们这样做是对的.但是当我们关注科学问题时,情况就会不同.寻根溯源,或者说追求因果关系是科学研究的一个动力.关于因果关系和相关关系,马颂德老师给了意见:“因果关系是一个相对的概念”.对此的一个解释是:“牛顿看到苹果掉在地上,发现了万有引力定理,可以说发现了苹果掉在地上的因果关系.但也可以说,这是个相关关系,因为它没有说明万物之间为什么有引力.”可以说,大数据时代一书更强调相关关系,而我们的科学研究更强调因果性.就机器学习而言,因不同的应用问题不同,对因果关系的需求程度也是不同的.对于更商业化的应用问题,即在输入输出意义下对数据是正确的,可预测性非常重要.而对于更基础的科学研究问题而言,可解释性就更为重要.2.4大数据量的计算这里讨论的是数据量这样一个问题,而不是大数据时代一书中谈到的大数据问题.下文会讨论大数据问题.1614中国科学:信息科学第43卷第12期数据量大是机器学习在应用阶段面临的重要问题.实际上,在机器学习领域近些年一直关注这个问题,被称之为“大规模数据的学习”(large scale data learning,或big learning).在过去的十几年中,人们关注的更多的是好的机器学习算法的设计,学习算法的性能分析等,我们统称为学习理论和学习方法.这是因为当时有太多的问题需要研究和解决,而机器学习的突飞猛进,吸引了大部分研究人员的注意力,很多人沉浸在机器学习的理论方法研究的喜悦中.而当学习理论和学习方法都已经建立,几个有代表性的学习算法在实际问题中成功应用后,大规模数据的学习开始成为了一个受到关注的问题.大规模数据的学习之所以在近几年才开始受到关注,主要是因为实际中数据量很大.而十几年来发展起来的很多学习算法面临的一个尴尬就是:都很难用于大数据的学习,主要的问题是时间复杂性和空间复杂性.例如:当训练数据超过10000时,支持向量机算法代码(libsvm)因为内存不够而无法在一台普通的台式机上运行,即使扩大内存后,也需要几个小时才能完成训练.因此,不能想象训练数据是十万、百万量级下的支持向量机的学习(而libsvm计算复杂度是样本量的平方).类似的情况也出现在其他的一些机器学习算法中,如:EM算法、主成分分析、线性判别、聚类算法.因此,出现了一些工作来解决这个问题.其基本思路有下面几个:•快速算法.即与原算法等价的快速算法,类似于为傅里叶变换找到快速傅里叶变换的工作.这样的工作无疑是重要的,但是其存在加速极限.•近似算法.不是所有的算法都可以很容易找到和原算法等价的非常快速的算法.因为要求速度快,因此就考虑在牺牲很少的精确性的情况下寻找非常快速的(例如线性的,或者是亚线性的)算法.在这里牺牲精确度是很有必要.机器学习很多年以来一直在追求学习模型的泛化能力,但是,模型的泛化能力取决于很多因素,而不仅仅是学习算法.当样本数很大的时候,其带来的泛化能力的提高往往更有意义.而对于一些聚类问题而言,聚类问题通常只是用于所研究问题的一个阶段,其精度并没有那么重要.因此,这里牺牲精度就是一个自然的选择.当然,近似算法的设计也是存在加速极限.•增量学习和在线学习(incremental learning,online learning).这两种学习方式是在一些应用条件具备的情况下进行大数据量学习的一个解决方案.当需要解决的实际问题的数据是序贯到达的,就可以考虑增量学习和在线学习.增量学习和在线学习考虑的是,当新的样本到达时,是否可以对已经学习到的模型进行小的调整而达到学习的目的.这里的小意味着少的计算量.和增量学习一个重要的不同在于,在线学习要求的“小的调整”能够实时完成.有些算法本身的性质决定了可以比较容易设计出其增量学习算法,例如:感知器学习算法、EM算法等.而有的算法则难度更大些,例如:支持向量机、主成分分析.增量学习和在线学习近些年受到重视,这方面有些优秀的工作发表.•并行算法.利用更多的计算资源以解决大数据的学习问题.人们考虑过把机器学习算法进行各种并行方案的执行.例如:单机多核并行、GPU方案、多服务器方案等.一些大的计算机公司更关注这方面的工作.例如:有计算机公司曾设法把主成分分析、高斯混合模型的学习算法在1万台服务器上并行实现.这个的工作思路无疑是诱人的.但是由于通讯开销,各个计算单元之间的同步等问题的存在,并行算法这个方向的工作并没有那么理想的进展.其并行算法的计算能力并不能和所利用的服务器数量呈线性关系,甚至亚线性关系也达不到.更多的情况是,当服务器达到一定数量后,计算能力几乎不再增长,见图1.当然,已经有研究者着手解决这个问题.在大规模数据的计算方面有一些很好的研究工作发表.有些研究工作解决的问题非常吸引人,例如:如果训练数据不能一次放到内存怎么办?有些算法的加速结果很诱人.例如:把最大间隔聚类算法的原算法(计算复杂度O(n7),n是样本数)加速到O(sn)[5],s是高维数据的稀疏度.1615张长水:机器学习面临的挑战图1当前的机器学习算法能够学习的数据量和并行机器数量的关系.横轴表示并行机器的数据,纵轴表示可以处理的数据量.理想情况下,这是一个线性关系x=y,但实际上是另一曲线,即机器数目到达一定量后,可以处理的数据量几乎不再增长Figure1Relation between data handling capacity and number of parallel unit in a parallel machine learning system recently.In ideal conditions,it follows a linear relationship x=y,but actually the data-handling capacity hardly increases when parallel units achieve a certain number值得说明的是,并非数据量一定要非常大才叫做大数据的学习问题.从算法角度看,只要数据量大,解空间(模型空间、参数空间)就极其大.因此,做机器学习研究的人对大数据的体会更深,压力更大.3几个重要问题除了上面讨论的机器学习面临的挑战外,下面一些问题也很重要.3.1大数据大数据是当前一个热点问题[4].大数据涉及很多方面的研究,这包括:数据的获取、传输、存储、分析等.这里主要讨论大数据给机器学习的挑战和机遇.这里的所说的大数据主要是针对由于互联网等技术的发展而出现的大数据问题,而不仅仅是指数据量比较大(大数据量的学习已经在前面讨论过了).这里的“大数据”一词代表了:数据多,不够精确,数据混杂,自然产生等特点,这些都在文献[4]中做了总结.大数据给机器学习带来的问题不仅仅是因为数据量大而计算上非常困难,其带来的更大的困难在于:数据可能是在不同的服务器上获取的,这些分布在不同服务器上的数据之间存在某些联系,但是基本上不满足同分布的假设,而我们也不可能把所有数据集中起来进行处理和学习.经典的机器学习理论和算法要求数据是独立同分布的.当这个条件不满足时,这时我们的学习模型和学习算法怎么办?是修改算法从这些数据中学习,还是整理数据以适应目前的学习算法?这些服务器上的数据之间的关系如何建模和分析?另外,我们已经知道,在网络上获取的很多数据的分布通常会随着时间的推移发生变化(称之为演化数据,在网络的论坛中称之为概念漂移),这时我们的学习模型和学习算法怎么办?1616中国科学:信息科学第43卷第12期在数据分布发生变化时,数据的独立同分布的假设也不再满足,这时还有什么数学性质可以满足?如果不满足任何的数据性质或者可以利用的数学性质很少,其依赖的数学理论是什么?如何确定给出的模型和算法是可靠的,而不仅仅是实验室里的算法游戏呢?大数据除了给机器学习带来了计算上的困难和挑战外,也带来了一些好处.其中一个好处体现在数据多了以后,呈现出小数据情况下没有呈现出的现象,这被称之为“涌现”(emergence).实际上,1990年后曾经有几年人们很集中的研究过这个问题.人们发现:“微观”地了解每一个个体,并不能预测“宏观”的整体行为.例如:我们知道每个水分子的运动规律和运动方程,但是你无法知道水的沸腾是什么样子,沸腾的水是“涌现”出来的现象.在应用领域,研究人员曾经仅仅使用三条规则来描述一只鸟的飞行.这样当一群鸟的每一个个体都仅仅遵循这三条规则飞行时,就“涌现”出看到过的鸟在天空翱翔的景象.“涌现”一词很生动表达了这一含义.人们也做过很多类似的实验证明了这一点.因此,出现了被称之为群体智能(collective intelligence,wisdom of the crowd)这样的术语.当然,机器学习研究领域对此研究不多.大数据的另一个好处是:在某些应用条件下,数据变得稠密了.多年以来,因为很多众所周知的原因机器学习一直在研究小样本的学习问题.在实际中,分类器性能不够好的一个原因就是样本太少.理论上,我们知道在样本数趋于无穷的时候,很多算法具有很多良好的性质.实践中也有这样的体会,当样本数很多时,使用简单的模型往往能够取得好的泛化性能.而在大数据时代,当样本数量很大的时候,在样本空间的某些区域会出现稠密的现象,这些稠密的数据给分类器设计实际上提供了很多的信息.因此,在这些局部稠密区域,分类器的性能有可能接近理论上的极限性能.大数据的再一个好处是:大数据使得样本空间原来“空旷”的区域出现了样本,原来“稀疏”的区域变得不再稀疏,这在很大程度上为提高分类器性能提供了很好的数据基础.直观地说,就是数据本身的多样性能够更多的展现出来.例如:在语音识别问题中,大数据情况下,人们各种的发音习惯才能更多地体现出来;在图像识别中,大数据情况下,物体在不同情况(变形、光照、背景等变化)下的外观表现才更丰富.而这些数据的缺失很难通过建模和学习算法弥补,同时,这些数据也很难(可以说是不可能)通过专家、算法设计人员的设计来获取.因此数据产生的自发性就很重要.正是基于上面的原因,很多从事语音识别的研究人员希望在尽可能多的数据上进行训练:从几个小时,到几十个小时,到几百个小时,乃至几万个小时的语音数据;计算机视觉的研究人员也在尽可能多的收集和标注数据:从几万,到几十万,到Fei-Fei Li的八千万图像数据[6],到几百亿乃至几千亿的语音数据.八千万图像的ImageNet的建立是一个了不起的工作,然而这些数据对于计算机视觉的任务还远远不够.而事实上,Hinton在使用ImageNet图像进行物体识别[7]训练时,把每张图像进行了很多微小的变换(旋转、光照变化等)从而生成了比原图像多几倍,十几倍的训练数据情况下,识别率又提高了几个百分点.这充分说明了我们的训练数据在通常情况下还很不够.大数据时代数据的自发性导致了数据本身的不精确性.不精确意味着数据有错误.和传统的精确标注的数据相比,不精确是一个大问题.而实际上,对于不精确性的一个补偿就是大量的数据,由于数据量的巨大,这一问题变得没有那么严重,因为其中还有很多高质量的数据.在机器学习领域几乎没有对这种数据的不精确性做过工作.可能是因为统计机器学习方法已经对噪声进行了建模,这噪声也可以包含数据的不精确性.另外,针对某些实际应用中的不精确性很难建模,所以分析算法的性能就太困难.相比机器学习领域,数据挖掘领域对此有过一些研究工作.这些研究工作讨论了当标注数据存在错误时,是否能够构建好的分类器.基本结论是:当大部分标注数据是正确的时候,少数(小于50%)1617张长水:机器学习面临的挑战的错误标注样本对分类器的影响不大,错误标注数据的比例越小,分类器的准确性越高[8].当然,如果大部分标注样本存在错误时怎么办?对于某些具体的应用问题,当数据量很大的时候,可以有针对性地设计算法解决这个问题.我们曾经考虑一种特殊情况,在这种情况下,即使大部分标注数据是错误的,仍然可以设计出好的分类器[9].看起来不精确性对机器学习是个不利的方面,而实际上,它并非全是坏处.例如:在互联网上搜索时,百度和google会给出一些检索结果.当用户看到这些结果时,会点击其中的一条,然后也许会再点击另外一条.这些点击信息告诉我们,用户点击的第一条可能不是他要找的网页,或者第二条让他更满意.这些点击信息虽然没有明确做好网页和查询数据之间的标注,但是告诉我们一些可能的信息.这样的数据如果足够多,就有利用价值.一些研究组报告说,这些“弱标注”数据给他们的系统提供了很多有用的信息,而改进了他们的系统.混杂性是大数据的另一个特性,是因为数据是自发生成的而带来的一个特性.混杂性给我们提出的一个课题就是要把这些数据进行分离和整理,从而为进一步的机器学习做准备.这个过程是数据挖掘要完成的任务.3.2深度学习在上个世纪八十年代和九十年代,反向传播算法(BP算法)的出现使得人工神经网络的研究东山再起,得到了很大的重视和快速发展.然而经过几年的快速发展后,又迅速进入研究的低谷.2006年Hilton发现了深层神经网络的学习算法[10].这之后,人工神经网络又逐渐得到了重视,成为近年来的研究热点.人工神经网络的这次东山又起,以一个新的面貌出现:深度学习.这里的深度指网络的层数多.二十年前的神经网络研究的大多是三层的神经网络:一个输入层,一个隐含层,一个输出层.反向传播算法的出现让多层神经网络的学习成为可能.当时出现了很多令人振奋的研究成果,其中一个就是关于多层神经网络的表达能力的结果[11]:只含有一个隐层的前馈网络是一个通用的函数逼近器,在一定条件下,它可以逼近任何一个连续函数.这个结果说明有一个隐层的前馈网络对于表达非线性函数来说已经足够,当然这并不说明一个隐层是最好的.也有研究结果表明,要逼近相同输入维数的函数,两个隐层的网路可能比单个隐层的网络所需隐单元数要少得多.尽管如此,因学习算法不令人满意,很少有人使用两层以上的神经网络结构.大量的研究表明,反向传播算法严重过学习(overfitting).毫无疑问,反向传播算法是一个贪婪优化算法,其收敛到目标函数的一个局部极值.而目标函数是一个非凸的复杂的目标函数,存在大量的局部极值.看起来,其中很多的局部极值不是我们想要的结果,而我们又无法提前选择一个好的初值通过反向传播算法得到理想的局部极值.样本量太少也是导致神经网络严重过学习的一个重要原因.当时人们没有使用那么多样本有很多原因.一个是获取足够的样本的代价太高,另外,计算能力的不足也限制了人们对于大样本量学习的探索.因此,探讨一个以上的隐含层的学习的研究工作非常少,发表的一些研究工作也不让人乐观.而这次深度学习的出现是通过逐层学习的方式解决了多个隐含层神经网络的初值选择问题.图2给出的是一个具有三个隐含层的逐层监督学习示意图.不仅如此,研究工作表明,非监督数据在多个隐含层神经网络的初值学习中也起到了很重要的作用.这是一个很有意思的结果.在监督学习中,需要具有样本标号的监督数据.然而,获取大量标注的样本的代价过于昂贵.例如:语音信号数据库、图像数据库的建立工作都说明了这一点.但是,如果不要求数据是监督的,其数据获取代价就小得多.例如:获取大量的语音信号较为容易,因为每个人每天要说很多话,也可以从电视、广播中得到这些语音1618。