1. 引言
大数据人工智能已经成为新时代国民经济和社会发展的关键核心技术 [1] 。2015年9月国务院印发的《促进大数据发展行动纲要》指出,加快大数据部署、深化大数据应用是推动政府治理能力现代化的内在需要和必然选择。随着大数据产业的迅速发展,各行各业对大数据人才的需求逐步上升。为了应对大数据人才需求旺盛与供应短缺的问题,国内许多高校都开设了数据科学与大数据技术专业,截止2021年2月,全国共有730所高校设立数据科学与大数据技术专业 [2] 。作为一个新兴的专业,数据科学与大数据技术专业的目标是培养多学科交叉融合、解决大数据产业新问题、引领大数据未来技术的大数据人才。数据科学与大数据技术专业与生俱来的多学科交叉融合特点,对高校的教育教学提出了巨大的挑战,如何培养适应经济社会发展的大数据人才成为各大高校急需解决的关键问题 [3] [4] [5] 。
数据分析是大数据人才必须具备的一项专业核心能力,一个合格的数据科学工作者必须具备坚实的数据分析知识,熟练掌握和使用各种数据分析工具 [6] 。机器学习是指使用计算机从经验数据中,发现数据内在的发展和变化规律,从而模拟或实现人类的学习行为,以获取新的知识或技能 [7] 。当前,机器学习已经成为大数据分析的关键技术,机器学习课程也成为数据科学与大数据技术专业一门重要的专业课程,对大数据人才培养具有至关重要的作用。
重庆邮电大学面向国家建设的重大战略和重庆市大数据智能化产业发展需求,推进“重庆市大数据智能化实验场所、人才高地、科技高地”重要战略部署。2018年3月重庆邮电大学计算机科学与技术学院设立数据科学与大数据技术专业,以服务社会经济发展,面向信息行业,培养大数据领域高素质卓越工程人才为专业培养目标。在专业人才培养过程中,我们发现机器学习课程的教学存在以下三个方面的问题:(1) 前导课程基础薄弱,理论讲解起点高,学生难以理解,造成学生对基础理论缺乏兴趣;(2) 学生编程能力参差不齐,机器学习实践能力差,无法达到理论与实践的有机结合;(3) 机器学习课程内容缺少与数据分析具体应用场景的有机结合,实践案例缺乏专业针对性。为此,从课程内容、教学方法和课程考核三个方面对数据科学与大数据技术专业的机器学习课程教学进行了深入的探索和研究,提出了建设涵盖基础理论、基本编程能力和综合实践能力培养的机器学习课程群建设方案。在课程内容设置上,机器学习课程群包含机器学习数学基础、Python编程基础、机器学习算法模型和机器学习综合实践四个模块,循序渐进、逐步深入地培养学生使用机器学习理论和技术解决实际数据分析问题的能力。在教学方法上,采用朋辈学习、分组互动讨论、案例框架等方法,以学生为主体,以解决实际问题为主线,充分调动学生的学习热情和主动性,培养实践创新能力。在课程考核上,构建了“分层评价,课赛一体”的课程考核机制,从课堂任务、课后拓展、期末考试、综合实践项目以及学科竞赛获奖多个维度对学生学习的全过程进行科学合理的评价,让学生学有所得,学有所获。经过五年的长期探索和实践,我校数据科学与大数据技术专业在机器学习课程教学和大数据人才培养方面都取得了显著的成绩,专业本科生在CCF大数据与计算智能大赛、中国高校计算机大赛——大数据挑战赛等国内高水平大数据学科竞赛不断取得优异的成绩,验证了我校数据科学与大数据技术专业在机器学习课程建设和大数据人才培养上的成效。
2. 机器学习课程建设方案
课程是高等学校人才培养的出发点与归宿,决定人才培养的质量。课程建设是高校教学基本建设的重要内容,是提高教育质量的重要环节,也是大学内涵发展的重要抓手 [8] 。为了解决大数据人才培养中机器学习课程教学面临的主要问题,提出了机器学习课程建设方案。本节将从机器学习课程教学内容、教学方法和课程考核三个方面详细介绍机器学习课程建设方案。
2.1. 课程内容
机器学习是一门理论与实践并重的专业核心课程,对基础理论知识和实践动手能力的要求都非常高。在基础理论知识方面,机器学习涉及微积分、高等代数、统计学、概率论、优化理论、信息论等多学科的交叉融合。在实践动手能力方面,机器学习对程序设计、算法设计与实现等计算机应用能力的要求高。现有的机器学习课程资源大致可以分为两大类:一类是注重机器学习理论的系统介绍,忽略机器学习算法模型的实践;另一类侧重实践,起点较高,专业领域较强,学习难度大,不利于学生理解,难以激发学生的动手实践的热情和兴趣。作为数据科学与大数据技术专业重要的专业核心课程,机器学习课程建设应该主动适应“新工科”建设需要,以立德树人为引领,以实践能力和创新能力为核心,培养具有宽阔视野、多元化、创新引领的卓越工人才 [9] 。为此,结合我校数据科学与大数据技术专业的人才培养目标定位和专业特色,对机器学习课程群的课程内容进行了优化。
机器学习课程群由机器学习数学基础、Python编程基础、机器学习算法模型、机器学习综合实践四个模块组成。在课程设置上,将这四个模块统一归属到一门课程,课程名称为《机器学习理论与实践》,总计六学分,104学时,分为上下两个学期。上学期的课程内容包括机器学习数学基础、Python编程基础以及机器学习算法模型,其中机器学习数学基础和Python编程基础各一个学分和16个学时,机器学习算法模型两学分和32学时。下学期的课程为机器学习学习综合实践,两学分和40学时。课程以循序渐进、逐步深入的方式开展,学生在通过机器学习数学基础和Python编程基础两个模块的考核后才可以进入到机器学习算法模型的学习,且在通过机器学习算法模型的考核后再进入机器学习综合实践模块的学习,学生在通过所有的课程模块的考核后才能获得《机器学习理论与实践》课程的六个学分。《机器学习理论与实践》课程各模块的设置如表1所示。

