基于TDC模式的数据挖掘课程教学新方法

2015-05-30 08:40石向荣
经济师 2015年5期
关键词:任务驱动法数据挖掘

摘 要:文章通过对目前“数据挖掘”课程教学中存在问题的调研,结合实际工作中的见闻与思考,并汇总相关文献的研究结论,提出解决教学中所存在问题的整体方案。该方案可归结为以“理论”、“数据”、“代码”为核心的TDC教学模式,从而提出一种大学数据挖掘课程的新式教学方法。

关键词:数据挖掘 任务驱动法 TDC教学模式

中图分类号:F222 文献标识码:A

文章编号:1004-4914(2015)05-253-02

一、引言

数据挖掘作为一门新兴的学科,是高等数学、统计学以及数据库技术等交叉发展的产物,它广泛应用于商业、工程、医学、农学等诸多领域。随着我国社会经济的发展,各行业信息化程度不断提升,产生了可供分析挖掘的海量数据。因此,如何充分利用这些数据并从中提炼有价值的信息,成为学术界日益关注的焦点问题。近年来,为紧跟社会发展的步伐,国内外高校纷纷开设数据挖掘课程,该课程具有鲜明的时代特点和较强的实用性,受到了学生们的广泛欢迎,但又由于课程内容复杂、模型众多、理论较抽象、对数学基础要求较高,在教学过程中也暴露出一些问题,主要表现为:

一是课程理论部分内容特别丰富,且呈不断膨胀趋势,如果不适时地改革传统教学方式,新内容将使学习者应接不暇,对授课教师也形成不小的压力。

二是适合于课堂教学并且生动有趣的实例数据相对较少。由于有价值的数据资源大多存在于金融、电信、保险等行业,而这些数据往往涉及行业机密,因此,寻找合适的数据资源以供课堂教学使用并非易事。

三是适合于课堂教学使用的示例程序相对较少。目前可以呈现数据挖掘效果的软件有不少,可方便地从输入数据中挖掘出结果,适合于商业使用,但对于以学习原理为目的的学生而言并无补益。

针对上述诸多问题,一些教学研究者从不同的角度提出了改革建议,如:覃义(2012)提出数据挖掘的教学应与实验相结合,并且应与验证式的实验形成区别,避免给学生提供数据而让学生按照步骤进行挖掘的方式,以培养学生的实践能力;王丽丽(2013)提出以CDIO(构思、设计、实施、运作,Conceive, Design, Implement,Operate)理念为指导,以CDIO过程为主导,以项目驱动法为方法,改革课程教学方式,对教学目标、教学内容、教学方式进行重设,增加项目教学,实践证明,上述改革举措能有效培养学生思考和主动学习的能力、提升工程实践和团队合作能力。而黄岚(2014)从教学资源的角度出发,提出通过构建三大类挖掘资源库以辅助教学的模式。但这些新的改革方案都是从某一特定角度出发,解决了当前数据挖掘教学中存在的某些具体问题,具有局限性,正如李卫华(2014)指出,项目驱动法仅适用于小班化教学,当班级人数超过50时,该方法无法顺利开展,其局限性显而易见。

为了对数据挖掘课程的整个教学模式进行根本性、彻底性的变革,笔者经过反复思考,结合与授课同学交流的体会,提出一种T(理论,Theory)、D(数据,Data)、C(代码,Code)相结合的新式教学方法。T为大纲规定的理论性内容,D为精心准备的各行业案例数据,C为实现具体算法的程序代码。该教学法让同学们在编程实战中学会并掌握数据挖掘的基本理论,同时还初步掌握1~2门编程语言。整套改革方案包括如下相互联系的几个组成部分。

二、重设课程教学大纲

当前,数据挖掘课程教育界有一套公认为标准的教学大纲,是2006年由美国计算机学会数据挖掘专门兴趣小组(ACM SIGKDD)拟定的。SIGKDD的大纲从数据库、数据预处理、统计推理等8个方面入手,将课程教学内容分为基础和高级两个专题。其中,基础部分包括:导论、数据预处理、数据仓库与OLAP、关联规则与频繁模式挖掘、分类、聚类与孤立点分析、时间序列与序列模式、文本与Web挖掘、数据挖掘的可视化、数据挖掘应用10章;高级部分包含基础部分后9章的全部内容,另外还引入了更复杂的算法及数据流挖掘、时空与多媒体数据挖掘等内容。

