人工智能专业数学基础课教学的研究
2021-11-20吴迪
吴迪
【摘要】 在充分考虑人工智能专业特点的基础上,本文对人工智能专业数学基础课的教学进行了研究和探讨,特别是高等数学、线性代数、最优化方法和数理统计四门数学基础课.
【关键词】人工智能专业;高等数学;线性代数;最优化方法;数理统计
【基金项目】国家自然科学基金,2021年1月(62006149);陕西省自然科学基金,2020年1月(2020JQ-403)
一、引言
近年来,全国百所高校新增了人工智能本科专业,该专业对数学基础的要求较高.因此,该专业的数学基础课教学受到广泛的关注,是一个重要研究课题.
“机器学习”是学生选修最多的信息类专业课之一,被认为人工智能专业最核心的课程,是人工智能专业对数学基础要求最高的课程之一.“最优化方法”(以下简称“优化”)和“数理统计”是机器学习课重要的先修数学课;“高等数学”(以下简称“高数”) 和“线性代数”(以下简称“线代”)是优化课和数理统计课重要的先修数学课.
对于人工智能本科专业的二年级学生,笔者已经讲授优化课.笔者在教学过程中发现数学课和机器学习课的衔接存在问题.为了改善此情况,教师应根据机器学习课的要求对数学课的教学内容进行调整,并根据优化课和数理统计课的要求对高数课和线代课的教学内容进行调整.
为了更加深刻地理解机器学习的本质,多数选修机器学习课的学生希望教师补充与机器学习有关的数学基础知识.由于人工智能专业数学课的设置充分考虑到机器学习课的要求,本文的内容可为这些学生提供参考.
全国高校新增了大量与人工智能相关的本科专业,如智能感知工程、智能交互设计和智慧交通.这些专业的部分课程与人工智能本科专业相近,因此,本文对这些专业的教师和学生有参考价值.
二、人工智能专业数学课的设置
在笔者所在学院,人工智能本科专业是在计算机科学与技术本科专业的基础上发展而来的,继承了计算机科学与技术本科专业的相关课程,包括四门数学课(高数、线代、概率论和离散数学).
针对人工智能本科专业,笔者所在学院新开设了机器学习、数据挖掘、计算机视觉、深度学习等课程.机器学习是数据挖掘、计算机视觉、深度学习等新开设课程的重要先修课程.机器学习课程被认为这些新开设课程中最核心的课程,是这些新开设课程中对数学基础要求最高的课程之一.因此,笔者所在学院建议教师根据机器学习课程的要求对数学课的设置进行调整.
除了从计算机科学与技术本科专业继承的四门数学课外,还有多门数学课与机器学习高度相关.这些数学课可粗略分为两类:“数值类”和“统计类”.数值类课程有数值优化、数值计算方法和统计计算;统计类课程有数理统计、多元统计、随机过程、贝叶斯统计和统计计算.需要注意的是,统计计算既在数值类课程中,又在统计类课程中.另外,为了方便讨论,本文将随机过程课归入统计类.
笔者建议在计算机科学与技术本科专业继承的四门数学课的基础上,进一步开设与机器学习相关性较高的两门数学课,即一门为数值类课程,一门为统计类课程,具体有如下两个原因:第一,由于考虑到学时的限制,笔者建议新开设的数学课不超过两门.第二,由于机器学习课中既用到大量数值类课程的思想,又用到大量统计类课程的思想,数值类课程和统计类课程尽可能都开设.
笔者建议开设的数值类课程为优化课,而开设的统计类课程为数理统计课,具体有如下三个原因:第一,在数值类课程中,教师一般认为优化对机器学习课最重要.第二,在统计类课程中,教师一般认为数理统计和多元统计对机器学习课最重要.第三,数理统计是多元统计、贝叶斯统计和统计计算的先修课程,因此,在这四门课程中,教师一般优先考虑开设数理统计课.
为了保证机器学习课的教学,教师在优化课和数理统计课中可适当补充其他与机器学习相关的数学知识.另外,数学课和机器学习课讲授的内容之间相关性高,因此,数学课和机器学习课的授课教师之间应充分沟通,避免课程讲授内容的不协调.
下面分别介绍人工智能专业高数课、线代课、优化课和数理统计课的教学安排.
三、人工智能专业高数课的教学
在人工智能专业的课程中,优化课被认为对高数要求最高的课程,因此,高数课的开设应充分考虑优化课的要求.优化课和机器学习课中常用到多元函数微分和向量值函数微分.因此,笔者认为在高数课中可适当加强对这部分内容的讲授.
多元函数微分是优化课的重要基础.多元函数的方向导数与梯度是最速下降法、共轭梯度法等的基础;多元函数的泰勒公式是牛顿法、拟牛顿法等的基础.因此,在高数课的教学过程中,教师应更重视对这部分内容的讲授.
高数教材通常将向量值函数微分作为选修内容,而且教师一般不对其进行讲授.然而,优化课和机器学习课常用到向量值函数微分,如神经网络的算法推导用到向量值函数微分.因此,教师应在高数的教学过程中讲授向量值函数微分的内容.
如果课时允许,那么教师还可以在高数课中补充范数和泛函数的基本内容,这些知识与机器学习课和优化课的相关性较高,如KL散度和变分推断法就用到泛函数的思想.
四、人工智能專业线代课的教学
数理统计课、优化课和机器学习课中常用到矩阵、二次型和线性变换的相关内容.因此,笔者认为在线代课中可适当加强对这部分内容的讲授.
矩阵是人工智能专业课程中的重要概念,也是二次型和线性变换的基础.在数理统计课中,协方差矩阵是教学的重点和难点.在优化课中,黑塞矩阵是最优性条件、牛顿法和拟牛顿法的基础.
二次型是数理统计课和优化课的重要基础.在数理统计课中,正态分布的概率密度函数用到二次型.在优化课中,共轭梯度法、牛顿法和拟牛顿法用到二次型.
线性变换是数理统计课和机器学习课的核心之一.在数理统计课中,教师常用线性变换将一般正态分布变为标准正态分布.在多层神经网络中,相邻隐含层关系的构建用到线性变换.
五、人工智能专业优化课的教学
在充分考虑机器学习课要求的基础上,本文具体介绍了人工智能专业优化课的教学安排.优化课中通常包括以下三个方面的内容.
(一)教材选择
在人工智能专业中,为了保证先修课程和后续课程的开设,机器学习课常在本科三年级第一学期开设.优化课的开设一般早于机器学习课且晚于高数课,因此,优化课一般在本科二年级开设.教材选择对优化课教学的开展至关重要,下面将分别讨论三类常见的优化课教材.
第一类优化课(常称作“运筹学”)教材主要针对经济和管理专业的学生,其中的大部分内容与机器学习课的相关性较低,因此,笔者认为这类教材不太适合人工智能专业.
第二类优化课教材主要针对工科专业研究生和数学专业本科生,其对数学基础要求较高且难度较高.在人工智能专业中,低年级学生的數学基础一般且理解程度有待提高,因此,笔者认为这类教材不太适合人工智能专业.
第三类优化课教材主要针对工科专业本科生,其与机器学习课的相关性较高,对数学基础要求适中且难度适中,因此,笔者认为这类教材适合人工智能专业.
(二)理论内容的教学
笔者在教学过程中发现优化课理论内容的难度高,对数学基础的要求高,在开设过程中遇到的问题一般多于同期开设的数学课.因此,教师应在讲授时放慢节奏且多提问题,让学生有充足的思考时间.
大量机器学习模型的训练要用到优化方法,如神经网络的训练一般用到最速下降法,而支持向量机的训练用到对偶问题的知识.因此,优化课的教学应充分考虑机器学习的要求.
教师可以先重点讲授无约束非线性规划,再重点讲授约束非线性规划.为了帮助学生理解约束非线性规划,教师可以在讲授约束非线性规划前适当讲授线性规划的内容.如果课时有限,那么教师可以不讲授多目标规划问题、离散型优化问题等.
对于线性规划,教师可以讲授几何特征、标准型和对偶问题;对于无约束非线性规划,教师可以讲授教材里的全部内容;对于约束非线性规划,教师可以讲授KT条件、泛函数法和可行方向法.如果课时不够,那么教师可以不讲授泛函数法或可行方向法.
数值计算方法是多门人工智能专业课程的基础.神经网络等很多机器学习模型本质上是在解决函数逼近问题.在优化课、数理统计课和机器学习课中,黑塞矩阵、协方差矩阵等的计算常用到矩阵计算的知识.在数理统计课和机器学习课中,期望等的求解常用到数值积分.在优化课和机器学习课中,梯度等的求解常用到数值微分.因此,教师可以在优化课中补充数值计算方法的相关内容,如函数逼近、矩阵计算、数值积分和数值微分.
智能计算是优化课的重要后续课程,与优化课关系密切,主要讲授一类求解函数极值的方法.如果开设智能计算课,教师就可以不在优化课里补充智能计算的部分内容;如果不开设智能计算课,教师就可以在优化课里补充智能计算的部分内容.
(三)实践内容的教学
大部分人工智能专业的学生将来不是在高校和研究所从事人工智能科学研究,而是在百度、阿里巴巴等公司解决人工智能技术问题,这些公司对学生算法设计和算法实现能力的要求较高.因此,在优化课上,教师应重视算法设计和算法实现内容的教学.
上机实践能训练学生的算法设计能力和算法实现能力,因此,教师有必要在学校机房开设实践课.如果没有条件开设实践课,教师就可以布置实践作业,并让学生在课下完成这些作业.
一些学校要求期末考试成绩的占比不得低于70%,而且一般情况下,期末考试主要考查理论内容.鉴于实践内容难以考查的现状,这些学校实践内容的课时应略少于理论内容.
优化教材通常以Matlab作为编程语言,但对人工智能专业应以Python作为优化课的编程语言,具体有如下两个原因:第一,Matlab软件的购买价格过高.第二,Python是人工智能领域应用最广泛的编程语言,是人工智能专业课程使用最多的编程语言.为了保证教学效果,笔者建议在优化课前开设Python课.
六、人工智能专业数理统计课的教学
在数理统计课中,教师可以补充多元统计、随机过程和贝叶斯统计的相关内容,如多元回归分析、判别分析、聚类分析、主成分分析、马尔可夫链和贝叶斯推断.在优化课或数理统计课中,教师可以补充统计计算的相关内容,如蒙特卡洛方法和期望最大化算法.
统计计算的内容是在优化课中补充还是在数理统计课中补充,要视具体情况而定.如果优化课在数理统计课后开设,那么教师应在优化课里补充统计计算的内容;如果优化课不在数理统计课后开设,那么教师应在数理统计课里补充统计计算的内容.以上安排可保证,在教师讲授统计计算的内容时,这两门课与统计计算相关性高的内容基本讲授完成.
多元统计课、统计计算课和机器学习课研究的对象一般都是多维数据,并且三门课共同关注一些问题,如多元回归分析、判别分析、聚类分析和特征提取(降维).由于三门课的高度相关性,笔者认为在机器学习课前,教师适当讲授多元统计和统计计算的内容是有必要的.
【参考文献】
[1]南京大学人工智能学院.南京大学人工智能本科专业教育培养体系[M].北京:机械工业出版社,2019.
[2]陈爱斌,张钊源.人工智能专业数值分析课程教学研究与探讨[J].计算机教育,2019(10):71-73.
[3]李航.统计学习方法(第2版)[M].北京:清华大学出版社,2019.
[4]施光燕,钱伟懿,庞丽萍.最优化方法(第二版)[M].北京:高等教育出版社,2007.
[5]马昌凤.最优化方法及其Matlab程序设计[M].北京:科学出版社,2010.
[6]盛骤,谢式千,潘承毅.概率论与数理统计(第四版)[M].北京:高等教育出版社,2010.
[7]华东师范大学数学系.数学分析:下册(第四版)[M].北京:高等教育出版社,2010.
[8]北京大学数学系几何与代数教研室前代数小组.高等代数(第三版)[M].北京:高等教育出版社,2007.