南大周志华俞扬钱超最新力作:《演化学习:理论与算法进展》正式上线–江苏省人工智能学会

梯度下降或最速下降法,是机器学习最为重要的模块之一。尤其是在深度学习时代,梯度下降已成为不可或缺的组成部分。但同时,梯度下降也限制了机器学习推广到更广泛的一些任务中,例如不可微的目标函数。这一缺陷,却正好能被本书的主题「演化学习」解决。

最近,南京大学周志华教授、俞扬教授、钱超博士出版了一本名为「演化学习:理论与算法进展」的专著。在这本书中,总结了作者在这个主题上近二十年的研究成果,并从理论到算法概述了它对目前机器学习研究的意义。

目前,该书已在Springer官网正式上线,且开放了本书第一章的访问,为期一个月。

书籍简介

本世纪初,本书第一作者周志华与其合作者开展了「选择性集成」的研究,通过从一批训练好的神经网络中选择一个子集进行结合,泛化性能甚至优于结合所有神经网络。该工作中引入了一种名为遗传算法的演化算法(EvolutionaryAlgorithm,EA)。

周志华认为,演化算法作为一种强大的非经典优化方法,可能对许多机器学习任务都有用。但那时候,演化算法基本上都还是纯启发式的,理论氛围浓厚的机器学习社区并不青睐这一类方法。周志华相信演化算法在应用中神秘成功的背后必有理论解释,并决定开始研究。周志华的学生俞扬、钱超也相继投入该领域的研究,这一研究就是十几二十年。

经过周志华等研究者的共同努力,目前演化学习已经不再是完全缺乏理论支撑的「玄学」,其关键成分上已经有了理论结果,并且对算法设计能够给出一定的指导,使得演化学习成为一个有理论基础的研究领域。总而言之,这本书大部分内容都是三位作者在过去近二十年里取得的研究成果,值得一读。

内容概要

机器学习之所以称之为「学习」,很大程度在于模型会通过最优化方法逐渐「学习」一些新知识。但目前主流模型常常要求目标函数是连续、可微的,不然的话梯度下降方法难以有效。这是一个很强的要求,别说可微的目标函数,在一些机器学习任务中甚至都难以定义明确的目标函数。

这时就可以考虑使用无需明确给出目标函数形式的演化学习技术。而演化算法确实在很多应用中产生了令人惊艳的结果。不过由于演化算法的「启发式氛围」太过浓厚,很多结果都是经验性的,缺乏理论支持。最近很多研究者都在努力解决这个问题,而这本书则介绍了这方面的一系列探索与研究工作。

本书包含四部分内容:

作者们希望第二部分的通用理论工具可以帮助到有兴趣探索演化学习理论基础的读者;希望第三部分的理论结果可以加深读者对演化学习过程行为的理解,并且提供一些关于算法设计的见解;此外,作者们还希望第四部分的算法可以有效地用于机器学习实际应用中。

作者简介

本文作者主要有三位:

周志华,现任南京大学人工智能学院院长,南京大学计算机科学与技术系主任、南京大学计算机软件新技术国家重点实验室常务副主任、机器学习与数据挖掘研究所(LAMDA)所长,校学术委员会委员。周志华是ACM、AAAI、AAAS、IEEE和IAPRFellow,主要从事人工智能、机器学习、数据挖掘等领域的研究工作。

什么是演化学习

对于大部分读者而言,机器学习和梯度下降已经是老朋友了,但演化学习却相对陌生。我们可以将各种机器学习算法总结为三大主要模块,即如下所示的模型表征、模型优化和模型评估。

原书图1.1:典型机器学习过程的三大组成模块。

我们很容易理解,ML需要支持向量机、神经网络或决策树等算法构建模型空间,然后在训练数据上利用学习算法找更好的解决方案。当然,在找最优模型的过程中,模型评估会将模型的好坏直接反馈给学习算法,从而指导学习的持续进行。

那么EA在机器学习中处于什么位置呢?按照维基百科的描述:「演化算法启发自生物的演化机制,模拟繁殖、突变、遗传重组、自然选择等演化进程,从而对最优化问题的候选解做演化计算。」所以,演化算法对应于上图的学习算法,它是一种模拟自然演化的「学习过程」。

所以演化学习究竟是怎样进行的,它会不会也有这样一个整体框架?后面我们将介绍该书第一章描述的演化学习。

演化学习的主要流程

演化算法(EA)是一大类启发式的随机优化算法,它受到了自然演化的很多启发。一般EA会考虑两个关键因素来模拟自然过程,即变异繁殖(variationalreproduction)和择优挑选(superiorselection)。尽管演化算法有很多不同的实现,例如遗传算法(GA)、遗传规划(GP)和进化策略(ES),但典型的EA主要能抽象为以下四个步骤:

1.生成一组初始解(称为种群/Population);

2.基于现有的种群繁衍一些新的解(solution);

3.移除种群中相对差的解;

4.返回第二步并重复运行,直到遇到了终止标准。

这四步可以构成演化算法的主要流程:

原书图1.2:演化算法的一般结构。

演化算法实例

在使用EA解决最优化问题之前,我们需要决定如何表示解(solution)。例如,如果问题是从基准集中选择一个子集,那么一个解可以自然地表示为一个布尔值(0或1)向量。如下图1.3所示,{v1,v2,...,v8}的子集能自然地表示为长度为8的布尔值向量。其中第i个元素为1意味着选择了v_i,因此{v1,v3,v4,v5}能表示为(1,0,1,1,1,0,0,0)。

原书图1.3:表示解的一个案例。

基于解的表征方法,EA通过图1.2所示的循环就开始了演化。在循环演化过程中,EA会保留解的整个种群,并通过迭代繁衍新的后代解而不停地更新种群。突变与重组(或称为交叉)是繁衍的两种常见操作方法。突变(Mutation)会随机修改一个解以生成新的解。

如下,图1.4展示了布尔值向量所产生的单个元素突变,即随机选择一个元素,并将其修改为另一个布尔值。

原书图1.4:布尔值向量解上的单比特变异。算法首先会随机选择Parent解上的一个位置,然后改变该位置的布尔值,并生成后代解。

重组会混合2个或多个解以生成新的解。下图1.5展示了两个布尔值向量所完成的单点重组,即随机选择一个位置,然后交换该位置后面的值。

原书图1.5:两个布尔值向量上的单点重组。算法随机选择两个Parent解的某个相同位置,并交换该位置后面的值而生成两个后代解。

从整个迭代过程中可以看到,EA在求解最优化问题时,它只需要以某种方法表示解,并能够对解的好坏进行评估,从而可以搜索更好的解。因此,EA在没有梯度信息、甚至在没有明确目标函数时都能使用,它只需要存在某种方法能通过实验或模拟评估解的好坏就行。因此,EA被视为一种通用的最优化算法,我们甚至能以「黑盒」的方式解决某个最优化问题。

由于通用属性,很多研究者已经利用EA来解决机器学习中的复杂最优化问题。例如,EA可以用来最优化神经网络,包括连接权重、架构和学习规则。这种演化的人工神经网络模型能实现非常好的性能,甚至能媲美手动设计的模型。然而,尽管演化学习已经取得了很多成功,但它缺少坚实的理论基础,也很难受到机器学习社区的广泛认同,本书介绍了作者们为此作出的努力。

