Python 3破冰人工智能:从入门到实战
上QQ阅读APP看书,第一时间看更新

1.1 数学建模

1.1.1 数学建模与人工智能

1.数学建模简介

数学建模是利用数学方法解决实际问题的一种实践。即通过抽象、简化、假设、引进变量等处理过程,将实际问题用数学方式表达,建立起数学模型,然后运用先进的数学方法及计算机技术进行求解。数学建模可以通俗地理解为数学+建模,即运用统计学、线性代数,积分学等数学知识,构建数学模型,通过模型解决问题。

按照传统定义,数学模型是对于一个现实对象,为了一个特定目的(实际问题),做出必要的简化假设(模型假设),根据对象的内在规律(业务逻辑、数据特征),运用适当的数学工具、计算机软件,得到的一个数学结构。

亚里士多德说,“智慧不仅仅存在于知识之中,而且还存在于应用知识的能力中”。数学建模就是对数学知识最好的应用,通过数学建模,你会发现,生活中很多有意思的事情都可以靠它来解决,其流程如图1-1所示。

▲图1-1 数学建模流程

2.人工智能简介

对于普通大众来说,可能是近些年才对其有所了解,其实人工智能在几十年以前就被学者提出并得到一定程度的发展,伴随着大数据技术的迅猛发展而被引爆。

(1)人工智能的诞生

最初的人工智能其实是20世纪30至50年代初一系列科学研究进展交汇的产物。1943年,沃伦·麦卡洛克(Warren McCulloch)和瓦尔特·皮茨(Walter Pitts)首次提出“神经网络”概念。1950年,阿兰·图灵(Alan Turing)提出了著名的“图灵测试”,即如果一台机器能够与人类展开对话(通过电传设备)而不能被辨别出其机器身份,那么称这台机器则具有智能。直到如今,图灵测试仍然是人工智能的重要测试手段之一。1951年,马文·明斯基(Marvin Minsky)与他的同学一起建造了第一台神经网络机,并将其命名为SNARC(Stochastic Neural Analog Reinforcement Calculator)。不过,这些都只是前奏,一直到1956年的达特茅斯会议,“Artificial Intelligence”(人工智能)这个词才被真正确定下来,并一直沿用至今,这也是目前AI诞生的一个标志性事件。

▲图1-2 达特茅斯会议参会者50年后聚首照达特茅斯会议参会者50年后再聚首,左起:Trenchard More、John McCarthy、Marvin Minsky、Oliver Selfridge和Ray Solomonoff(摄于2006年),图片版权归原作者所有。

在20世纪50年代,人工智能相关的许多实际应用一般是从机器的“逻辑推理能力”开始着手研究。然而对于人类来说,更高级的逻辑推理的基础是“学习能力”和“规划能力”,我们现在管它叫“强化学习”与“迁移学习”。可以想象,“逻辑推理能力”在一般人工智能系统中不能起到根本的、决定性的作用。当前,在数据、运算能力、算法模型、多元应用的共同驱动下,人工智能的定义正从用计算机模拟人类智能,演进到协助引导提升人类智能,如图1-3所示。

▲图1-3 下一代人工智能(图片来源《新一代人工智能发展白皮书》)

(2)人工智能的概念

人工智能(Artificial Intelligence),英文缩写为AI,它是研究开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”,也可能超过人的智能。

(3)人工智能、机器学习、深度学习

下面我们来介绍下主要与人工智能相关的几个概念,要搞清它们的关系,最直观的表述方式就是同心圆,如图1-4所示,最先出现的是理念,然后是机器学习,当机器学习繁荣之后就出现了深度学习,今天的人工智能大爆发是由深度学习驱动的。

▲图1-4 AI、机器学习、深度学习的关系

人工智能(AI)、机器学习(ML)、深度学习(DL)的关系为DL⊆ML⊆AI。

人工智能,即AI是一个宽泛的概念,人工智能的目的就是让计算机能够像人一样思考。机器学习是人工智能的分支,它是人工智能的重要核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。深度学习是机器学习研究中的一个新领域,推动了机器学习的发展,并拓展了人工智能的领域范围。甚至有观点认为,深度学习可能就是实现未来强AI的突破口。

