1、 第 卷 第 期 年 月:机 器 学 习 工 程 实 践 教 学 探 索王建花,朱 凡,茆 姝(南京理工大学 工程训练中心,南京;浙江海洋大学 船舶与海运学院,浙江 舟山)摘 要:结合高校工程训练课程对机器学习实践的教学情况和企业实施机器学习项目的流程,用贴合学生知识背景的实际案例设计项目式教学流程,引导学生认识应用机器学习解决实际问题的过程,并通过实践数据整理和特征工程两个环节,使学生积累了机器学习项目的实际经验,取得了较好的教学效果。关键词:机器学习;工程教学;特征工程;数据处理中图分类号:.文献标志码:文章编号:(),(,;,):,:;收稿日期:作者简介:王建花(),女,江苏泰州人,博士
2、,工程师,主要研究方向为电子科学与技术、嵌入式系统。:;:引 言目前,人工智能已成为各国新一轮科技和智力领域的必争之地。人工智能的发展依托于算力、数据和机器学习算法等技术的发展,其中机器学习算法是计算机具有智能的直接原因,是促进人工智能发展的核心。年 月,教育部发布的高等学校人工智能创新行动计划(教技()号),提出要围绕新一代人工智能优化学科体系布局,提升人才培养质量,为我国跻身创新型国家前列提供科技支撑和人才保障。各高校都积极开展“新工科”研究与实践,将人工智能与各学科专业教育交叉融合,以建设人工智能课程、建设区域共享型人工智能实践平台、建设多主体协同育人机制等多种形式培养人工智能人才。当前
3、高校人工智能教学中,大多数本科生缺少了解机器学习解决实际问题的流程途径,更缺少机器学习项目实践机会。针对本科生的工程训练实践课程,有必要开设配套于机器学习理论知识的基础实践课程,帮助学生理解利用机器学习方法解决实际问题的流程。机器学习工程 项目流程 认为“机器学习这门学科所关注的问题是:计算机程序如何随着经验积累自动提高性 第 期王建花,等:机器学习工程实践教学探索能”。机器学习的核心价值是通过特定算法分析已知数据,识别隐藏在数据中的可能性,并基于此给出预测或辅助使用者进行决策。机器学习使用企业提供的研发、生产、经营等各方面数据来训练、修正、完善算法模型,再用模型为企业解决实际问题,创造价值,
4、这个流程如图 所示。图 机器学习解决问题的项目流程 在业务领域,企业提出要解决的业务问题,并根据业务知识给出有效的业务模型、数据模型、解决目标等信息。在人工智能领域,用人工智能知识指导进行数据收集、数据处理、特征工程、模型训练等步骤以得到合格的机器学习模型。最后,企业将合格模型用适合业务生产的方式部署,并在专业人员指导下对模型进行运维。这个流程中业务问题能否用机器学习方法解决以及数据适用性评估过程由业务领域和人工智能领域专业人士共同完成。教学现状目前部分高校已开设机器学习类通识教育课或专业课,其中不乏国家级精品课程,这些课程大多以知识体系教学为主,注重教授机器学习的理论知识,而基于项目的工程实
5、践类课程较少,且多数实践案例使用的数据、特征等都是已处理好的。机器学习领域有一个共识:数据和特征决定了机器学习的上限,而模型和算法只是让我们逼近这个上限。可见人工智能教学除了注重理论算法之外,也要注重问题模型建立、数据收集、数 据 处 理、特 征 选 择、模 型 部 署 和 运 维 等过程。部分高校也认识到有必要将人工智能实践项目引入到工程训练课程中,在工程训练课程使用了特定的人工智能平台,借助平台能力完成某个业务领域具体的工程实践,这种工程训练课程针对业务领域内容较多,分散了学生对机器学习工程知识的注意力,也增加了理解难度。高校工程训练教学是衔接学生的理论知识和社会生产的桥梁,有必要在授课过
6、程中尽量完善机器学习工程的完整流程。实践教学课程设计.教学目标为了让学生能更贴近实际问题,本课程选用学生容易理解的企业项目案例,老师和学生一起研究企业业务和数据处理中的各类问题,引导学生经历实际项目全流程,从而达到理论与实践相结合,培养学生解决实际问题的能力。教学中让学生对问题、目标、数据适用性评估、数据收集、数据处理、特征工程、模型训练等过程有了更全面的了解。对于理论课程很少涉及的数据和特征两个方面,着重引入数据整理及特征工程的一些基本方法和手段。学生除了在课堂学习机器学习知识,也可通过参与各种比赛来提高自己。机器学习竞赛是这个领域发展的有效助推剂和交流平台,比较著名的竞赛有、天池等。本课程
7、给学生介绍参加这些竞赛的途径和必须具备的技能,鼓励学生参加竞赛锻炼自己的创造力和才干。.教学内容根据课程教学目标,教学内容以某个企业项目为案例,完成一次完整的机器学习项目流程,并让学生重点实践数据处理、特征工程两个环节,如图 所示。图 项目教学内容及流程 ()问题分析及项目建立。首先向学生展示一个具体的业务问题,引导学生分析问题,寻找解决问题的方法,并判断是否可以用机器学习技术来解决。明确后将问题、目标、解决方案、团队组建、过程计划等以项目的方式运作。()数据处理。确立机器学习项目后,学生进行目标问题的数据处理。此过程将目标问题用数据来表征,可进一步细分为数据适用性评估、数据收集和数据整理三个
8、子过程,如图 所示。数据适用性分析是对第 卷目标问题能否用数据表征、数据能否获得、数据需要具备的质量和规模等方面进行可行性评估,涉及问题的业务领域知识较多,需要丰富的专业知识支撑,这也是数据对机器学习项目重要性的一个体现。数据收集是从生产现场或其他途径获取样本原始数据的过程。数据整理在原始数据中提取有效数据的过程,即根据数据特点和算法要求来整理数据,得到数据集。图 数据处理过程 ()特征工程。特征工程开始于将数据集划分成训练集、测试集和验证集。从数据集中取出少量样本作为验证集,剩余样本进一步分为训练集(大部分样本)和测试集(少量样本)。特征工程就是对数据集的属性进行取舍,进而训练模型达到预期性
9、能。取舍方法因机器学习算法、数据集特点及项目目标等因素而不同,常见的方法有特征选择、特征缩放、特征合成以及特征降维等。有时会因为数据质量、样本数量等达不到算法要求而需要再回退到数据处理过程继续修正数据或补充采集数据样本。()模型训练及评估。模型训练是学生运用训练集、测试集和验证集输出模型的过程。首先采用经过特征工程处理后的训练集来训练模型,再采用测试集对训练出来的模型性能进行测试。如果模型性能未达预期,则需从特征工程或数据处理过程开始重新分析和优化;如果模型性能达到预期,即可用验证集进行模型评估,模型识别的准确性符合预期时项目目标可达成,否则要重新讨论问题模型是否正确、选择的算法是否合适、数据
10、处理和特征工程过程中哪些步骤要改进等。可见,训练过程和验证过程可能会因为无法达到理想效果而回退到特征工程或数据处理过程重新迭代处理。通过上述过程实践,学生了解到人工智能项目的处理流程并不是单向流动的,而是对整理数据、分析、训练、测试、评估过程的多次迭代,直到达到项目目标。.教学实践本课程主要面向对人工智能感兴趣的本科生,由于多数学生在人工智能方面的理论知识较少和实际经验不足,实践课程必须以学生能理解为基础,故教学案例所需的专业知识及讲解的特征工程的方法都是易于学生理解的。通过简单易懂的案例实践,建立学生掌握机器学习的信心。项目建立的教学实践过程本课程引入企业项目“机器学习识别计算系统故障”作为
11、教学案例。目标问题“计算系统故障”对于电子类本科生不难理解,计算系统由软件和硬件组成,在计算系统运行期间,系统会随时对运行状态进行记录,但系统只能片面被动地记录运行状态,要分析出故障的原因则需要专业人员做大量的事后逻辑推理。在此引导学生思考能否用一个机器学习模型,通过系统的运行数据直接分析出故障原因,替代人工分析。事实上只要能够积累足够的故障数据样本,就可以用这些数据样本训练出机器学习模型。系统下次有故障时,将故障数据输入此模型,就能快速识别出是什么类型的故障。通过以上分析和引导,组织学生建立“机器学习识别计算系统故障”项目的目标,即训练出一个机器学习模型来识别系统故障。数据处理的教学实践过程
12、确立项目目标后,即可进行数据适用性分析、数据收集和数据整理,这部分涉及目标问题领域知识较多,学生仍然以理解和思考为主。计算系统运行时会记录日志,日志以文本形式存储到磁盘,内容包括事件发生的时间、各模块运行状态和描述事件的关键字等。比如系统运行期间,某个硬件不稳定,会让使用此硬件的软件模块记录对应失败事件日志。图 展示了一个硬件故障的日志片段。图 计算系统故障日志片段 系统运行一段时间后可以获得大量的日志,找出历史上故障发生的时间,可为这些日志打上具体故障类型的标签。本案例将故障类型分为软件故障、硬件 故障和硬件主板故障。可以根据系统的设计方案将日志中的事件分类为问题相关的属性。本案例中计算系统
13、自动输出日志文件,数据收集过程就是获取每个故障的日志文件。再用 编写程序从日志文件中提取故障时间段的各类事件次数,将其作为对应的属性值记录下来,同时对本故障打上类别标签,这样就完成了一个故障样本数据的整理。从系统运行一段时间保存的数百万条数据中按上述处理,筛选出 个故障样本和 个属性作为本案例的原始数据集,如图 所示。图中数据集列标号 为属性,为样本序号,为每个样本的故障标签。第 期王建花,等:机器学习工程实践教学探索图 数据集信息概况 特征工程的教学实践过程特征工程的目标是构建适合算法要求的数据和改善机器学习模型的性能。为了便于学生理解,本案例通过直接查看 文件或使用 工具来引导学生实践常用
14、的特征选择方法。()异常值和缺失值观察。在数据收集和处理过程中,可 能 会 出 现 数 据 异 常 或 缺 失。的 类型数据的()方法可以呈现每个属性列的最大值、最小值、均值等数值分布情况,而()()方法可查找出数据集中的缺失值。分析出缺失值和异常值后需进行处理。在样本足够多时,可以删除缺失值或异常值的样本。在样本数量不充裕时,一般用、此属性列的中值或均值来填充缺失值或异常值。有时异常值也可以不处理,而选用能容忍异常值的算法。()训练集、测试集和验证集划分。划分样本时,先人工随机从各类样本中各挑选出 个留作验证集,再从剩下的各类样本中各挑选出大约 作为测试集,其余为训练集。在此提前将样本进行划
15、分,还能在后续机器学习中防止信息泄露,即算法在训练时不能提前感知到测试集或验证集中的信息,以保证训练出的模型有最好的泛化效果。实际生产中依据样本情况,可以选用更适合的划分方法,如 折交叉验证法、自助法、留出法等。()样本标签的类平衡性观察。查看数据集样本标签,分析是否存在类不平衡问题。如果数据集中某类样本太少,不满足训练和验证要求,则需要继续收集数据,直至获取到足够的样本为止。如果数据集中每类样本数量足够,只是分布比例严重不平衡,则只需要对训练集采用过采样、欠采样等方法对样本类进行平衡。本案例数据集中 类故障样本的数量比是.,相对平衡,不用实施类平衡方法。()特征选择。在处理完缺失值、异常值和
16、类平衡性问题后,需要再观察训练集各属性的有效性以确定哪些属性作为特征。各属性的统计数值含义为:表示某样本没有此属性;非 表示有此属性的样本个数。故某属性的 数值占比越大,此属性作为特征的有效性越低。所有数值都是 的属性对训练无价值,可删除。大部分数值为 的属性称为长尾属性,为了提高训练速度,在不降低训练性能的前提下,可删除训练集中的 个或多个长尾属性。本案例通过多次尝试对比,选择删除 个长尾属性,对应的耗时数据如表 所示。在大数据集复杂算法的工程中删除长尾属性提升训练速度的效果更明显。表 删除 个长尾属性的训练耗时耗时 未删长尾删除长尾第 次 第 次 第 次 第 次 第 次 模型训练和验证的教
17、学实践本案例为多分类问题,特征较多,选择 算法进行训练。训练和验证流程如图 所示。模型训练过程和专业知识、数据处理、特征工程等密切相关,需通过反复迭代以确保达到理想效果。图 模型训练和验证流程图第 卷 特别地,在本案例训练过程中,发现属性 作为特征的模型性能:训练准确率.,验证准确率为.。属性 不做特征的模型性能:训练准确率.,验证准确率为.。分析发现几乎每个故障在该属性上都有表征,此属性属于预测能力非常差的特征,也应删除。需要注意的是,对训练集数据删除属性时,在对应的测试集和验证集中也需同步删除。结 语本文探索了机器学习教学在面向本科生的基础工程训练课程中的实践。选用学生容易理解的项目案例,
18、引导学生经历项目全流程,着重实践了数据处理及特征工程的一些基本方法和技术。通过基础实践课程的开设,使得更多的学生能实践机器学习项目。在后续教学过程中,可进一步建设机器学习实践平台,引入更多与不同专业相关的实验案例,学生可根据自己专业选择合适的案例实践机器学习工程。参考文献():王甲海,印鉴,凌应标 创新型人工智能教学改革与实践计算机教育,():,教育部 教育部关于印发高等学校人工智能创新行动计划的通知 ():吴 秦,宋晓宁,杨金龙 新工科时代“人工智能”课程教学模式探讨 教育教学论坛,():鹏 鲍,邢薇薇,卢 苇,等 新工科背景下人工智能实践类课程教学模式创新研究 计算机教育,():马 超,石
19、小川,张 典 卓越项目管理体系赋能的人工智能教学改革 软件导刊,():计算机科学丛书:机器学习 曾华军译 北京:机械工业出版社,赵卫东,袁雪茹 基于项目实践的机器学习课程改革 计算机教育,():李晋蓉,张高煜 机器学习实践课程教学改革 科技创新导报,():唐运军,孙舒畅 机器学习中的特征工程方法 汽车实用技术,():杨高明,陆 奎,方贤进 人工智能教学研究探索 教育教学论坛,():孙治博,史成坤,耿向伟,等”人工智能 工程实践”的综合创新训练教学研究 北京航空航天大学学报(社会科学版),():范淼,李超 机器学习及实践 从零开始通往 竞赛之路 北京:清华大学出版社,特征工程入门与实践 庄嘉盛译
20、 北京:人民邮电出版社,周志华 机器学习 北京:清华大学出版社,机器学习实战 李锐等译 北京:人民邮电出版社,四个现代化,关键是科学技术的现代化。没有现代科学技术,就不可能建设现代农业、现代工业、现代国防。科学技术是生产力,这是马克思主义历来的观点。现代科学技术的发展,使科学与生产的关系越来越密切了。科学技术作为生产力,越来越显示出巨大的作用。现代科学为生产技术的进步开辟道路,决定它的发展方向。一系列新兴的工业,都是建立在新兴科学基础上的。当代自然科学正以空前的规模和速度,应用于生产,使社会物质生产的各个领域面貌一新。社会生产力有这样巨大的发展,劳动生产率有这样大幅度的提高,靠的是什么?最主要的是靠科学的力量、技术的力量。摘自邓小平在 年 月全国科学大会开幕式上讲话
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100