网站首页  词典首页

请输入您要查询的论文:

 

标题 人工智能时代背景下Python课程的案例教学研究
范文

    刘永芬 赖晓燕 李盼盼

    

    

    

    摘? 要: 人工智能重在实现机器智能,实现的主要方式是机器学习。基于Python简洁及其強大的人工智能算法库,将机器学习方法融入Python课程的教学中显得尤为重要。让学生领悟方法原理并学会使用,是教学的重点和难点。提出了一种直观简易的机器学习方法与Python课程相融合的案例教学方式,能帮助学生更深刻地掌握Python语言,为他们今后在企业中应用奠定基础。

    关键词: Python; 案例教学; 人工智能; 机器学习

    中图分类号:G642? ? ? ? ? 文献标志码:A? ? ?文章编号:1006-8228(2019)04-89-04

    Abstract: Artificial intelligence focuses on the realization of machine intelligence, and the main way to realize it is machine learning. Because of the simplicity of Python and its powerful artificial intelligence algorithm library, it is very important to integrate the machine learning method into the teaching of Python course. It is the key and difficult point of teaching to let students understand the principle of method and learn to use it. In this paper, a case-teaching method combined intuitive and simple method of machine learning with Python course is put forward, which can help students to master Python language more deeply and lay a foundation for them to use in enterprises in the future.

    Key words: Python; case-teaching; artificial intelligence; machine learning

    0 引言

    当前各国的人工智能政策、计划层出不穷。2017年,我国发布了具有里程碑意义的人工智能发展计划——《新一代人工智能发展规划》[1]。2018 年,教育部制订了《高等学校人工智能创新行动计划》,为我国新一代人工智能发展提供了战略支撑。美国布鲁格林研究机构发布报告认为,现在的企业都是人工智能企业。欧盟计划在人工智能领域设立基准,并发布人工智能伦理指导框架。自此,作为最适合人工智能开发研究工作的 Python 语言受到愈多业界人士的关注。目前,高等教育培养计划中面向计算机专业开设的主要编程语言有C、C++、Java等。在人工智能背景下,Python程序设计在应用型本科教育中有着重要的地位。

    在大数据、云计算、人工智能等技术浪潮的推动下,当代计算机专业的应用型本科生除了要具备基本计算机编程技能,还需要涉猎一定的机器学习方法,以期解决工作中遇到的非通用性计算问题。从目前人才市场的需求来看,具有扎实专业基础和人工智能应用经验的复合型人才更加受到青睐。

    然而人工智能、机器学习等热门词汇对大部分没有实践经验的学生来说,还是比较抽象。人工智能教育尚未全面融入基础教育各学科的教学之中[2]。因此,从应用型人才培养的角度,在Python课程中引入机器学习方法,作为案例教学是不可避免的趋势。

    1 Python课程的教学重点

    1.1 Python的特点

    Python作为计算机专业的选修课程,课程设置通常安排在C/C++课程之后。学生在有一定编程基础的情况下,对编程语言基本的数据类型已经有较深刻地认识。课程伊始,有必要着重描述语言的特点,以及与其他高级语言之间的区别,让学生对课程有初步的认识,有助于形成系统的编程思维体系。

    Python语言简洁易懂,有完善的程序包管理系统pip命令,可便捷地安装与编写程序包。Python提供了丰富的数据分析模块,以高度重用机制、不同平台的可移植性、内置功能强大的标准模块、可与其他语言混合编程,其应用领域相当广泛,涵盖游戏编程、图像处理、人工智能、自然语言分析等。

    对比时下常用的计算机语言,如图1所示,在TIOBE开发语言2018年12月的排行榜[3]中,我们发现Python语言的热门程度从之前的第四上升到了第三,创历史评价指标新高。

    1.2 基本语法

    由于新版本的Python语言与低版本的部分不兼容,建议在教学环节采用新版本Python3的语法结构,常见的数据类型有元组、列表、字典、集合,元组内部元素写在小括号中,元素间用逗号分隔,每个元素的类型可以不同,但是元素不能修改;列表是有序集合,属于“序列”类型,元素写在方括号中,元素的类型可以不相同,可以嵌套使用;字典用大括号标识,是一种映射类型,内部元素以键值对形式出现,关键字(key)必须是不可变类型;集合是一个无序不重复元素的序列,用set()函数或者大括号创建集合,可用于删除重复元素,各数据类型及其实例如表1所示。

    对于计算机专业的学生而言,在具有C++语言基础的情况下,学习Python中的set、dictionary,由于它们与C++标准模板库STL中的set、map容器具有类似的功能,在教学环节可以进行知识点回顾,使学生更容易理解,触类旁通,易学易用。

    1.3 机器学习方法概述

    机器学习本身是一项通过计算手段,利用经验改善系统自身的技术,其目的是基于经验数据运用学习算法产生数据模型,并对新的情况提供相应的判断。机器学习方法有很多,其中比较经典的有聚类分析方法、分类方法、关联分析方法、序列模式分析方法等。

    在Python课程教学过程中,以聚类方法为例,由于K-means、DBSCAN是十分简单的聚类算法,原理非常简明清晰,可以作为教学案例,以下给出这两种方法的简洁描述。

    ⑴ K-means聚类算法

    K-means聚类[4]是常见的划分方法,是1967年MacQueen首次提出的,常用误差平方和函数作为聚类准则函数,在簇与簇之间区别明显的情况下,聚类效果最好。K-means将包含n个数据对象集合划分成k份(k?n),其中每个划分代表一个聚类,算法描述如表2所示。

    表2? K-means算法描述

    [输入:聚类个数k,包含n个样本点的数据对象集合 输出:满足方差最小标准的k个聚类 步骤 描述 Step1 任意选择k个样本点作为初始聚类中心。 Step2 对于其他数据对象采用距离公式度量其到这k个初始聚类中心的相似度,分别将它们分配到最相似的聚类中。 Step3 重新计算聚类中心。 Step4 循環步骤Step2 Step3,直到标准测度函数开始收敛为止。 ]

    ⑵ DBSCAN聚类算法

    DBSCAN算法的显著特点是能够发现空间中任意形状的簇,基于密度的聚类方法通常将簇视为空间中被低密度区域分割开的稠密对象区域。DBSCAN是一种基于高密度连通区域的聚类方法,它将簇定义为密度相连的点的最大集合,将具有高密度的区域划分为簇,具体算法描述如表3所示。

    正整数MinPts,领域半径ε 输出:簇集合C={C1,C2,…,Ck} 步骤 描述 Step1 选取一个样本对象p,根据参数MinPts和领域半径ε提取所有从p密度可达的对象。 Step2 如果p是核心对象,则从p密度可达的所有对象被标记为当前类,并从它们进一步扩展。 Step3 如果p是边界对象Step1,Step2,直到找到所有完整的聚类簇。 Step4 选择新的起始对象开始扩展,得到下一个聚类簇,直到所有对象都被标记为止。 ]

    2 案例教学在Python课程中的应用

    根据Python课程的特点,鼓励学生开发一些小的项目,在实践中增长见识。现有的教材对基础语法和程序设计结构介绍得较多,人工智能方法应用的案例也相对复杂,很容易让学生感到抽象。由于实验课时有限,要在较短的实验课时中掌握更多的知识,还需精心设计实验内容,同时建议增加实践课时,在实践教学环节引入案例,帮学生增强对人工智能算法的深刻理解。

    通过案例教学,将机器学习方法进一步向实际应用推广。在实际的应用中,以电子商务领域为例,通过聚类分析发现具有相似浏览行为的客户,划分不同的客户群,为后续分析同类客户的共同特征,刻画客户群的购买模式提供依据,进而可以更好地帮助电商平台了解客户,向客户提供更适合的服务。

    2.1 常用标准模块

    Python中机器学习相关的标准模块有numpy,pandas,scipy,matplotlib,sklearn等。在实践教学环节,可以着重介绍几个机器学习方法应用常用的标准模块,如numpy,pandas,sklearn等。numpy是一个高性能的科学计算和数据分析的基础包,可用于存储和处理大型矩阵,比Python自身的嵌套列表结构要高效得多。sklearn是广泛应用的重要机器学习库,其中封装了大量的机器学习算法,如分类、聚类、回归、降维等,还包含了监督学习、非监督学习、数据变换三大模块。matplotlib是一个绘图库,可在跨平台上生成直方图、功率谱、柱状图、误差图、散点图等图像,提供了高质量的效果呈现。

    2.2 构建案例数据集

    每一位客户的特征数据,可看作是空间上的一个数据点。简单起见,我们可以通过sklearn快速生成二维空间的样本点,构成聚类分析的数据集,调用make_moons方法生成月牙型离散数据,通过make_blobs方法生成团状离散数据样本点,从方法的名称上很容易理解其功能,也体现了Python标准库方法的直观和良好的阅读感知。构建数据集方法实例如下:

    2.3 实现与结果评价

    通过导入sklearn.cluster 中的K-means类,创建对象调用fit_predict方法实现k-means方法在数据集中的聚类,程序简单易懂。其中创建K-means类对象常用的参数有:n_clusters表示最终K-means方法的聚类数量。random_state表示随机生成器的种子,和初始化中心有关。max_iter表示每次迭代的最大次数。Tol为容忍的最小误差,当误差小于tol,程序退出迭代。具体程序如下:

    3 结束语

    本文通过在Python课程中引入案例,直观地对比两种不同机器学习方法呈现的效果,有助于学生将理论与实际,实际与时代背景相结合,从而提高学习热情,以期达到人工智能领域人才培养的要求。Python语言的特点决定了这门课程需要在教学内容上与时代接轨,教学方法上采用以案例导入的形式避免了枯燥的叙述,将理论融入到实际的热点话题中,提高了学生的学习积极性。因此,以案例促进Python课程与人工智能领域的融合,具有一定的现实意义。希望本文能为计算机类课程的教学人员提供新的教学思路和方法,从而有利于人工智能思想的传播和发展。

    参考文献(References):

    [1] 新一代人工智能发展规划[Z].国发[2017]35号.

    [2] 王婷婷,任友群.人工智能时代的人才战略《高等学校人工智能创新行动计划》解读之三[J].远程教育杂志,2018.5:52-59

    [3] TIOBE Programming Community Index[EB/OL].https://www.tiobe.com/tiobe-index/.

    [4] 王丽娟,郝志峰等.K-means聚类算法的实例教学研究[J]计算机教育,2016.8:152-157

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/4/14 19:48:06