可见,大纲规定的内容,特别是高级专题部分,具有随社会发展不断膨胀的特点,而本文所提出的教学改革方案,是以不增加课堂教学总学时为前提的。不仅如此,还将考虑增加程序设计部分的讲授内容,由此要求对“标准版”大纲的内容实施裁减,新的大纲以“让学生掌握基本的数据挖掘理论”为前提,适当删减理论部分的内容,增加课程实践部分的学时。例如,在决策树分类算法部分,介绍ID3算法这一典型即可,对其变种C4.5可交给同学自学,综合而言,对标准版大纲的重新组织方案可参看表1。

按照这种方案对教学内容删减之后,并不会削弱同学们对数据挖掘基本理论的理解,这是由于这些算法中,所保留的基本算法或原型算法往往能体现某一大类算法的本质特点,而所删减部分的内容只是在细节问题上和原型算法有一些差异,无关算法的核心内容,这就解决了Theory部分的教学问题,而利用所节余的时间,辅以程序实现(Code)的教学,反过来还能进一步夯实所学的理论,加深理解。

三、全方位多角度改革教学方式

(一)搜集有价值的案例数据

数据在数据挖掘课程中的重要性也许是所有课程中最重要的,2014年,学者黄岚专门研究了课程数据资源库的建立之于课堂教学的重要意义。为取得良好的教学效果,激发学习热情,须要精心选择一批好的案例,搜集一批具有一定规模的数据,避免纸上谈兵。例如,用于频繁模式发现的数据,其事务条数至少应达到上百或以上规模,才能体现本课程的价值。当然,这些实例数据的来源应当真实可靠,有说服力,并且和社会普遍关注的问题有一定相关性,这样才能更好地抓住受众的眼球。例如在讲授时间序列分析时,可采集一批股票或期货市场的价格数据。为做好数据准备工作,任课教师团队须要投入一定的时间精力与学术界、企业界交流,争取他们在数据上对大学教学工作的支持。

(二)选择合适的辅助学习软件

传统的教学方式侧重于讲授理论,为加深对理论的理解,会有一些书面练习,但是数据挖掘课程的特点决定了其数据规模往往较庞大,因此通过计算器和草稿纸的传统演算方式来完成计算任务并不切实际,因而亟待引入专门的计算软件辅助挖掘工作的开展。

目前能胜任数据挖掘任务的程序并不少见,如马守东(2013)所推荐采用的SAS软件,以及曾垂省(2014)在教学中使用的Clementine软件。但是,这些软件设计的初衷是为了解决工业上的数据挖掘实际问题,而非为了辅助教学,对教学而言,这些软件的弊端是过于“重量级”。另一方面,其工作方式往往是,经过简单的参数配置,同时确保输入数据格式符合要求,即可在短时间内输出挖掘结果。如此过程对于学生而言无异于黑箱操作,学习者无法深入领会挖掘算法的原理、来龙去脉,因而无助于培养动手实践能力,副作用很明显。

另一种可能考虑的方案是选择诸如Java、C、C++之类的主流程序设计语言,但是如果选择它们,同样会有一些问题,如:上述高级语言的学习本身即是一个复杂的过程,如果在课堂上讲解语言本身,可能会冲淡课程的主题,顾此失彼。而如果不讲,则对于没有经过有效训练的同学,难以在短时间内掌握,徒增对课程的畏惧心理;课程学习对象未必是接受过专门训练的计算机专业同学,甚至并不具备程序设计基础,因此受众的软件开发能力可能参差不齐,由此会带来教学效果的大打折扣。

例如,对于经管类专业本科生而言,数据挖掘的教学内容对他们有着较强的吸引力,但相对薄弱的计算机编程基础却使他们对课程望而却步,因此选择一款合适的软件开发工具很有必要,这样的工具既能有效地体现算法的内涵,展现整个算法实现过程的全貌,又能相对比较直观,不需要具备底层的计算机知识即可快速上手,易学易用。笔者在教学实践中发现,由MathWorks公司推出的科学计算软件matlab符合上述要求,使用matlab辅助课程教学,效果良好。近年来,一款和matlab有着类似风格的统计工具软件R语言逐渐风靡起来,并且在数据挖掘界也受到好评,又由于它相对matlab更轻量级且开源、免费,因此可以预料R同样能够胜任数据挖掘的辅助教学任务。