可以把人工智能比喻成孩子大脑,机器学习是让孩子去掌握认知能力的过程,而深度学习是这个过程中很有效率的一种教学体系。

因此可以这样概括:人工智能是目的、结果;深度学习、机器学习是方法、工具。

本书讲解了人工智能、机器学习、深度学习的相关应用,它们之间的关系,常见的机器学习算法等知识,希望你通过对本书的学习,深刻理解这些概念,并可以轻而易举地给别人讲解。

3.数学建模与人工智能关系

无论是数学建模还是人工智能,其核心都是算法,最终的目的都是通过某种形式来更好地为人类服务,解决实际问题。在研究人工智能过程中需要数学建模思维,所以数学建模对于人工智能非常关键。

下面通过模拟一个场景来了解人工智能与数学建模之间的关系。

某患者到医院就诊,在现实生活中,医生根据病人的一系列体征与症状,判断病人患了什么病。医生会亲切地询问患者的症状,通过各种专项检查,最后进行确诊。在人工智能下,则考虑通过相应算法来实现上述过程,如德国的辅助诊断产品Ada学习了大量病例来辅助提升医生诊病的准确率。

情景①:如果用数学建模方法解决,那么就通过算法构建一个恰当的模型,也就是通过图1-1所示的数学建模流程来解决问题。

情景②:如果用人工智能方法解决,那么就要制造一个会诊断疾病的机器人。机器人如何才能精准诊断呢?这就需要利用人工智能技术手段,比如采用一个“人工智能”算法模型,可能既用了机器学习算法,也用了深度学习算法,不管怎样,最终得到的是一个可以落地的疾病预测人工智能解决方案。让其具有思考、听懂、看懂、逻辑推理与运动控制能力,如图1-5所示。

▲图1-5 AI机器人

通过上面的例子可以看出,人工智能离不开数学建模。在解决一个人工智能的问题过程中,我们将模型的建立与求解进行了放大,以使其结果更加精准,如图1-6所示。

▲图1-6 AI下对数学建模的流程修正

可见,从数学建模的角度去学习人工智能不失为一种合适的方法。

1.1.2 数学建模中的常见问题

美国数学建模竞赛(Mathematical Contest in Modeling,MCM)从1985年开始一直发展至今。中国大学生数学建模竞赛开展也有20余年,已逐渐成熟起来。下面我们通过历年赛题来了解到底什么是数学建模,数学建模可以解决哪些问题,如表1-1所示。

表1-1 数学建模竞赛题目

通过表1-1可以看出,数学建模竞赛中需要通过数学建模解决的问题涉及互联网、医疗、交通等多方面,下面选取部分题目,从常见问题进行更加深入的剖析。

1.分类问题

分类问题解决的是目标对象属于哪个预定义的类。举个例子,判断一条评论是好评还是差评就是一个分类问题。

分类,是数学建模中最常用的方法之一,分类一般分为二分类(二值问题)或者是多分类问题。

2000年全国大学生数学建模竞赛A题就是一个典型的分类问题,原题目如下。

2000年A题DNA序列分类

2000年6月,人类基因组计划中DNA全序列草图完成,预计2001年可以完成精确的全序列图,此后人类将拥有一本记录着自身生老病死及遗传进化的全部信息的“天书”。这本大自然写成的“天书”是由4个字符——A、T、C和G——按一定顺序排成的长约30亿字符的序列,其中没有“断句”也没有标点符号,除了这4个字符表示4种碱基以外,人们对它包含的“内容”知之甚少,难以读懂。破译这部世界上最巨量信息的“天书”是21世纪人类最重要的任务之一。研究DNA全序列结构,以及这4个字符排成的看似随机的序列中隐藏着的规律,是解读这部天书的基础,是生物信息学(Bioinformatics)最重要的课题之一。