Table 1. Modules of “Machine Learning Theory and Practice” course
表1. 《机器学习理论与实践》课程模块设置
在课程内容选取上,机器学习数学基础模块遵循简单适用原则,教学内容包括:极限与连续、导数与微分、偏导数与梯度、多元函数极值、向量与矩阵运算、矩阵分解、二次型、随机变量与随机过程、概率分布、参数估计与随机采样、随机过程、信息熵、凸优化方法、多目标优化、图及其算法等,该模块的教学目标是让学生掌握准确理解机器学习算法模型所需要的主要数学知识。Python编程基础模块强调基本编程素养的训练,主要内容包括:基本数据类型及运算、流程控制、函数、面向对象、NumPy数组及运算、Pandas数据预处理和分析工具,该模块的教学目标是让学生迅速掌握程序设计、数据处理、数据分析的基本编程能力,夯实机器学习实践创新的编程基础。机器学习算法模型以继承与创新为途径,主要内容包括:线性模型、决策树模型、神经网络模型、贝叶斯模型、EM算法、聚类、降维、深度卷积神经网络、循环神经网络、注意力机制、图神经网络、对比学习、无监督学习、小样本学习、大模型等,该模块的教学目标是让学生从经典的机器学习算法模型开始,逐步深入到机器学习前沿技术,并在学习过程中逐渐培养创新意识。机器学习综合实践紧扣专业培养目标和特色,面向不同类型的数据,以数据分析任务为主题,主要内容包括:结构化数据分析、时间序列数据分析、自然语言处理、计算机视觉、图数据分析五个主题,该模块的教学目标是让学生掌握使用机器学习与深度学习算法模型处理不同类型数据分析任务的能力,并且在实践过程中锻炼创新思维和创新能力。
机器学习课程的内容设置如图1所示,课程内容体现了理论与实践的有机结合,机器学习数学基础和机器学习算法模型两个模块的内容为学生创新能力培养打下了坚实的理论基础,Python编程基础和机器学习综合实践两个模块,从基本的程序设计能力入手,循序渐进地引导学生应用机器学习理论知识解决数据分析实际问题的能力,并在这个过程中激发学生的创新精神。课程内容由浅入深、由易到难、逐步分解,解决了由于机器学习理论知识繁多、实践难度大造成的学生学习积极性不高的问题。此外,课程内容紧紧围绕数据分析这个核心能力,所有模块的内容的最终落脚点都是培养学生应对不同类型数据分析任务的能力,体现了“产出导向”的工程教育理念。

