基于应用能力培养的“机器学习”课程建设思考

2018-12-20 15:48郑立刚
现代计算机 2018年21期
关键词:机器学习机器课程体系

郑立刚

(广州大学计算机学院,广州 510006)

0 引言

作为一门学科,人工智能是研究和开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术。人工智能有三个支柱——大数据、计算能力和建模算法。大数据和计算能力可以看成是“硬件”,政府和企业都可以做到。建模算法可以看成是“软件”,这涉及到人工智能中最重要的部分——机器学习人才的培养,是需要学校来完成的。机器学习(Machine Learning,ML)是研究如何使计算机能够模拟或实现人类的学习功能,从大量的数据中发现规律,提取知识,并在实践中不断地完善和增强自我,获取知识的根本途径,只有让计算机系统具有类似人的学习能力,才可能实现人工智能的终极目标。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。

从计算机学科的角度看,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它涉及到许多重要的基础课程,例如矩阵论,概率和统计,优化和算法等。当前许多高校开设了相关课程,但只有真正地建立课程体系,才能更好地培养所需要的人才。

1 机器学习核心内容

机器学习的基础课程主要涉及到矩阵、建模、优化和算法四大内容。我们分别就它们的关系做一个解释。

(1)矩阵主要是为了解决数据的表示问题。不管是文本图像还是视频音频,在建模过程中,一般都需要用矩阵来表示。学好线性代数和矩阵论,是学好机器学习的重要一环。大数据是我们社会的一个重大特征,如何有效地把这些数据融入模型中,高效地利用这些数据,首要是需要解决好数据的表示问题。

(2)统计解决建模的问题。把实际问题转换成数学问题,需要建立一个好的数学模型。几乎所有以大数据为基础的应用,都可以建立一个基于统计的模型。概率论和数理统计等与统计有关的课程,为解决实际问题提供了模型依据。

(3)优化解决模型的求解问题。有了模型之后,如何求出模型的最优解,是一个十分关键的一个步骤。这需要掌握各种优化的理论和技能。

(4)算法解决问题的程序实现问题。有了数据,有了好的模型,就需要好的算法,完成整个程序的设计。

2 机器学习的课程体系

从课程上看,机器学习有四大主要内容。但是如果要提升学生的”人工智能”素养,提升学生开发和研究机器学习算法,培养合格的人工智能人才,需要建立科学合理的课程体系。从内容上来看,可以分为三大类。

一是基础课程,包括概率统计、线性代数、数值分析、数据结构和程序设计等。这些课程是计算机专业的基础课程,很多机器学习算法涉及到这些前期的基础课程。在进行这些课程教学的过程中,由于一般很难看到这些基础课程跟实际应用问题的关系,所以对大多数学生来讲,会略微枯燥,需要举例说明有关的知识跟实际问题的关系,使得学生在学习过程中更有目的性,同时也增加了基础课程的趣味性。

反转式教学作为一种新型教学模式在教育学界产生了巨大的反响,它颠覆了传统的教学流程,利用网络信息平台,构建了协助化和个性化学习平台,学生可以根据自我学习情况进行自主安排,强调以学生为主体、关注学生个性特点进而达到理想的学习效果。与传统的教学模式相比,反转式教学运用了网络高科技手段,体现了时代特征和新课程教学特点,未来发展前景广阔,应用在医学继续教育教学中有着重要作用。

二是优化,机器学习,数据挖掘或者模式识别等理论课程。这些课程主要强调基础方法,基本原理,以及与基础课程之间的链接。需要从两个层次上对学生进行培养和训练。一是需要学生能够建立模型,学习解模型的能力,熟悉目前已有的各种开元工具包,并且能熟练使用这些工具包;二是需要学生能够提建立模型,优化模型,自己编程实现简单模型的能力。这类课程将决定学生是否能够在后期使用机器学习解决实际问题。

三是人工智能,计算机视觉和计算机语言处理等应用性课程,熟悉应主要的应用领域有例如专家系统、认知模拟、规划和问题求解、数据挖掘、网络信息服务、图象识别、故障诊断、自然语言理解、机器人和博弈等方面的应用知识。

人工智能发展经历了数十年,许多高校很早就开设了人工智能这门课程。早期的人工智能教材,基本是以介绍基本的智能算法和各种系统,包括空间搜索、决策树、模拟退火、数理逻辑和推理、遗传算法和神经网络以及专家系统等,语言主要以LISP、Prolog等为主。经过近10年的发展,现代人工智能已经发展为大数据加深度学习的模式,通用的语言是Python。不管是学术界和工业界,机器学习和数据挖掘等技术已经成为了人工智能事实上的核心课程。所以教学内容必须进行调整,以重新建立课程体系。要紧密结合实际问题,增加大数据以及深度学习相关课程。

3 注重实践能力的培养

3.1 基本工具的掌握

