数据挖掘课程中过程生成式启发教学研究
2021-01-15杜振鑫
杜振鑫
摘 要:本科生数据挖掘和机器学习课程内容抽象难懂,传统的高等院校教材以讲授式为主。目前已提出大量的案例式、项目式教学方法降低学习难度,但仍然存在抽象、不容易实施、缺少对算法原理剖析的缺点。本文首次提出在数据挖掘课程中采用过程生成式启发教学,将学生的生活经验原型逐步形式化为严谨的数据挖掘算法,降低了学习难度,有助于学生对算法的深刻理解,取得了更好的教学效果,在保证学科知识教学正确性与科学性之基础上,助力学生学科素养与学科能力的生成。
关键词:数据挖掘 过程生成 生活原型 启发式教学
中图分类号:TP312.1 文献标识码:A 文章编号:
Abstract: The content of undergraduate data mining and machine learning course is abstract and difficult to understand. The traditional teaching materials of colleges and universities are mainly lecture teaching. At present, a large number of case-based and project-based teaching methods have been proposed to reduce the learning difficulty. However, there are still some shortcomings, such as abstraction, not easy to implement and lack of analysis of the principle of the algorithm. In this paper, the process generation heuristic teaching is proposed for the first time in the data mining course, and the prototype of students' life experience is gradually formalized into a rigorous data mining algorithm, which reduces the learning difficulty, contributes to students' deep understanding of the algorithm and achieves better teaching results, on the basis of ensuring the correctness and scientificity of subject knowledge teaching, help students generate subject literacy and subject ability.
Key Words: Data mining; Processgeneration; Life prototype; Heuristic teaching
隨着各行各业技术的发展,这个时代的数据量已经发生跨越式的增长[1][2]。预计到 2025 年,全球天文数据采集量将达到每年 2.5×10 10 TB;仅2017 年,淘宝每天产生的数据都高达 7TB;物联网中的每台设备都会产生大量的数据[1]。 IDC 在《2020 年的“数字宇宙”》研究报告中预测,到 2020 年,全球数据量将达到 40ZB,中国在全球数据市场的份额也将由目前的 13% 上升到 22%[2]。大数据技术的出现很好地解决了大量数据的计算问题,数据挖掘和机器学习也成为一门非常重要的课程。但是数据挖掘和机器学习教学存在抽象、难于理解的问题。传统教材大多采用算法加例题的讲授模式,虽然表述严谨,却不利于教学。学生突兀的接受某个算法,只见树木不见森林,往往产生厌学情绪,不利于人才培养。覃凤萍[1]提出问题引导+案例教学法,高建瓴[3]提出问题驱动教学模式,这些方法都是通过案例进行教学,能够有效降低学生的学习难度。但是这些方法也存在一定缺点:(1)学生从一个抽象的案例或者项目类比另一个抽象的算法,仍有不小的难度;(2)这些方法往往需要一定软硬件条件或者因为学生完成进度不一致而明显降低讲课进度,只能偶尔为之,多数情况下仍然采用传统的讲授式教学[4];(3)案例式教学、项目教学,没有从本质上将算法原理剖开给学生,学生只是熟练地模仿项目或案例,学生只是被动的输入知识输出应用知识的技能,王积社等认为这种静态的实体观存在缺陷[4],因为事实上世界万物是不断变化的,是动态的,知识就是其生成过程,所以教学就必须模拟、展现知识的生成过程,学习就必须感受、理解知识的生成过程,这样才能做到知其然而又知其所以然。近几年来,过程生成理念开始得到较多的关注[5][6][7][8]。李文阁[9]等认为,“生成:现代哲学的最强音”,“生成性思维是现代哲学的基本精神和思维方式”。
基于过程生成式理念与启发式方法,本文首次提出在数据挖掘教学中,让学生从最熟悉的生活经验出发,引导学生将粗糙的生活经验经过抽丝剥茧、去粗取精,最后得到严谨的数学表述,相当于亲自推导出相关的数据挖掘算法,既有效降低了学习难度,又加深了理解和记忆,在保证学科知识教学正确性与科学性之基础上,助力学生学科素养与学科能力的生成,而核心素养已然成为推动当代教育课程改革与促进教学模式转型的顶层理念。采用过程生成式启发教学法,学习过程即知识建构的过程,能够促进高阶思维的形成[5]。
1教学现状
数据挖掘课程需要用到线性代数、概率统计、机器学习等先修课,具有较高的理论难度。教学中主要存在问题是:
(1)该课程具有知识点多和教学点分散的特点,理论学习难度较大。
(2)实践教学可操作性不强、主要以抽象的理论教学为主,学生难以将新知识与老知识进行迁移对照,容易遗忘、理解也不够深刻,导致很多学生只能机械的照搬知识,一旦问题动态变化往往难以灵活运用学到的知识。很多学校将数据挖掘归类为实践课程,但是在实际操作中,需要花费大量实践学习相关软件的使用,造成实践的效果大打折扣,学生对完成一套完整的数据挖掘流程是比较困难的。
2基于过程生成理念的启发式教学设计
赵卫东等[1][2][3]提出基于“问题引导 + 案例”、项目驱动等教学模式。例如覃凤萍[1]将关联规则用电影推荐作为例子导入。但在教学中发现,这种方法虽然有效,学生仍然感觉抽象、难以理解。
卡尔·波普尔认为:“一个人要分享人类缓慢取得的知识,我所知道的唯一方法,就是循着知识创造者的脚印再走一遍”.王积社认为[4]:“过程→生成”教学是由师生共同参与的知识生成过程,该过程始于某种背景,在思想、情操的层层支配下,激起对学习目标的步步追求,诱导已有知识、技能、方法的循循摄入,形成流变与合生。“过程→生成”教学的基本原则,应该遵循:(1)动态性原则:学生主动的动手动脑参与推导知识的生成过程。(2)摄入性原则:摄入是过程哲学的核心范畴,是揭示事物间相互关联的思维方法。例如本文的例题中,将学生的生活经验与数据挖掘算法之间的联系揭示出来,就是遵循了摄入性原则。(3)生成性原则:类似于搭积木,避免把知识直接搬给学生,而是引导学生逐步构建出知识。基于过程生成式理念,让学生从自己粗糙的生活经验出发,在教师引导下逐步求精的推导出数据挖掘算法,让学生理解算法的来龙去脉,能够降低学习难度,提高学习效率,可以分成三个主要步骤:(1)提出一种学生熟悉的生活原型,可以比较好的吻合相应的数据挖掘算法。(2)将粗糙的生活经验提炼,用严密的数学语言进行描述,推导出相应的数据挖掘算法;(3)将学生根据生活经验推导的数据挖掘算法与教材的数据挖掘算法进行对比,揭示两种算法之间的联系。
张良[10]认为,知识即创造或生成。其内在信条即主体与客体关系的关系论、知识与世界关系的生成论以及个人与知识关系的参与论与互动论,因此让课程焕发新生其实践原则体现为:课程知识与生活世界的结合。拯救课程危机有必要基于生成主义认识论[10]。张茗[11]也认为,所谓认知指的是生成自己的"意义世界"的过程。根据此理论,过程产生式教学法是在动态的感知运动环路中主动构建知识。
下面将以数据挖掘中经典的贝叶斯算法与密度聚类作为例子来说明过程生成理念引导的启发式教学方法的应用。
2.1过程生成式启发教学方法在贝叶斯算法中的应用
传统的贝叶斯分类的教学大多只关注后验概率公式的计算过程,学生普遍反映这部分的教学内容抽象枯燥,理论与实际相脱离。 朴素贝叶斯分类基于一个简单的假定:在给定分类特征条件下,描述属性值之间是相互条件独立的。朴素贝叶斯分类思想是:假设每个样本用一个n维特征向量X={x1,x2,…,xn}来表示,描述属性为A1、A2、…、An(Ai之间相互独立)。类别属性为C,假设样本中共有m个类即C1、C2、…、Cm,给定一个未知类别的样本X,朴素贝叶斯分类将预测X属于具有最高后验概率P(Ci|X)的类,也就是说,将X分配给类Ci,当且仅当:P(Ci|X)>P(Cj|X),1≤j≤m,i≠j。根据贝叶斯定理有:
如果仅仅按照上面的公式讲解,学生比较难以理解。我们从基本的生活经验出发,采用过程生成式启发方法教学,引导学生自己推导出贝叶斯算法。
例:已知某电脑店销售数据如表1所示,现在有一个新顾客X={“年龄='≤30',收入='中',学生='是',信誉='中'},试判断X是否应该购买计算机?
过程产生式分析:(1)提出生活原型:运用生活经验类比法,我们根据X的年龄=‘≤30’,收入=‘中’,学生=‘是’,信誉=‘中’,首先凭生活经验判断,这个人是否应该购买计算机?经过对学生提问,发现90%以上的学生都能凭直觉得出正确答案:顾客X应该购买计算机。教师进一步启发学生思考,为什么会得到这个结果?如果没有生活经验,你会得出这样的结论吗?如果是没有生活经验的幼儿园的学生,能得出这样的结论吗?学生经过思索,回答:是因为X是学生,而且收入是’中’,而计算机并不贵,中等收入足够购买计算机了,所以根据生活经验判断,X多数会购买计算机。教师进一步启发学生,要用数据说话才更加可信。学生仔细观察已知数据,终于找出规律:提供的销售记录共有14个顾客,其中9个人购买了计算机;再仔细观察这9个人,购买计算机的人中,有6个是学生,概率是6/9=0.67,这说明,多数学生都买了计算机,而X恰好是学生,因此购买计算机的概率比较大。
(2)将生活经验提炼:教师进一步引导,用数学公式表述上面的经验,P(学生='是'|购买计算机='是')=6/9=0.67;同理,我们可以得出不买计算机的概率是P(学生='是'|购买计算机='否')=1/5=0.2。上面只分析了X的一个属性“学生“,我们同理分析X的其他属性,得出:P(年龄='≤30'|购买计算机='是')=2/9=0.22;P(年龄='≤30'|购买计算机='否')=3/5=0.6;P(信誉='中'|购买计算机='是')=6/9=0.67;P(信誉='中'|购买计算机='否')=2/5=0.4;P(收入='中'|购买计算机='是')=4/9=0.44;P(收入='中'|购买计算机='否')=2/5=0.4。
假设条件獨立性,使用以上概率得到:P(X|购买计算机='是')=P(年龄='≤30'|购买计算机='是')×P(收入='中'|购买计算机='是')×P(学生='是'|购买计算机='是')×P(信誉='中'|购买计算机='是')=0.22×0.44×0.67×0.67=0.04;P(X|购买计算机='否')= P(年龄='≤30'|购买计算机='否')×P(收入='中'|购买计算机='否')×P(学生='是'|购买计算机='否')×P(信誉='中'|购买计算机='否')=0.6×0.4×0.2×0.4=0.02。
到此,我们得出解题需要的两个关键概率:P(X|购买计算机='是')=0.04,P(X|购买计算机='否')=0.02;
进一步的,根据概率统计的知识,考虑“购买计算机='是'”的类:P(X|购买计算机='是')×P(购买计算机='是')=0.04×0.64=0.03;考虑“购买计算机='否'”的类:P(X|购买计算机='否')×P(购买计算机='否')=0.02×0.36=0.01。
因此,对于样本X预测为“购买计算机='是'”。
在上面的教学过程中,我们首先引导学生用生活经验自己推导,逐步去粗取精、然后用数学语言加以严谨描述,最终自己推导出贝叶斯分类算法。经过对比,学生发现自己推导的贝叶斯算法与教材中的贝叶斯算法的原理一模一样,从而很快就牢牢理解了贝叶斯算法的思想,并形成了深刻印象,在此过程中,很多同学能够自己推导出经典的算法而产生了浓厚的学习兴趣,建立了学习的自信。多数学生感觉这种类比法有明显的效果,克服了案例法或者项目法过于抽象、学生快慢不一的缺点,知识已经内化为思维的一部分,更加容易理解和接受。
2.2 过程生成式启发教学方法在密度聚类中的应用
密度聚类是2014年著名期刊Science上提出的一种新的聚类方法,虽然公式较少,但是理解比较抽象。其关键步骤是确定聚类中心,其严谨描述是:聚类中心被局部密度较低的近邻数据点包围。
下面演示采用过程生成式启发教学方法讲授密度聚类算法的过程。
(1)提出生活原型:观察中国地图5分钟,回答问题:你认为中国的哪些城市可以作为区域中心城市?学生自习观察后,多数回答是北京、上海、广州、拉萨、乌鲁木齐等城市。然后教师提问:你为什么认为这些城市是区域中心城市,为什么不选择北京周边的廊坊、上海周边的嘉兴作为中心城市?请给出理由。学生各抒己见,最后有学生回答:北京、上海、广州比较大。教师反问:拉萨不如嘉兴大,但是拉萨显然可以作为区域中心,但是嘉兴却不是,因为嘉兴相邻的上海远比嘉兴大的多,嘉兴周边已经有了上海这个区域中心城市,嘉兴就不可能再成为区域中心城市。学生再次深入思考,认为仅凭一个城市的大小,不能作为区域中心城市的标准。最后有学生仔细观察地图后发现,区域中心城市的交通是这个区域最发达的,而且再也找不出反例,教师予以肯定,经过学生的主动思考,学生终于生成了正确的知识。(2)引导学生如何用数学形式化描述这个原理:如果某个城市K可以作为区域中心城市,那么K的邻居的数目一定是该区域最多的,换句话说,假设M、N、P等是区域中心城市K的邻居,那么M、N、P的相邻城市的数目都比K的相邻城市数目要少。(3)与教材对照:学生通过一个最熟悉的生活原型,推导出聚类中心应该具备的性质,此时教师公布教材中的密度聚类中心的定义,发现与学生自己推导的结论基本一致,因此磨刀不误砍柴工,推导的过程即是知识生成的过程,知识生成完毕也就学习完毕。学生在一瞬间就对这个算法的思想豁然开朗。如果采用案例教学法或者项目教学法,学生虽然可以熟练掌握如何用算法解决问题,却难以深刻理解算法的原理;而采用过程生成式启发教学方法,学生亲自构建了知识,对算法的生成过程有更深刻的理解,因此能够很快学会算法的应用并形成持久的记忆。
在其他很多數据挖掘算法中,都可以运用生活经验类比法。例如K近邻分类,让学生回答:假设对某个人一无所知,但是知道他的K个朋友学习都很好,请问此人学习是否也很好?学生很容易自己推导出K近邻算法,得出此人学习很好的结论。再如:集成学习可以用生活中的投票的经验进行类比等等。复杂的算法,往往都是由简单的问题加以延伸而成,因此多数能够找到问题的原型,用过程生成式教学方法加以推导,就可以得到相应的算法。
3结语
数据挖掘的学习难度较高,以往的案例驱动、项目驱动教学法仍然存在过于抽象、影响教学进度的缺点而导致难以实施;而大量的主动学习、合作学习、研究性学习虽然有其优点,在实际课堂讲授中往往受到软硬件条件限制或者影响课程进度,导致实际上课堂讲授法仍然占据主流。本文首次提出在数据挖掘中引入过程生成式启发教学方法,克服了上述缺点,引导学生从熟悉的生活经验出发推导出相应的算法,让学生知其然更知其所以然,使得学生很容易将熟悉的知识迁移到对数据挖掘算法的理解中去,具有较高的课堂应用价值。
参考文献
[1] 覃凤萍,陈佳.基于“问题引导+案例”的数据挖掘课程教学模式设计[J]教育现代化,2020,7(45):169-171.
[2] 赵卫东,袁雪茹.基于项目实践的机器学习课程改革[J] 计算机教育,2019(9):151-154.
[3] 高建瓴,潘成成.以“问题驱动”为基础的“数据挖掘及应用”课程教学实践[J].新型工业化,2020,10(9):187-189.
[4] 王积社.论“过程→生成”教学——面向基础与创新的数学教学模式研究[J].韩山师范学院学报,2013,34(3):98-104.
[5] 胡翰林,沈书生.生成认知促进高阶思维的形成——从概念的发展谈起[J].电化教育研究,2021,42(6):27-33.
[6] 王小根,单必英.生成性理念指导下的探究式教学活动设计[J].软件导刊,2019,18(12):263-266.
[7] 扈春荣,王辉.体育学习自主生成应对研究[J].当代体育科技,2018,8(20):62-63.
[8] 杨建梅.浅析高中历史课堂生成性教学实施策略[J].科技资讯,2020,18(14):136-137.
[9] 李文阁.生成性思维:现代哲学的思维方式[J].中国社会科学,2000(6):45-53+206.
[10] 张良. 课程知识观研究[D].上海:华东师范大学,2015.
[11] 张茗.生成知觉观研究[D].南京:南京大学,2016.