APP下载

基于Python语言的“人工智能”课程教学改革研究

2020-04-20王新良马耀博

科教导刊 2020年2期
关键词:机器学习案例教学人工智能

王新良 马耀博

摘要 为了提高“人工智能”课程的教学质量和效果,激发学生的学习兴趣,促进学生找到行之有效的学习方法,从而加强对本门课程的掌握程度。本课题基于Python语言语法简单、使用便捷的特点,以人工智能领域中的机器学习为案例,结合Python中主流的人工智能算法库,实现了基于Python的机器学习。案例教学能让学生深入浅出地理解人工智能的本质,使学生对该课程有更加全面和深刻的认识,同时也能进一步提高教师的教学质量。

关键词 人工智能 Python 机器学习 教学改革 案例教学

中图分类号:G424                                   文献标识码:A    DOI:10.16400/j.cnki.kjdkz.2020.01.067

Teaching reform of "Artificial Intelligence" Based on Python Language

WANG Xinliang, MA Yaobo

(School of Physics and Electronic Information, Henan Polytechnic University, Jiaozuo, Henan 454000)

Abstract In order to improve the teaching quality and effect of the course of Artificial Intelligence, stimulate students' interest in learning, and promote students to find effective learning methods, so as to strengthen the mastery of this course. Based on the simple grammar and convenient use of Python language, this paper takes machine learning in the field of artificial intelligence as an example, and combines the mainstream artificial intelligence algorithm library in Python to realize machine learning based on Python. Case teaching can make students understand the essence of AI deeply and shallowly, make students have a more comprehensive and profound understanding of the course, and at the same time, it can further improve the teaching quality of teachers.

Keywords Artificial Intelligence; Python; machine learning; teaching reform; case teaching

0 引言

人工智能是计算机科学延伸出的一个学科,它希望研究出一个能像人脑思考的机器。[1]人工智能涉及学科广泛,具体涉及但不限于计算机科学、数学、统计、概率论、信息学、心理学等。[2]2018年3月,教育部批准35所高校首设人工智能本科专业,[3]此后,众多高校也开展人工智能相关课程。因人工智能所涉及的知识众多、理论性强、数学基础和逻辑能力要求高等特点,教师在该课程上的教授上不能按照传统的教学方式进行教学。在高校的传统教学中,程序设计语言多选择C/C++或Java。[4]但随着人工智能的发展,Python开发语言越来越受人工智能研究开发人员的青睐,究其原因,是因为Python中封装了丰富的人工智能算法库,且Python具有上手简单,操作简便的特点,因此,它成为人工智能学习的一大利器。[5]在教学工作中,教师基于Python开发语言,以人工智能中的机器学习为案例,开始无需从具体的算法原理着手,而是先借助Python以及其封装的人工智能相关算法库,以此来学习机器学习的逻辑,进而可以看到算法实现的结果,以此来激发学生探索和学习的兴趣,最后再具体地向学生讲授人工智能的相关算法及其思想。

1 人工智能课程教学要点

1.1 Python概述及其用于人工智能学习的优势

Python语言优点众多,其语法简单、应用领域广泛、具有高度可扩展性和可移植性等特点。Python作为当前最主流最适合人工智能研究开发的语言,且对于有一定編程基础的学生来说,是学习人工智能的不二选择。人工智能本身是一个涉及范围广、内容较为枯燥抽象的学科,这对于初次接触人工智能的学生并不友好。但在Python中,有专门的适用于人工智能学习的标准模块和包,这些模块中又封装了现成的用于人工智能研究学习的经典数据集以及人工智能算法源码。学生刚开始学习人工智能课程时,在不熟悉算法思想的情况下,也可以轻松调用相关算法模块,实现预期的结果,继而以果溯因,去学习具体的算法思想。

1.2 朴素贝叶斯算法概述

在人工智能的授课中,机器学习中的分类问题是一个较为热门且较于理解的理解的问题。分类问题中的朴素贝叶斯算法对有一定数学基础的学生而言,原理逻辑也较为清晰,以此为案例进行讲授也便于学生理解和接受。

朴素贝叶斯是基于贝叶斯定理实现的一个经典的分类算法。该算法的原理是针对给定的一组数据,假设有n个独立的属性,则先计算训练集中的n个独立属性的联合概率分布,得出学习模型,然后对给定的测试输入x,通过模型学习,即通过贝叶斯定理计算出后验概率分布,较大的输出y对应的类即为x的所属类,以此来完成分类任务。朴素贝叶斯算法描述如表1所示。