THE END
1.究竟什么是算法,怎么什么都要学算法?算法有什么用为什么都啃算法什么是计算机算法? 算法是计算机可以用来解决特定问题的指令列表。算法用于计算的所有领域,它们旨在以有效的方式解决问题。 算法的设计取决于它需要解决的问题的复杂性。对于简单的问题,蛮力可能是可行的。然而,对于更复杂的问题,需要更复杂的算法。 计算机算法无处不在 https://blog.csdn.net/2403_88996764/article/details/143954757
2.什么是算法,算法有哪些特征什么是算法,算法有哪些特征 山西龙采 山西龙采 | 发布2021-05-18 算法,指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。算法有其自己的特性,其中包含有穷性、确切性、输入项、输出项、可行性这些特征。 算法代表着用系统的方法描述解决问题的策略机制。算法中的指令描述的是一个计算,当其运行时能从https://xue.baidu.com/okam/pages/strategy-tp/index?strategyId=124237785661426&source=natural
3.什么是机器学习算法?IBM机器学习算法是 AI 系统用来执行任务的一套规则或流程,最常见的用途是发现新的数据洞察或模式,或者从一组给定输入变量中预测输出值。机器学习 (ML) 利用算法来学习。 行业分析师一致认同机器学习及其底层算法至关重要。Forrester 指出:“机器学习算法的进步让营销数据的分析更加精确深入,可帮助营销人员了解营销细节(如https://www.ibm.com/cn-zh/topics/machine-learning-algorithms
4.什么是集成学习算法51CTO博客什么是集成学习算法 经过前面的学习,我们认识了机器学习中的常用回归算法、分类算法和聚类算法,在众多的算法中,除神经网络算法之外,没有一款算法模型预测准确率达到 100%,因此如何提高预测模型的准确率成为业界研究的重点。通过前面内容的学习,你可能会迅速想到一些方法,比如选择一款适合的算法,然后反复调整各种参数,其实https://blog.51cto.com/u_12480926/8170971
5.深度学习算法简介深度学习算法是什么深度学习算法有哪些作为一种现代化、前沿化的技术,深度学习已经在很多领域得到了广泛的应用,其能够不断地从数据中提取最基本的特征,从而对大量的信息进行机器学习。深度学习算法作为其中的重要组成部分,不仅可以为诸如人工智能、图像识别以及自然语言处理等领域提供支持,同时也受到了越来越多的关注和研究。在本文中,我们将着重介绍深度学习https://m.elecfans.com/article/2216210.html
6.什么是机器学习算法?机器学习算法的类型线性回归:线性回归是一种监督学习算法,用于找到最适合一组数据点的直线。 逻辑回归:逻辑回归是一种监督学习算法,用于将数据点分为两类。 支持向量机:支持向量机是用于分类和回归任务的监督学习算法。 决策树:决策树是用于分类和回归任务的监督学习算法。 https://fuxi.163.com/database/46
7.什么是数据结构?什么是算法?怎么学习数据结构与算法?什么是算法?怎么学习数据结构与算法? 01 前言 学习算法,我们不需要死记硬背那些冗长复杂的背景知识、底层原理、指令语法……需要做的是领悟算法思想、理解算法对内存空间和性能的影响,以及开动脑筋去寻求解决问题的最佳方案。相比编程领域的其他技术,算法更纯粹,更接近数学,也更具有趣味性。https://maimai.cn/article/detail?fid=1744039689&efid=u2sSJyH6RePBrCh7o1dCfA
8.强化学习是如何解决问题的?腾讯云开发者社区强化学习可以解决什么问题 如下图1是强化学习算法的成功案例。其中的A图为典型的非线性二级摆系统。该系统由一个台车(黑体矩形表示)和两个摆(红色摆杆)组成,可控制的输入为台车的左右运动,该系统的目的是让两级摆稳定在竖直位置。两级摆问题是非线性系统的经典问题,在控制系统理论中,解决该问题的基本思路是先对https://cloud.tencent.com/developer/article/1643055
9.什么是机器学习?MicrosoftAzure机器学习在不同行业中的运用 各行各业的企业都在以多种方式使用机器学习。下面是机器学习在主要行业的一些运用示例: 银行和金融 风险管理和欺诈预防是机器学习为金融业提供巨大价值的关键领域。 医疗保健 机器学习可帮助改善病人护理,例如诊断工具、患者监测和预测疾病暴发。 https://azure.microsoft.com/zh-cn/resources/cloud-computing-dictionary/what-is-machine-learning-platform/
10.一文看懂机器学习「3种学习方法+7个实操步骤+15种常见算法」机器学习、人工智能、深度学习是什么关系? 1956 年提出 AI 概念,短短3年后(1959)Arthur Samuel就提出了机器学习的概念: Field of study that gives computers the ability to learn without being explicitly programmed. 机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从https://easyai.tech/ai-definition/machine-learning/
11.《算法与数据结构》精品课:线上线下融合,师生协力共创编程教学新研究方向:机器学习赋能EDA 教育及工作经历: 2017-2021:香港中文大学,博士 2021-2022:香港中文大学,博士后 2022-至今:上海科技大学,信息学院,助理教授,研究员 算法与数据课程的教学法宝是什么? 先进的教学理念与高效的团队执行力是本门课程建设中的教学法宝。 https://www.shanghaitech.edu.cn/2023/1205/c1001a1086542/page.htm
12.什么是深度学习?Oracle中国深度学习是机器学习 (ML) 的一个子集,指人工神经网络(由算法建模而成,能够像人的大脑一样工作)学习大量数据。深度学习的工作原理是什么? 深度学习由神经网络层驱动。神经网络由一系列算法按照人类大脑的工作方式松散建模而成,而使用大量数据进行训练,即对神经网络的神经进行配置。经过训练后,深度学习模型可以处理新数https://www.oracle.com/cn/data-science/machine-learning/what-is-deep-learning/
13.统计学习方法(豆瓣)—— 引自章节:第一篇 监督学习 算法2.2 (感知机学习算法的对偶形式) (3) 如果 y_i(\sum_{j=1}^N \alpha_j y_j x_j \dot x_i+b) \le 0, \alpha_i \leftarrow \alpha_i+\eta b \leftarrow b + \eta y_i (查看原文) https://book.douban.com/subject/10590856/
14.《常用算法之智能计算(三)》:机器学习计算在给出机器学习计算各种算法之前,最好是先研究一下什么是机器学习和如何对机器学习进行分类,才能更好的理解和掌握一些具体的机器学习算法并将其用于实际问题的计算和处理。 学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有自己不同的看法和说法。比如,http://www.kepu.net/blog/zhangjianzhong/201903/t20190327_475625.html