虽然人类对这部“天书”知之甚少,但也发现了DNA序列中的一些规律性和结构。例如,在全序列中有一些用于编码蛋白质的序列片段,即由这4个字符组成的64种不同的3字符串,其中大多数用于编码构成蛋白质的20种氨基酸。又例如,在不用于编码蛋白质的序列片段中,A和T的含量特别多,于是以某些碱基特别丰富作为特征去研究DNA序列的结构也取得了一些结果。此外,利用统计的方法还发现序列的某些片段之间具有相关性,等等。这些发现让人们相信,DNA序列中存在着局部的和全局性的结构,充分发掘序列的结构对理解DNA全序列是十分有意义的。目前,在这项研究中最普通的思想是省略序列的某些细节,突出特征,然后将其表示成适当的数学对象。这种被称为粗粒化和模型化的方法,往往有助于研究规律性和结构。

作为研究DNA序列的结构的尝试,提出以下对序列集合进行分类的问题。

(1)下面有20个已知类别的人工制造的序列(见下页),其中序列标号1~10为A类,11~20为B类。请从中提取特征,构造分类方法,并用这些已知类别的序列,衡量你的方法是否足够好。然后用你认为满意的方法,对另外20个未标明类别的人工序列(标号21~40)进行分类,用序号(按从小到大的顺序)标明结果的类别(无法分类的不写入):

A类    ;B类    

请详细描述你的方法,给出计算程序。如果你使用了某些现成的分类方法,也要将方法名称准确注明。

(2)在数据文件Nat-model-data中给出了182个自然DNA序列,它们都较长。用你的分类方法对它们进行分类,并给出分类结果。

提示:衡量分类方法优劣的标准是分类的正确率。构造分类方法有许多途径,例如提取序列的某些特征,给出它们的数学表示:几何空间或向量空间的元素等,然后再选择或构造适合这种数学表示的分类方法;又例如构造概率统计模型,然后用统计方法分类。

2.评价问题

以2005年全国大学生数学建模竞赛A题《长江水质的评价和预测》为例,这是一个典型的评价问题,原题目如下。

2005年A题 长江水质的评价和预测

水是人类赖以生存的资源,保护水资源就是保护我们自己,对于我国大江大河水资源的保护和治理应是重中之重。专家们呼吁:“以人为本,建设文明和谐社会,改善人与自然的环境,减少污染。”

长江是我国第一、世界第三大河流,长江水质的污染程度日趋严重,已引起了相关政府部门和专家们的高度重视。2004年10月,由全国政协与中国发展研究院联合组成“保护长江万里行”考察团,从长江上游宜宾到下游上海,对沿线21个重点城市做了实地考察,揭示了一幅长江污染的真实画面,其污染程度让人触目惊心。为此,专家们提出“若不及时拯救,长江生态10年内将濒临崩溃”,并发出了“拿什么拯救癌变长江”的呼唤。

附件3给出了长江沿线17个观测站(地区)近两年多主要水质指标的检测数据,以及干流上7个观测站近一年多的基本数据(站点距离、水流量和水流速)。通常认为一个观测站(地区)的水质污染主要来自于本地区的排污和上游的污水。一般说来,江河自身对污染物都有一定的自然净化能力,即污染物在水环境中通过物理降解、化学降解和生物降解等,使水中污染物的浓度降低。反映江河自然净化能力的指标被称为降解系数。事实上,长江干流的自然净化能力可以认为是近似均匀的,根据检测可知,主要污染物高锰酸盐指数和氨氮的降解系数通常介于0.1~0.5之间,比如可以考虑取0.2(单位:L/天)。附件4是“1995~2004年长江流域水质报告”给出的主要统计数据。下面的附表是国标(GB3838-2002)给出的《地表水环境质量标准》中4个主要项目标准限值,其中Ⅰ、Ⅱ、Ⅲ类为可饮用水。

请你们研究下列问题。

(1)对长江近两年多的水质情况做出定量的综合评价,并分析各地区水质的污染状况。

(2)研究、分析长江干流近一年多主要污染物高锰酸盐指数和氨氮的污染源主要在哪些地区?

(3)假如不采取更有效的治理措施,依照过去10年的主要统计数据,对长江未来水质污染的发展趋势做出预测分析,比如研究未来10年的情况。

(4)根据你的预测分析,如果未来10年内每年都要求长江干流的Ⅳ类和Ⅴ类水的比例控制在20%以内,且没有劣Ⅴ类水,那么每年需要处理多少污水?