Figure 1. Teaching contents settings of different modules in machine learning course
图1. 机器学习课程各模块教学内容设置
2.2. 教学方法
机器学习课程的教学目标是培养学生在大数据分析方面的实践和创新的能力。为此,在课程的教学过程中,始终坚持“学生中心、产出导向”的工程教育理念,以学生作为课堂的主体,根据学生的兴趣特点进行教学方法的设计,灵活应用分组报告、任务驱动、朋辈学习、框架式拓展教学等课堂组织形式,充分调动学生学习积极性,在解决实际问题的过程中启发学生自主思考,鼓励学生进行创新。
在机器学习数学基础模块,大部分内容学生已经在其他课程(例如,高等数学、线性代数、概率与数理统计)中已经接触过,具有一定基础,但是由于时间跨度比较大,遗忘较多。为此,在机器学习数学基础模块的教学中,采用分组报告的方式,课前由任课教师指定主题内容,由学生分组课下自学,学生课堂上做报告和交流,回答同学和教师的提问题,最后由任课教师做总结,梳理关键知识点,介绍主题内容在机器学习领域的具体应用。此外,为了帮助学生更好地准备主题报告,教师在课前提供关于主题内容的教学视频、MOOC资源,让学生在课下自学的过程中更好地理解主题内容。在机器学习数学基础模块采用分组报告的方式开展课堂教学具有三个方面的优势:(1) 相比于传统的教师主导的课堂教学,以学生为主体的课堂教学更有利于学生发挥主观能动性、激发学生的学习热情,解决学生对枯燥理论知识的厌学问题;(2) 通过学生的报告和交流,教师更容易发现学生在掌握知识点上存在的问题,更有利于教学效果的提升和教学目标的达成;(3) 通过学生自学和教师课堂总结,更有利于学生建立抽象的数学知识和机器学习实际问题之间的联系,有利于激发学生的创新思维。
在Python编程基础模块,课程的教学注重学生编程能力和算法设计能力的培养。课程教学采用任务驱动和朋辈学习的方式,分Python基础语法学习和Python算法设计两个阶段。在Python基础语法学习阶段,教师提供学习参考资料和教学视频,学生课下自行完成基础语法的学习,教师安排助教定期答疑。学生在掌握Python的基本编程语法之后,进入到Python算法设计环节,由教师在每次课堂教学前发布算法设计任务,学生分组开展算法设计与实现,并为每组配置一位助教,帮助学生完成算法设计与实现任务,课堂上学生介绍算法的设计思路和实现方法,展示算法设计与实现的结果,通过学生之间的交流讨论、互评以及教师的点评,选出每次任务的优秀案例编入课程优秀案例库。采用任务驱动和朋辈学习的教学方法不仅可以让学生主动思考、激发创新潜力,还可以锻炼学生的团队协作能力,培养学生良好的个人素质和科学素养。
在机器学习算法模型模块,不仅要求学生能够应用机器学习数学基础模块学习的数学知识进行机器学习算法模型的理论推导,还要求学生能够使用Python编程语言实现算法模型,并完成一些简单的机器学习任务。由于本模块课程的教学强调理论与实际的结合,在实际课堂教学中,分两个阶段进行,第一个阶段以教师引导学生完成机器学习算法模型的理论推导过程为主,其中穿插算法模型实现重要知识点的讲解,第二阶段以学生实际动手为主,教师设计算法模型实现的基本框架,供学生参考,学生根据算法模型设计的流程和理论推导,实现算法模型,并完成教师指定的机器学习任务。每次课堂教学的最后教师会设置一个拓展任务,针对课堂教学内容,激励学生发挥创新思维,改进算法设计与实现方法。以决策树模型为例,课堂教学方法的设计如表2所示。在机器学习算法模型模块,课堂教学将机器学习算法模型设计与算法模型实现有机结合,不仅可以达到理论联系实际的教学效果,帮助学生深刻理解机器学习算法模型,锻炼机器学习实践能力,还能够让学生通过机器学习任务解决过程,完善知识结构,收获学习信心和成就感。
在机器学习综合实践模块,教学的目标是让学生掌握使用机器学习、深度学习算法模型解决不同数据类型场景下数据分析任务的能力。课程教学采用框架式拓展教学方法,针对具体的数据分析任务,教师讲解任务的背景,分析完成数据分析任务需要解决的关键问题,设计数据分析任务的基本框架,提供一个基线模型,梳理完成数据分析任务的关键步骤。课程要求学生分组完成实践任务,在基线模型的基础上进行拓展,通过查阅相关领域的研究进展,改进或设计新的解决方案,以更好地解决问题。由于课程内容对学生综合能力的要求较高,为了帮助学生顺利完成实践任务,每个组配置一名研究生助教,组织和指导学生进行解决方案的改进或设计。在学生分组完成实践任务之后,课堂邀请优秀解决方案进行分享,并编入课程优秀案例库。

