基于案例的《机器学习》课程教学方法研讨
2018-06-21刘丛彭敦陆邬春学
刘丛 彭敦陆 邬春学
摘 要:机器学习处于人工智能的核心位置,对机器学习研究和人工智能发展具有非常重要的推动作用。由于机器学习涉及到太多数学背景而提高了学习者学习难度,并且学习者基础薄弱也制约了其学习深度。针对机器学习的学习现状及学习者面临的问题,提出分层次学习方法。该方法可让学习者对知识点的理解由浅入深、层层深入,并且让不同需求的学习者认清学习目标。实践证明,该方法提高了学习者积极性,能很好地使学习者入门、深入及精通,提高了学习效率。
关键词:机器学习;人工智能;分层深入学习
DOI:10.11907/rjdk.173298
中图分类号:G434
文献标识码:A 文章编号:1672-7800(2018)005-0223-04
Abstract:Since machine learning is at the core of artificial intelligence, research on machine learning plays a very important role in the development of artificial intelligence. Because machine learning involves various mathematical backgrounds, it increases the difficulty of learners. And the weak foundation of learners also limits the depth of their learning. Aiming at the learning status of machine learning and the problems faced by learners, this paper proposes a hierarchical learning method. This method can allow learners to understand the knowledge points and allow different needs ofhelps step by step learners with different needs to recognize learning objectives. Through practice, it has been proved that this method improves the enthusiasm of learners, enables learners to get started, makes them learn more deeply and proficiently, and improves their learning effects.
Key Words:machine learning; artificial intelligence; stratified deep learning
0 引言
隨着信息技术的高速发展以及软硬件技术、智能理论的不断完善,人工智能技术越来越受到研究者的关注。其已经广泛应用于诸多领域,如智能机器、智能制造、智能安防、智能医疗、智能金融、智能安全、智能零售、智能教育等。作为人工智能的核心,机器学习是其重要的组成部分。其是一门多学科交叉的学科,以优化论、概率论、矩阵论、逼近论、统计学点集拓扑学为基础,具有深厚的数学背景[1]。其主要研究如何使用计算机建立合适的模型,从海量数据中总结出规律,并转化成知识,以逐渐改善自身性能。由于大多数模型都有非常深厚的数学背景,所以学习者在学习时会遭遇诸多困境。
近年来,机器学习的教学方法也被越来越多地提出。文献[2]针对机器学习存在的问题,提出了理论结合实践的教学方法,并在教学中激发学习者的学习兴趣。文献[3]以分组化教学,提高学生的学习兴趣,并且设计了新的教学大纲。文献[4]提出了以教学与研究相结合的教学模式,以提高学生的创新能力。文献[5]使用问题驱动的机器学习教学方法。文献[6]提出以深度学习为机器学习的主导,加强案例教学,提高学生的科研能力。诸多教学研究者提出了自己的教学方法,但是少有研究者在机器学习的教学深度和分层教学上有所尝试。根据近年来在机器学习方面的研究及教学工作,本文总结出一套针对不同层次的入门-深入-精通的学习方法,并使用FCM算法作为案例详细讲解。
1 机器学习现状
1.1 模型多,算法深奥难懂
由于机器学习涉及到太多的数学模型,如模型建立、模型求解、模型准确性以及模型求解方法的完备性等都需要非常多的数学背景。如在聚类的Kmeans算法中,需要用到凸优化的求解方法,梯度下降法、牛顿法以及共轭梯度法等算法需要对导数、偏导数、海森矩阵等相关知识有非常深入的掌握。在证明迭代算法的收敛性时还需要用到点集之间的映射、连续映射、闭映射以及边缘海森矩阵等相关知识。在支持向量机中,求解过程会用到拉格朗日乘子、二次规划以及最大最小优化问题。在神经网络求解中会用到反向传播算法,该算法通过计算权重的偏导数对权重进行更新。降维算法以及线性嵌入使用最多的为矩阵论中的矩阵变换以及特征值与特征向量等求解方法。决策树是基于信息论设计的。混合高斯模型及其求解方法期望最大化使用最大似然估计以及Jensen不等式的思想,而贝叶斯算法则使用统计学与概率论的相关知识。面对如此庞大而又深奥的数学知识,很多学习者感觉寸步难行,失去了学习的兴趣和动力。
1.2 内容分散,学习深度不足
现有机器学习参考的是分章节介绍不同的学习模型。如聚类、K近邻、朴素贝叶斯、支持向量机等每个模型作为一章介绍。每章之间的关联性不是很强,就会导致学习者在学习过程中对每个算法都无法深度了解。针对每个算法没有形成一条完整的知识链。其次部分参考书由于在编写其过程中也只是对算法作浅层次的介绍,而深度略显不足,所以无法使学习者掌握其深刻内涵。
1.3 基础不同,学习目标单一
机器学习面向各种不同专业的学习者,其基础各不相同。具有数学背景的学习者理论基础比较深厚,其它工科类背景的学习者理论基础稍显薄弱,而非工科背景的学习者理论基础则更不好。所以不同的学习者应该制定不同的学习目标和学习方法。
针对上述问题,在机器学习教学中,注重学习者分层学习,研究如何针对不同层次的学习者,确定学习目标及学习方法并激发学习者深入学习的兴趣及创新能力。
2 机器学习层次分析:以模糊c均值为例
FCM聚类算法[7]在机器学习中应用非常广泛,目前文献对其研究比较深入,该算法学习详细讲解其针对不同目标的学习者所要达到的深度,让绝大多数学习者轻松入门,让部分算法设计者理解算法的基本推理步骤以及所需要的数学知识,让少数深入研究者掌握该算法的优缺点,并在此基础上激发其创新灵感。FCM的基本思想为将模糊划分的思想加入聚类模型中,建立具有模糊思想的类内紧凑型。使用梯度下降法优化该目标函数至最小,以获取最优隶属度因子和聚类中心位置,提高聚类精度。
2.1 模型建立
Kmeans算法[8]是给定一个数据集X={x1,x2,...,xn},其中xi∈Rd為d维变量。K-means算法将该数据集中的n个数据划分到c个簇中,使得同一个簇中的数据相似性较大,不同簇中的数据相似性较小。根据该思想可以对同一簇中的元素建立对应的模型,如公式(1)。其中Ci表示第i个簇中所有数据所组成的集合,vi表示该簇的中心点。通过最小化公式(1),可获得该簇内数据之间相似性最大。
分析得知,公式(2)与公式(3)相同。通过增加公式(4)这一约束条件,将隶属度信息加入到目标函数中,但这不是真正的模糊C均值算法。将隶属度修改如公式(5),即为完整的模糊C均值模型。
通过该模型的讲解,使学习者了解FCM的思想、来源以及与Kmeans算法间的关系。对于使用FCM算法的学习者,需要将应用领域的数据转化成一组X的形式,然后使用高级程序语言调用现有函数即可实现。
2.2 求解方法推导
对于深入学习的学习者,特别是对于算法程序设计的学习者来说,仅学会模型的建立是不够的,更需要深入学习求解该模型的方法、推导过程及所需要的优化方法。如梯度下降法、牛顿法以及共轭梯度法等。在学习该类算法之前,需要详细回忆将高等数学中的导数、偏导数、泰勒公式等相关知识。通过导数、梯度的概念引出梯度下降法的思想,用泰勒展开式引出牛顿法的基本思想,沿着负导数的方向或者一阶二阶导数比值的方向寻找最优解。可以针对牛顿法的海森矩阵正定的思想引出拟牛顿法以及使用向量的正交性引出共轭梯度法。
使用求导数的思想求解FCM算法的基本模型。由于公式(3)中含有uij和vi两类需要求解的参数,分别对该两个参数求导,则可获得迭代公式(6)~(7),需重点学习如何求偏导算法。
对于学习者,能完整地推导出迭代公式,则说明对该算法有很深的理解和掌握。
2.3 深入分析与创新学习
通过以上学习,对FCM的详细推导以及优化算法有了比较深刻的认识。对于算法设计者已经能够针对公式详细地编制出准确的代码。针对深入研究该算法的学习者,首先需要对传统FCM自身存在的不足以及解决实际问题时所存在的缺陷作全面了解。传统FCM的问题主要包括:
(1)聚类的类数目c需要提前指定。
(2)相似度通常使用欧氏距离,但其只能处理超球形的簇。
(3)计算数据间相似度时,每维特征使用相同权重。
(4)传统数学优化算法的最优解与初始值有关。
2.3.1 聚类数目问题
针对上述问题(1),通常设计合适的有效性指标寻找最佳聚类数目。公式(3)只考虑了每个簇内的紧凑性,随着c值的增加,该公式呈下降趋势,类与类之间的距离会越来越近,而任意两个类之间的距离则越大越好,基于该思想设计了XB聚类指标[9],如公式(8)。
公式(11)的迭代公式区别在于该公式中含有3个未知数。公式(11)存在的问题则是某一个特征的数值比较小,算法就会增加它的权重;如果特征维的数值很大,算法就会减小它的权重,为了避免出现该问题,加入权重信息熵的概念,以平衡每维权重[13]。则新的模型如公式(12)。
公式(12)中第二项使用了权重的信息熵。通过最大化信息熵,使每维权重相差缩小。
2.3.4 全局优化问题
针对上述问题(4),使用全局优化算法。学习者在此需要对智能优化算法作详细了解。该类算法包括遗传算法(GA)、进化算法(EA)、粒子群算法(PSO)等[14]。掌握智能优化算法和基于梯度算法之间的区别与联系。梯度法对问题的约束比较高,需要模型处处连续、处处可导,并且最优解与初始值的选取关系非常大,初始值选取不当易陷入局部最优,而智能优化算法对问题的要求非常低,并且获取全局最优的概率高于传统的梯度法。而智能算法的缺点在于时间复杂度比较高。
使用该类算法作为优化器求解时,需要将未知变量描述成染色体的形式。以优化公式(3)为例,该公式中有两个未知数uij和vi,由于公式(6)和(7)互相转化,所以只有一个未知数。将vi编码,则染色体可以描述如图1所示。
算法的基本流程如下:
Step 1 随机选择一组染色体,该染色体由聚类中心组成。
Step 2 评估该组染色体,并使用某种策略产生一组新的染色体。
Step 3 如果满足停止规则,则停止,否则转向Step2。
Step 4 输出最优解。
2.4 深层次学习
当学习者针对FCM的缺点提出完善模型后,需要对该模型进行求解。但获得的最优解是否一定是最优解,则需要对该最优解以及最优解的求解过程作完备性证明。由于大多数学习者很少涉及到该理论证明,笔者在此作简单介绍。以公式(10)为例,其优化算法迭代步骤如下:
Step 1 随机选择一组中心V和一组权重W。
Step 2 固定V和W,使用一阶偏导数为0求解U的最优解。
Step 3 固定U和W,使用一阶偏导数为0求解V的最优解。
Step 4 固定V和U,使用一阶偏导数为0求解W的最优解。
Step 5 Jm-w(V,U,W)不再发生变化即可停止。
为了证明该优化算法的收敛性,需要使用zangwill定理证明该映射规则及迭代序列具有收敛性[15]。如果该映射规则与迭代序列是收敛的,其必须满足zangwill定理的3个条件:①每次迭代获得的新解具有下降性;②产生新解的映射是闭映射;③所有的收敛序列必须在一个紧集中。
要满足这3个条件,需要用到数学分析上的一些知识。
(1)证明下降性,需要证明Step2-Step3获得的最优解为严格局部极小值的充要性。充要性可分解为充分性和必要性,必要性可通过步骤中的求导为零获得,而充分性需要使用海森矩阵以及边缘海森矩阵计算该解一定为局部最优解。海森矩阵是针对非约束条件的参数,边缘海森矩阵针对带有约束条件的参数。
(2)证明映射规则为闭映射。需要使用海涅伯雷尔理论有限覆盖理论证明。
(3)收敛序列在一个紧集中。由于vi满足凸包的基本特性,并且是一种有界闭集,所以收敛序列在一个紧集中,则该模型满足zangwill理论。
3 结语
机器学习是一个比较热门的领域,越来越多的学习者致力于该领域的研究。但由于其涉及太多数学背景,导致很多学习者很难深入了解。根据多年的学习和教学经验,将机器学习的知识进行分层次讲解,使得不同需求的学习者清楚所要达到的程度。
参考文献:
[1] 李勇.本科机器学习课程教改实践与探索[J].计算机教育,2015(13):63-66.
[2] 闵锋,鲁统伟.《机器学习》课程教学探索与实践[J].教育教学论坛,2014(53):158-159.
[3] 曲衍鹏,邓安生,王春立,等.面向机器学习课程的教学改革实践[J].计算机教育,2014,223(19):88-92.
[4] 袁鼎荣.浅谈《机器学习》的课程教学方法[J].广西经济管理干部学院学报,2010,22(4):99-101.
[5] 胡雪蕾,孙明明,孙廷凯,等.研究生“机器学习”课程教学改革实践与探讨[J].煤炭高等教育,2012,30(1):118-121.
[6] 王雷全,吴春雷,郭晓菲.机器学习科研实践课程建设[J].电子世界,2017(17):50-51.
[7] BEZDEK J C, EHRLICH R, FULL W. FCM: The fuzzy c-means clustering algorithm[J]. Computers & Geosciences, 1984,10(2):191-203.
[8] 張昌明.一种基于模糊数学思想的K均值算法[J].软件导刊,2016,15(5):41-43.
[9] XIE X L, BENI G. A validity measure for fuzzy clustering[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1991,13(13):841-847.
[10] 蔡静颖,谢福鼎,张永.基于自适应马氏距离的模糊c均值算法[J].计算机工程与应用,2010,46(34):174-176.
[11] ZHOU Z, ZHU S. Kernel-based multiobjective clustering algorithm with automatic attribute weighting[J]. Soft Computing, 2017(12):1-25.
[12] HUANG J Z, NG M K, RONG H, et al. Automated variable weighting in k-means type clustering.[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2005,27(5):657-68.
[13] ZHOU J, CHEN L, ChEN C L P, et al. Fuzzy clustering with the entropy of attribute weights[J]. Neurocomputing, 2016,198(C):125-134.
[14] 李伟峰.一种新的PSO优化FCM方法在图像分类中的应用[J].软件导刊,2013(8):72-75.
[15] YANG M S, TIAN Y C. Bias-correction fuzzy clustering algorithms[J]. Information Sciences, 2015,309:138-162.
(责任编辑:刘亭亭)