哈佛大学数据科学课程教学初探
2015-08-04许嘉吕品
许嘉 吕品
【摘 要】大数据时代的到来催生了对数据科学人才的强烈需求。为了尽快培养出合格的数据科学人才,国外已有不少名校开设了数据科学相关课程或专业,然而,开设这类课程的国内高校数量还非常少。本文通过调研哈佛大学数据科学课程的相关情况,为我国高校尽快建立数据科学人才培养体系提供借鉴和参考。
【关键词】数据科学 哈佛大学 课程教学
一、 引言
数据科学是一门蓬勃发展的新兴学科。它一方面研究数据本身,包括数据的各种类型、状态、属性、变化形式和变化规律;另一方面通过数据揭示自然界和人类行为的现象与规律,从而为自然科学和社会科学提供新的研究方法。随着人类进入大数据时代,数据科学在各行各业中发挥的作用日趋重要,各行业对数据科学人才的需求急剧增长,数据科学家迅速成为热门职业。然而,由于数据科学人才培养的滞后,今后几年国内外都将面临巨大的数据科学人才缺口。面对这一情况,国外很多著名大学(如哈佛大学、麻省理工学院、哥伦比亚大学、伦敦大学等)都已开设了数据科学专业或课程,开始加强数据科学人才的培养。目前,国内设立数据科学专业或课程的高校还非常少,仅有复旦大学、厦门大学等几所高校在建立实验室或开设课程方面进行了初步探索。为了填补数据科学人才空缺,国内应有更多高校承担起培养数据科学人才的重任。针对国内高校在开设数据科学课程时可能面临的经验不足的问题,笔者对哈佛大学的数据科学公开课程进行了调研。通过对哈佛大学数据科学课程教学各方面的介绍,希望能够为我国高校尽快建立数据科学人才培养体系提供借鉴和参考。
二、课程基本情况
哈佛大学从2013年开始开设数据科学课程,该课程面向有一定编程能力和统计学知识背景的本科生与研究生。课程主讲教师有两位,分别是Rafael Irizarry教授和Verena Kaynig-Fittkau博士。Irizarry教授现为哈佛大学公共卫生学院和癌症研究中心生物统计学教授,主要研究基因组学和计算生物学,尤其是基因组数据。Kaynig-Fittkau博士具有计算机科学的背景,现为哈佛大学工程与应用科学学院博士后研究员,主要研究生物医学数据与图像处理。他们还邀请了奥地利林茨大学助理教授Marc Streit博士作为客座教授来讲授该课程的部分章节,他的主要研究方向为信息可视化、可视化分析和生物数据可视化。此外,该课程还配备有一支由25名课程助教组成的教学团队,主要负责辅导学生完成课程项目。
数据科学这门课程的教学内容主要包括进行调查研究的五个关键方面:①通过数据再加工、抓取、采样、清洗以获得信息丰富且容易管理的数据集;②通过数据存储和管理以便能够快速而可靠地访问数据,特别是大数据;③通过探索性数据分析获得对数据的假设和直觉信息;④基于诸如回归、分类、聚类等统计工具进行预测;⑤通过可视化、描述、说明性总结来表达数据分析结果。
本课程的教学包括教师授课、课程实验、课后作业、课程项目、课外阅读等组成部分。课程不设期末考试,学生获得的成绩由课后作业和课程项目的完成情况决定。其中,课后作业占最终成绩的65%,课程项目个人表现占10%,团队表现占25%。
1.教师授课。频率是每周两次,每次课时长约1小时,共计持续11周,授课内容如表1所示。另外,每周还有一次由助教讲授的辅导课程。
表1 哈佛大学数据科学课程周表
周次 第1次授课内容 第2次授课内容
1 课程概述 (1)统计学总结和探索性数据分析;(2)IPython
2 可视化目标,数据类型,统计图表 (1)视觉属性,颜色,设计原则;(2)探索数据
3 多维数据、地图、文本可视化 (1)大数据可视化;
(2)距离、聚类和降维
4 数据抓取 统计推断简介
5 统计建模、方差和平滑 回归与预测
6 机器学习简介 混杂
7 矩阵代数 贝叶斯统计
8 决策树,集成学习 集成学习,性能评估
9 支持向量机和核技巧 聚类方法:k-均值,均值漂移
10 MapReduce 图表可视化与故事讲述
11 深度学习 总结和展望
2.课程实验。作为教师授课的补充,课程实验通常采用编写Python程序解决实际问题的方式进行。要求学生努力写出正确的、高质量的、可读性好的代码,同时需要考虑可重用性、错误处理等方面的问题,并且写好相应注释与文档。
3.课后作业。课后作业被认为是学习数据科学技巧和检测对材料理解程度的机会,也是学生在这门课程中获得成绩的重要来源。教师对学生每次提交作业的时间设定了严格的规定,同时为了应对事先无法预计的特殊情况,每位学生被允许有两次推迟一天交作业的机会,其他晚于截止期提交的作业都将被拒绝。
4.课程项目。从课程中期开始进行数据科学项目,目的是让学生经历完整的数据科学过程,是本课程的重要特色。课程项目以小组的方式完成,每组3至4人,持续时间大约为1个月。项目中的重要部分是iPython流程书,需要详细记录得到结果的每一步,包括如何收集数据、尝试的不同方法、使用的描述统计方法以及从中获得的结论。学生完成课程项目后,要把涵盖项目目标、过程、结果的报告以网页的形式发布在互联网上。每个小组还需要制作一个时长为2分钟的视频来讲述项目,视频需要上传到视频网站平台上,如YouTube或Vimeo等。
5.课外阅读。本课程并没有指定教材,授课教师推荐了三本书籍作为课外读物,分别是:《Python for Data Analysis》(注:中译本《用Python进行数据分析》已由机械工业出版社出版)《Machine Learning for Hackers》(注:中译本《机器学习:实用案例解析》,已由机械工业出版社出版)和《Probabilistic Programming and Bayesian Methods for Hackers》。课外阅读的目的是帮助学生为课堂学习和完成作业做准备,学生预先熟悉新的术语和定义,以便决定听课时哪些部分需要更加注意,同时能够更加全面而系统地构建知识体系。
通过学习这门课程,预期学生能够获得的知识和能力包括:能够使用Python和其他工具抓取、清洗、处理数据;能够使用数据管理技术在本地或云基础设施上存储数据;能够使用统计方法和可视化方法快速研究数据;能够根据对数据的统计和计算分析进行预测;能够应用计算机科学中的基本概念(如模块化、抽象化、封装化)解决数据分析中的问题;能够使用MapReduce在集群和云基础设施上实现数据密集型计算;能够使用描述性统计和可视化有效表达数据分析结果。
三、带给我们的启示
1.广博是授课内容的突出特点。从课程周表可以看出,该课程的授课内容非常广博,涉及统计推断、代数理论、算法编程、机器学习、人工智能、数据可视化等多个学科,在进行数据可视化时甚至还涉及一些美学和社会学知识。这说明数据科学这门课程并没有封闭的、完善的知识体系,而是一门综合性的新兴学科。如此广博的内容无疑对教师自身的能力素质和教学水平提出了更高的要求。开设数据科学课程的教师一方面应当努力提高自身知识水平,多阅读相关各学科领域的经典著作和前沿论文,争取做到融会贯通;另一方面则应该与不同学科背景的教师分工合作,组建跨学科的教学团队,从而能够胜任数据科学课程的教学任务。
2.实践是培养能力的最佳途径。课程项目是该课程教学中的重要组成部分,为了指导学生完成好课程项目,该课程专门配备了一支由25名助教组成的教学团队,实现了对项目小组“一对一”的指导。由于学生完成课程项目后,要把项目报告和视频在互联网上公开发布,全世界的人包括授课教师、其他同学甚至学生日后找工作时的用人单位都可以看到该学生在完成课程项目、解决实际问题中掌握的知识和能力。公开项目的完成情况并接受广泛的监督和评判,促使学生必须以更加认真的态度对待。通过对实际生活中所遇到的数据问题进行探索性分析,学生能够初步切身体会到数据科学家的工作内容和思维方法。在这种实践过程中,学生对知识的理解和掌握程度将大大加深,解决实际问题的能力会得到极大锻炼。
3.过程是评判成绩的重要依据。该课程并不是通过考试成绩评判学生的学习效果,而主要是通过课后作业和课程项目的完成情况给学生打分。在评判学生的作业和项目时,与得到的最终结果同样重要的是如何得到这些结果的过程。由于数据科学常常面对的是开放性的问题,这些问题往往没有唯一的、确定的答案,因此学生的分析过程是其学习效果的最直接体现。对过程进行细致的考核与评判无疑加大了教师的工作量,但此举有助于教师了解学生对相关知识的掌握程度,及时发现学生存在的知识漏洞,从而能够有针对性地进行辅导,这是对学生高度负责的表现。
四、结语
本文通过对哈佛大学数据科学课程教学情况进行介绍,希望能为国内高校建立数据科学人才培养体系提供参考。当然,国外众多名校在数据科学课程教学方面都有各自的特点和侧重点。国内高校应当博采众长,既要吸取国外名校的先进经验,又要结合我国国情和本校特点,将数据科学人才培养体系建设得有特色、有水平。
【参考文献】
[1]朱扬勇,熊赟.数据学[M].上海:复旦大学出版社. 2009.
[2]杨旭,汤海京,丁刚毅.数据科学导论[M].北京:北京理工大学出版社. 2014.
[3]中国计算机学会大数据专家委员会.中国大数据技术与产业发展白皮书[M].2013.
[4]厦门大学数据科学课程主页. http://dblab.xmu.edu.cn/post/2984.
[5]哈佛大学数据科学课程主页. http://cs109.github.io/2014.