Table 2. Instructional design in machine learning algorithms and models-taking decision tree as an example
表2. 机器学习算法模型模块教学设计——以决策树为例
2.3. 课程考核
课程考核和学业评价方式设计是课程建设的重要环节,尤其是在像机器学习这类理论与实践并重的课程中,构建科学合理的课程考核方式尤为重要,不仅直接关系到学生课程成绩评价和课程目标达成度评估,更发挥着引导和激励学生认真完成教学内容,开展实践创新的作用。针对机器学习课程群具有的多学科交叉融合、理论与实践并重的特点,制定了“分层评价、课赛一体”的全过程课程考核方式。
《机器学习理论与实践》课程考核体系及课程成绩组成如表3所示。由于学生在数学基础和编程能力方面存在较大的个体差异,在课程教学过程中,允许部分已经具备了良好的数学基础和编程能力的学生免修机器学习数学基础和Python编程基础两个前置模块的课程。为此,在机器学习理论与实践(上)的第一次课安排随堂测试,测试成绩在85分及以上的学生可以免修机器学习数学基础和Python编程基础,直接进入到机器学习算法模型模块的学习,学生在免修模块的成绩由随堂测试成绩认定。允许有良好理论基础和编程基础的学生免修部分课程主要是为了激励学生在机器学习实践能力和创新能力训练方面投入更多的时间,取得更好的成绩。在Python编程基础、机器学习算法模型和机器学习综合实践模块,特别设置了优秀案例和拓展任务,目的是在照顾大部分学生完成基本课程内容学习的同时,鼓励学生进行更深层次的实践和创新。在机器学习综合实践模块,课程考核分为A/B两种模式,A模式要求学生完成课堂实践任务和教师指定的期末综合实践项目,并通过拓展任务和优秀案例,鼓励学生发挥创新能力,更好地完成课程内容。B模式为“课赛一体”的考核方式,鼓励学生参加大数据学科竞赛,应用课程所学知识解决大数据实际应用问题的实践创新能力。B模块中大数据学科竞赛仅限三项高水平大数据竞赛:CCF大数据与计算智能大赛、中国高校计算机大赛—大数据挑战赛、全球人工智能技术创新大赛—算法挑战赛,参赛获奖直接认定课程成绩,参赛但未获奖者按照A模式中期末综合实践项目的要求进行考核。

Table 3. Assessment system and grad composition of “Machine learning theory and practice” course
表3. 《机器学习理论与实践》课程考核体系及成绩组成
课程考核充分考虑学生的个体差异,分层次多维度考核,精准控制课程教学和考核难度,保障课程教学计划的顺利实施的同时,以“鼓励”提升教学质量,以高水平大数据竞赛将课程教学与行业实际应用深度融合,鼓励学生学以致用,引导学生结合产学需求,面向大数据行业进行实践和创新,在课程学习的过程中,收获知识、锻炼能力、增强信心、积累成果。
3. 机器学习课程建设成效
机器学习课程的建设始终坚持“学生中心、产出导向”的工程教育理念。在课程体系和课程内容的设置上,注重理论联系实际和多学科交叉融合,紧跟技术前沿,以继承与创新为途径,培养多元化、创新型卓越工程人才。在教学方法上,始终把学生放在课程教学的中心,从解决“学生需要学什么知识,如何帮助学生学好知识”两个核心问题为抓手,合理运用多种教学手段,高效地培养学生的工程实践能力、创新能力以及面向未来应对变化的能力。在课程考核上,采用“分层评价、课赛一体”的全过程考核方式,在完成课程基本内容的同时,鼓励先进,塑造榜样,激励奋进,潜移默化地培养学生的社会主义核心价值观、科学家精神和工匠精神。我校数据科学与大数据技术专业于2018年首次招收本科生,2019年开始机器学习课程的教学,经过多年的教学实践、探索和改革,形成了完善的机器学习课程教学体系,培养了一批创新能力强、掌握先进技术、适应产业发展需要的大数据工程人才。我校数据科学与大数据技术专业本科生参与数据工程、程序设计、大数据应用系统设计与开发等领域创新创业实践活动和大数据学科竞赛,获奖300余项(国家级奖项100余项),在代表国内高校最高水平的大数据算法竞赛中取得优异的成绩,部分获奖情况如表4所示。本专业学生在高水平大数据算法竞赛中取得的优异成绩,从大数据人才培养的输出端验证了专业人才培养以及机器学习课程教学的成效。

Table 4. Awards in big data related advanced competitions
表4. 专业学生在高水平大数据竞赛的获奖情况
4. 结语
数据已经成为国家基础性战略资源,大数据对世界各国的经济运行、社会生活以及国家治理都产生了深远的影响。数据分析是从大数据中发现有价值的信息,是大数据人才必须具备的核心能力。机器学习作为数据分析的主要工具,对大数据人才的培养具有十分重要的意义。本文围绕大数据人才培养目标,针对当前机器学习课程教学中的突出问题,提出了面向数据分析能力培养的机器学习课程群建设方案,从课程体系和课程内容设置、教学方法创新、课程考核方式优化等方面介绍了方案的具体实施程过。最后通过专业学生在高水平的大数据学科竞赛中获奖成绩,验证了课程建设的成效。
基金项目
本文得到重庆市高等教育教学改革项目“基于ModelArts平台的大数据实践教学体系改革研究(213156)”、“学练赛思四维模式下新工科大数据专业实践人才培养体系建设(233210)”、重庆邮电大学教育教学改革研究项目(XJG21224, XJG23105, XJG23229)的资助。