(5)你对解决长江水质污染问题有什么切实可行的建议和意见。

3.预测问题

2006年全国大学生数学建模竞赛B题《艾滋病疗法的评价及疗效的预测》,这是一个典型的预测问题,原题目如下。

2006年B题 艾滋病疗法的评价及疗效的预测

艾滋病是当前人类社会最严重的瘟疫之一,从1981年发现以来的20多年间,它已经吞噬了近3000万人的生命。

艾滋病的医学全名为“获得性免疫缺损综合症”,英文简称AIDS,它是由艾滋病毒(医学全名为“人体免疫缺损病毒”,英文简称HIV)引起的。这种病毒破坏人的免疫系统,使人体丧失抵抗各种疾病的能力,从而严重危害人的生命。人类免疫系统的CD4细胞在抵御HIV的入侵中起着重要作用,当CD4被HIV感染而裂解时,其数量会急剧减少,HIV将迅速增加,导致AIDS发作。

艾滋病治疗的目的,是尽量减少人体内HIV的数量,同时产生更多的CD4,至少要有效地降低CD4减少的速度,以提高人体免疫能力。

迄今为止,人类还没有找到能根治AIDS的疗法,目前的一些AIDS疗法不仅对人体有副作用,而且成本也很高。许多国家和医疗组织都在积极试验、寻找更好的AIDS疗法。

现在得到了美国艾滋病医疗试验机构ACTG公布的两组数据。ACTG320(见附件1)是同时服用zidovudine(齐多夫定)、lamivudine(拉美夫定)和indinavir(茚地那韦)3种药物的300多名病人每隔几周测试的CD4和HIV的浓度(每毫升血液里的数量)。193A(见附件2)是将1300多名病人随机地分为4组,每组按下述4种疗法中的一种服药,大约每隔8周测试的CD4浓度(这组数据缺HIV浓度,它的测试成本很高)。4种疗法的日用药分别为:600mg zidovudine或400mg didanosine(去羟基苷),这两种药按月轮换使用;600mg zidovudine加2.25mg zalcitabine(扎西他滨);600mg zidovudine加400mg didanosine;600 mg zidovudine加400 mg didanosine,再加400 mg nevirapine(奈韦拉平)。

请你完成以下问题。

(1)利用附件1的数据,预测继续治疗的效果,或者确定最佳治疗终止时间(继续治疗指在测试终止后继续服药,如果认为继续服药效果不好,则可选择提前终止治疗)。

(2)利用附件2的数据,评价4种疗法的优劣(仅以CD4为标准),并对较优的疗法预测继续治疗的效果,或者确定最佳治疗终止时间。

(3)艾滋病药品的主要供给商对不发达国家提供的药品价格如下:600mg zidovudine 1.60美元,400mg didanosine 0.85美元,2.25mg zalcitabine 1.85美元,400mg nevirapine 1.20美元。如果病人需要考虑4种疗法的费用,对(2)中的评价和预测(或者提前终止)有什么改变。

4.TSP问题

旅行商问题(Traveling Salesman Problem,TSP),是数学领域中的著名问题之一。2015全国研究生数学建模竞赛F题《旅游路线规划问题》就是一个典型的TSP问题,原题目如下。

2015年F题 旅游路线规划问题

旅游活动正在成为全球经济发展的重要动力之一,它加速国际资金流转和信息、技术管理的传播,创造高效率消费行为模式、需求和价值等。随着我国国民经济的快速发展,人们生活水平得到很大提升,越来越多的人积极参与有益于身心健康的旅游活动。

附件1提供了国家旅游局公布的201个5A级景区名单,一位自驾游爱好者拟按此景区名单制定旅游计划。该旅游爱好者每年有不超过30天的外出旅游时间,每年外出旅游的次数不超过4次,每次旅游的时间不超过15天;基于个人旅游偏好确定了在每个5A级景区最少的游览时间(见附件1)。基于安全考虑,行车时间限定于每天7:00至19:00之间,每天开车时间不超过8小时;在每天的行程安排上,若安排全天游览则开车时间控制在3小时内,安排半天景点游览,开车时间控制在5小时内;在高速公路上的行车平均速度为90公里/小时,在普通公路上的行车平均速度为40公里/小时。该旅游爱好者计划在每一个省会城市至少停留24小时,以安排专门时间去游览城市特色建筑和体验当地风土人情(不安排景区浏览)。景区开放时间统一为8:00至18:00。请考虑下面问题。