(三)引入丰富的现代教学方式

数据挖掘属于新兴的信息技术类课程,目前,优质教师资源匮乏,适合本科生使用的优秀参考书也不多见,并且课程的鲜明特点是:西方发达国家的数据挖掘技术领先于我们,其教学工作也比我国更有成效。为此,可充分利用网络资源,将分散在互联网上的优秀材料汇集起来,引荐给同学,包括原版的电子教材、课件甚至教学视频;还可以开通微信公共号或群,在公共平台上一方面可以推送反映数据挖掘技术最新进展的科技短文,激发同学兴趣和学习热情,还可以利用平台开展课程答疑,增强同学们对课程的认同感、向心力;为弥补课堂教学学时的不足,可利用提供翻转教学的MOOC平台,将某些知识点翻转到课前讲授、在课中仅作答疑或实践。

(四)改革课程考核方式

课程的考核须要体现学生对基本原理、基本理论的了解掌握程度和应用能力,因此,对本课程而言,如果将考卷设计成记忆概念、代入公式这样的风格,并不合适;同样,基于数据规模的考虑,传统的集中考查方式也无法胜任,一道题的计算工作量可能耗费数小时。在一些类似课程中,教师们往往采用“大作业”或“完成某具体任务”的方式来检查学生掌握知识的水平,但这种开放式的检查方式难以防范舞弊行为,会带来不公平。因此,如何科学地评判同学接受知识的真实水平成为一个难题,一个初步设想是,考虑设计出基于数据挖掘的课程考评系统,利用同学们上机时所采集的信息,如点击、停留时间等,结合平时测验成绩建立模型,最终获得每个同学的合理分数。当然,这项工作目前还处于设想阶段,其可行性如何有待进一步论证。

四、结束语

为解决数据挖掘课程教学中遇到的一系列问题,本文提出一种基于TDC模式的教学新方法。但数据挖掘毕竟是一门新兴课程,本文所提的方法其效果究竟如何,还有待实践的检验。注意到高校课程表中存在这样一些课程,如“运筹学”、“人工智能”、“模式识别”等,虽然与“数据挖掘”内容不同,但其共同点是理论性强、内容抽象、需要案例展现、需要程序实现。因此了解和借鉴这些课程相关专家教授的先进经验,为我所用,不失为提高教学效果的可行方法。

本文提出的TDC模式中,一个值得注意的细节问题是T和 C的比例分配问题。如果过多强调程序设计的语法、方法、技巧会喧宾夺主,而少了又达不到应有的效果。因此,如何科学地规划理论授课和编程实践的比例,才能获得最佳的教学效果,这是一个值得进一步深入研究的问题。

参考文献:

[1] 覃义,杨丹江,刘忆宁.《数据挖掘》本科教学的体舍与创新.科技信息,2012(10)

[2] 王丽丽.CDIO视角下项目驱动法在“数据仓库与数据挖掘”教学中的应用.电子商务,2013(9)

[3] 黄岚.数据挖掘课程实践教学资源库建设.计算机教育,2014(12)

[4] 李卫华.数据挖掘与数据仓库教学改革探讨.惠州学院学报, 2014(12)

[5] SIGKDD.Data Mining Curriculum:A Proposal.2006; Available from:http://www.sigkdd.org/curriculum/index.html.

[6] 马守东,龚永峰.关于数据挖掘课程教学探索.电脑编程技巧与维护,2013(24)

[7] 曾垂省.生物信息学专业之数据挖掘教学实践与思考.广东化工, 2014(7)

(作者单位:浙江财经大学信息学院 浙江杭州 310018)

(作者简介:石向荣,工学博士,讲师,研究方向:数据挖掘和分析。)

(责编:贾伟)

猜你喜欢
任务驱动法数据挖掘
基于并行计算的大数据挖掘在电网中的应用
物流运输管理课程教学改革探讨
任务驱动法在土木工程测量教学中的应用
任务驱动法在车工教学中的应用
一种基于Hadoop的大数据挖掘云服务及应用
数据挖掘的分析与探索
基于GPGPU的离散数据挖掘研究