机器学习技术已经渗透到社会生活的方方面面,它是用来解决实际问题的,绝非华而不实。培养学生实践动手能力,首先需要学生掌握基本的开发框架和工具。Python是人工智能的基础语言,教育部已经明确将Python语言的学习列入我国高中教学内容。除了Python之外,其他的编程语言例如C++、Julia、Java和C#等当然也非常重要。人工智能的许多应用,已经有了比较好的框架,例如计算机视觉OpenCV,Python的机器学习工具scipy、scikit.learn和pandas等。了解GPU数据的基本原理和应用框架,也要了解和使用例如 TensorFlow、Caffe、Theano、PyTorch和 MXNet等深度学习框架。为了增强学生们对这些工具的使用,可以在开设各种基础课程的学习过程中,增加一些开发工具的介绍和布置一些相关作业和课题。增加学生对开发工具的熟练程度。除开少数同学对基础理论感兴趣之外,大多数同学往往会觉得理论学习十分枯燥。如果在讲解基本理论的同时,加强实验的设计与实施,将会有不一样的效果。学生能更好更直观地理解相关知识。

3.2 课程的横向和纵向连接

机器学习的许多课程内容会有一定的难度,为了让学生能更好更直观地理解,需要注意教学方法。除了需要讲解基本理论,还要让学生真正了解课程之间的关系。对教师,这是一个体系化教学过程;对学生这是一个体系化学习过程。课程体系是由相互联系、相互影响的若干课程按一定的结构组成的具有实现人才培养目标功能的统一整体。

课程是由具有一定相关性的教学内容有机结合而成的结构体系,它是构成课程体系的基本要素。要实现教学内容和课程体系的整体优化,就是要求从人才培养模式的总体设计和人才知识、能力、素质结构的整体走向出发,合理地更新与选择教学内容,恰当地处理内容、以及课程之间的逻辑与结构关系,使课程体系结构的诸多要素达到最佳的组合与平衡,以充分发挥内容与课程的作用,服务于人才培养的系统功能。既要包括一定的深度,也要注重课程的横向和纵向联系。

以“贝叶斯”为例,概率统计中,有贝叶斯公式,机器学习课程中有贝叶斯学习,贝叶斯分类。贝叶斯模型求解过程中,还要涉及到优化算法。在教学过程中,注意不同课程之间以及相似内容之间的联系和区别,将会让学生更好地理解和消化内容。又比如在教学概率和频率时,几何概率是事件测度和样本空间测度的比值,是连续随机变量下古典概率的求解方法。可以以圆周率和积分计算的概率求解方法为例,来讲解与之有关的蒙特卡洛方法,例如MCMC或者Gibbs采样有关,讲解大数定律和中心极限定理。还可以简单讲解MCMC和Gibbs采样方法在机器学习中的价值,也可以把这部分内容跟Markov链等内容结合起来,介绍它们之间的区别和联系。

3.3 强调联系实际

人工智能带来无限的遐想。一切能让世界变得美好的技术,都可能来源于人工智能。人工智能面对的实际问题,现实生活中的许多问题,都可以考虑采用人工智能的方法,自然语言处理、计算机视觉、语音识别、专家系统以及交叉领域等。在讲解实际算法的时候,结合实际问题,分析人工智能相关技术如何在其中发挥作用,进而抽象出数学模型,然后采取合适的算法。人工智能虽然在深度学习领域中取得了很大的进展,可是对于那些人类独有的情感、感知等领域却一筹莫展,拥有人类的情感是人工智能最难突破的地方。对于那些目前还是比较难以解决的人工智能问题,可以分析其中的难点,对学生进行引导,给他们指明努力的方向。可以通过介绍各种开源人工智能工具包CNTK、OpenAI人工智能工具包,引导学生开发实际技术。

4 结语

机器学习技术作为人工智能技术的核心技术,受到了众多高校的高度重视。本文从新时代下人工智能发展的实际需要出发,就应用型人才培养和课程体系建设进行一些思考。机器学习是人工智能研究的核心问题之一,也是当前人工智能研究的一个热门方向,同时也是人工智能理论研究和实际应用的主要瓶颈之一。

目前,机器学习自身的发展非常快,是新思想、新观点、新理论和新技术不断涌现的一个学科。机器学习课程需要与时俱进,课程内容既需要保留传统经典的理论和方法,又要适当涵盖当前最新技术和应用。站在教师的立场,培养顺应国家需要的人才是我们的神圣使命。

猜你喜欢
机器学习机器课程体系
机器狗
三维视角构建劳动教育课程体系
机器狗
高职Java程序设计课程体系建设思考
构建优质学前健康教育课程体系促进幼儿健康成长
“三位一体”课外阅读课程体系的实施策略
未来机器城
基于网络搜索数据的平遥旅游客流量预测分析
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究