(1)在行车线路的设计上采用高速优先的策略,即先通过高速公路到达与景区邻近的城市,再自驾到景区。附件1给出了各景区到相邻城市的道路和行车时间参考信息,附件2给出了国家高速公路相关信息,附件3给出了若干省会城市之间高速公路路网相关信息。请设计合适的方法,建立数学模型,以该旅游爱好者的常住地在西安市为例,规划设计旅游线路,试确定游遍201个5A级景区至少需要几年?给出每一次旅游的具体行程(每一天的出发地、行车时间、行车里程、游览景区;若有必要,其他更详细表达请另列附件)。

(2)随着各种旅游服务业的发展,出行方式还可以考虑乘坐高铁或飞机到达与景区相邻的省会城市,而后采用租车的方式自驾到景区游览(租车费用300元/天,油费和高速过路费另计,租车和还车需在同一城市)。此种出行方式可以节省一些路途时间用于景区游览或休闲娱乐,但这种出行方式也会给旅游者带来一些不便,有时费用也会增加。该旅游爱好者根据个人旅游偏好确定在每一个景区最长逗留时间不超过附件1给出的最少时间的2倍。附件4给出了若干城市之间的高铁票价和相关信息(约定:选择高铁出行要求当天乘坐高铁的时间不超过6个小时,乘坐高铁或飞机的当天至多安排半天的景区游览);附件5给出了若干省会城市之间的机票全价价格信息(含机场建设费)。该旅游爱好者一家3人同行,综合考虑前述全程自驾、先乘坐高铁或飞机到达省会城市后再租车自驾到景区等出行方式(住宿费简化为省会城市和旅游景区200元/人•天,地级市150元/人•天,县城100元/人•天;高速公路的油耗加过路费平均为1元/公里,普通公路上油耗平均为0.6元/公里;附件1中给出了各景区所在地的信息,若景区位于某城市市区或近郊,则这类景区的市内交通费用已计入住宿费中,不再另计),建立数学模型设计一个十年游遍所有201个5A景区、费用最优、旅游体验最好的旅游线路,给出每一次旅游的具体线路(含每次具体出行方式;每一天的出发地、费用、路途时间、游览景区、每个景区的游览时间)。

(3)能否在第二问所建立的模型基础上加以推广,可以为全国的自驾游爱好者规划设计类似的旅游线路,进而给出常住地在北京市的自驾游爱好者的十年旅游计划;根据上述三问的结果给旅游爱好者和旅游有关部门提出建议。

(4)自2007年3月7日至2015年7月13日,全国旅游景区质量等级评定委员会分29批共批准了201家景区为国家5A级旅游景区。附件6是从国家旅游局官网上收集的国家5A级旅游景区评定的相关信息,附件7给出了国家旅游局官网上收集的国家4A级景区名单,请更为合理地规划该旅游爱好者的十年旅游计划。

5.最优化问题

以2000年全国大学生数学建模竞赛B题《钢管订购和运输》为例,这是一个典型的最优化问题,原题目如下。

2000年B题 钢管订购和运输

要铺设一条的输送天然气的主管道,如图1-7所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原来有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的阿拉伯数字表示里程(单位为km)。

▲图1-7 《钢管订购和运输》题目原图一

为方便计算,1km主管道钢管称为1单位钢管。

一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂Si在指定期限内能生产该钢管的最大数量为Si个单位,钢管出厂销价1单位钢管为pi万元,如表1-2所示。

表1-2 《钢管订购和运输》题目原表

1000km以上每增加1km至100km运价增加5万元。

公路运输费用为1单位钢管每公里0.1万元(不足整公里部分按整公里计算)。

钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。

(1)请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。

(2)请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。

(3)如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情形给出一种解决办法,并对图1-8按(1)的要求给出模型和结果。

▲图1-8 《钢管订购和运输》题目原图二