2 案例教学在人工智能课程中的实现

该算法案例使用的数据集为机器学习中经典的鸢尾花数据集,用Python列表操作取出鸢尾花数据集特征空间中的后两个维度,构成二维数据,以便于二维平面图像的绘制。此外,需要导入numpy库用于多维数组和矩阵的相关计算;导入sklearn库中的naive_bayes模块,并选用高斯朴素贝叶斯分类器GaussianNB作为朴素贝叶斯分类算法的分类器;使用matplotlib库作为数据集相关图形的绘制。

以上数据集已经构建完成。在本案例中,首先需要对该数据集划分为训练集和测试集,该划分使用sklearn库中的model_selection模块中的train_test_split()方法完成,该方法将传入数据集和数据对应的标签数据集划分为训练集(x_train)、训练集标签数据集(y_train)、测试集(x_test)、测试集标签数据集(y_test)四个数据集合,该方法的参数test_size用于设置测试集的大小,本案例设置其大小为30。数据集分割完毕,接着使用GaussianNB中的fit( )函数对x_train和y_train进行训练,得出训练模型,然后基于该模型使用predict( )函数对x_test进行预测,得出测试集预测标签值列表pre_y。接着,完成数据的可视化,该过程首先先产生区域图的划分和绘制,区域图由x_train和y_train训练产生,区域图划分的准确度取决于训练数据的数据量,本案例中,在特征空间的x轴和y轴方向分别采样250个样本值,采样值的个数影响着区域边缘的平滑度和样本点的离散程度,接着使用numpy库的linspace方法对样本值在特征空间中进行均匀分布;使用numpy库的meshgrid方法生成网格采样点,该方法的参数即为上述linspace方法的返回值。绘图部分由matplotlib的scatter方法完成,该案例中,图像需要展示的信息包括格点预测数据、训练集数据、测试集预测数据,其中格点预测数据也是基于上述的预测模型中的predict()函数来实现,该部分预测数据构成了区域图。最终朴素贝叶斯分类结果如图1所示。

从图1中可以看出,训练集和测试集的数据的分类基本无误,但也有误差,如图中箭头和圆标记的数据点,该数据点为Versicolour测试集中的点,按照朴素贝叶斯算法的预测,预期结果应该是该点应归类于中间区域,但实际在右上区域,这就产生了误差,本案例的误差在可接受范围内。

3 总结

本文通过在人工智能课程中引入Python机器学习的案例,讓学生直观快速地收获到机器学习的成果,激发学生的兴趣,从而执果求因,避免了因人工智能课程的生涩难懂而造成学生望而却步的局面。教学过程中使用的案例是人工智能领域较为简单经典的案例,让学生轻松地上手,进而平缓地向更加深入的课程过渡。因此,使用Pyhton案例进行人工智能的教学,一方面提高了教学的质量,另一方面,符合时代发展的趋势,具有一定的意义。

基金项目:2018年教育部-奥鹏教育产学合作协同育人项目,项目编号:201801044003;

2018年河南理工大学新工科建设研究与实践项目,项目名称:高校在线网络学习平台教学实施效果分析与研究

参考文献

[1] 李丹.人工智能课程教学改革探讨[J].钦州学院学报,2016.31(10):64-67.

[2] 赵佳,孙刚.面向人工智能的信息管理与信息系统专业教学改革[J].电脑知识与技术,2017.13(10):127-128.

[3] 35所高校人工智能专业获批  百所院校建配套专业[J].中国包装,2019.39(06):90.

[4] 秦科,刘贵松.面向Python应用的大学教学改革初探[J].计算机教育,2017(09):21-25.

[5] 韩志豪.人工智能背景下的Python教学探索[J].计算机时代,2018(07):76-81.

猜你喜欢

机器学习案例教学人工智能
2019:人工智能
人工智能与就业
数读人工智能
基于网络搜索数据的平遥旅游客流量预测分析
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究
案例教学在机械创新设计课程中的应用
马克思主义基本原理概论课案例教学的几点思考
EXCEL在《投入产出法》案例教学中的应用
《运筹学》教学模式探讨