APP下载

以综合能力培养为目标的本科模式识别课程改革与探索

2024-02-20钊,王力,唐

科教导刊 2024年2期
关键词:模式识别知识点算法

杨 钊,王 力,唐 冬

(广州大学电子与通信工程学院 广东 广州 510006)

模式识别是用计算的方法,根据样本的特征将样本划分到一定的类别中去[1],即通过数学方法让计算机来实现类似人的模式识别能力。模式识别广泛应用于图像识别、语音识别、生物特征识别、信息检索、数据挖掘、信号处理等领域,因此成为电子信息工程、通信工程、人工智能、自动化、计算机工程等本科专业重要的课程。该课程能够为这些专业的学生将来从事智能信息处理方面的工作打下良好的基础。

该课程具有较强的理论性和实践性[2],一方面要求学生具有扎实的数学理论基础,以掌握各种算法原理及推导过程;另一方面要求学生具有动手实践能力以解决实际的模式识别问题。此外,模式识别的内容也是不断更新的。因此,传统以单一教材结合PPT讲授为主的授课方式在模式识别课程教学上表现出明显的不足。本文结合笔者自身多年的模式识别课程教学经验,尝试探索教学改革新模式。主要思路包括:在课堂教学中融入案例和项目应用,以提高学生的学习兴趣;建立与课程配套的各种教学资源,以方便学生深入了解课程内容以及自主学习;采用多样的课程考核方式,从不同层面考查学生的学习情况和锻炼学生的动手能力和创新能力。通过理论教学和实践教学相结合的方式,最终培养学生综合应用知识并解决实际问题的能力。

1 课程现状分析

模式识别课程具有较强的理论性和实践性。理论性表现在很多算法涉及高等数学、线性代数和概率论等数学知识[3];此外有些算法本身具有一定的抽象性[4],学生需要较强的逻辑推理能力才能理解其原理。实践性主要是指模式识别具有广泛的应用,即模式识别方法应该和具体实际应用问题相关联。学生需要通过编程算法进行工程实现来进一步理解其原理细节,同时了解方法的优缺点。另外,模式识别具有发展性。随着计算机技术的发展、行业应用需要的增加以及相关领域的研究不断深入,模式识别具体涉及的内容也在不断更新。其中,最为典型的就是深度学习技术的繁荣发展,为模式识别提供了新的思路和方法[5]。

传统以单一教材结合PPT 讲授为主的教学方法难以满足课程目标要求,导致课堂教学效果不理想,主要表现在以下几个方面。

1.1 单纯的数学理论公式推导让学生感觉到枯燥

例如主成分分析原理涉及协方差矩阵计算以及二次型优化问题,线性回归解析解的推导过程涉及向量的求导运算,神经网络训练过程涉及复杂的反向梯度求解过程,支持向量机的求解涉及优化相关理论。虽然学习模式识别课程的本科生有高等数学、线性代数以及概率论等数学基础,但是他们对数学知识的运用还是有所欠缺。在笔者早期的模式识别课程教学过程中,如果直接讲算法推导而不讲数学补充知识的话,有时大部分学生感到非常吃力且上课积极性不高,影响了整个课程的教学效果。

1.2 知识点复杂使得学生难以消化吸收

对于本科生来说,课程的内容决定了模式识别是一门较难的课程。一方面概念比较多并且还需要理解,例如监督学习、非监督学习、聚类与分类、过拟合与正则化、协方差矩阵、核方法等。另外对于一些复杂的算法推导过程,学生在听课过程中很难完全吸收。此外,对于完整的模式识别过程以及实现细节,通过理论课的讲解学生也很难完全掌握。例如数据预处理方法和特征提取算法的选择,训练集、验证集和测试集的划分与使用,不同算法标签数据的设置方式,模型参数的选择与调优等系列问题。

1.3 基础验证实验不能有效锻炼学生的综合能力

虽然基础的验证实验能够让学生通过编程的方式理解算法的实现细节,但对其实践能力的培养还是有所不足。例如,在讲解主成分分析时,对二维椭圆数据进行主成分分析,可以得到数据变化的主要方向(长轴)和次要方向(短轴)。但如何将主成分分析方法作为降维算法用到整个模式识别的框架中,以及算法效果如何,学生还是不能很好地运用。对于支持向量机实验,如果只是简单地验证和应用实验不能有效培养学生解决实际问题的能力,需要进一步让学生掌握如何将现有的实际问题转化为支持向量机分类问题,以及如何将预处理、数据降维、参数选择等技巧融入支持向量机算法中,以进一步提高模型的准确性和泛化能力。另外,本科生相对缺乏科研思维及创新意识,对算法的学习局限于课堂讲解到的内容,不知道如何进一步深入算法细节,不能很好地评估算法的性能以及理解算法的局限性。

2 课程改革措施

针对目前教学过程中存在的问题,课程组有针对性地提出改革措施,具体思路如图1 所示。首先对课程知识点进行梳理,规划好实验部分并做好案例与项目设计;然后根据课程内容建立丰富的课程资源;最后形成多样化的考核机制。

图1 模式识别课程改革思路框架图

2.1 教学内容梳理

教学内容的合理组织安排,可以让学生理解不同知识点之间的关联,以及在模式识别框架中的作用。对于理论课,首先教师在讲解模式识别基本概念时,可以通过基于模板匹配的手写数字识别的例子引出模式识别的基本流程,包括数据准备、预处理、特征提取、分类算法以及算法性能测试等。接下来,介绍基本的特征提取方法和相似度测量内容。然后,再从无监督学习方法过渡到监督学习算法,包括回归分析与神经网络,以及模式分类算法。之所以将回归与神经网络放在一章进行讲解,主要是因为逻辑回归可以认为是一种简单的神经元,同时回归分析和神经网络都可以通过梯度下降的方法进行求解,具有很多相似之处。最后讲解模式识别的一些具体应用和介绍深度学习相关的前沿知识。深度学习方面主要是让学生了解深度学习的基本概念,同时能够借助现有的深度学习平台让学生快速编程入门并解决简单的分类和回归问题。理论课合计32 学时。对于实验课,选取重要的章节知识点让学生进行实验,合计16 学时。具体实验内容包括:模式识别基础实验(4 学时)、聚类分析实验(2 学时)、主成分分析实验(2 学时)、回归分析实验(2 学时)、神经网络实验(2 学时)和支持向量机实验(4 学时)。在实验课开展过程中,鼓励学生采用多种编程语言完成实验内容,例如Matlab、Python 或C++等编程语言。

2.2 案例项目设计

良好的案例项目设计可以培养学生的学习兴趣,以及加深其对算法实施细节的理解[6]。在理论教学过程中,教师可以将手写数字识别案例贯穿整个课程。在讲解基于模板匹配的手写数字识别时,在课堂上采用Matlab 或Python 语言一行一行地编写代码,实现整个手写数字识别工程。这样学生可以更好地理解模式识别的基本流程,同时学生可以掌握如何将理论知识转化为代码应用,极大地提高学生的自信心。

然后对于具体的算法,可以引入对应的案例。例如针对K-means 聚类算法可以选取消费行为数据做聚类分析;对于主成分分析算法,可以选择鸢尾花数据集(Iris Data Set)做降维分析并可视化显示降维的效果;对于逻辑回归算法,可以选择心脏疾病数据集(Heart Disease)做二分类应用。最后设计1~2 个典型的应用案例对课程所有的知识点进行串联。例如,可以选择基于主成分分析的人脸识别系统或花朵分类应用。此外,案例教学有利于启发和引导学生参加专业相关的一些学科竞赛,如大学生电子设计竞赛、“挑战杯”全国大学生课外学术科技作品竞赛等竞赛活动。

2.3 教学资源建立

丰富的教学资源有利于学生深入理解课程知识点,也可以引导学生进行自主学习。教学资源包括:参考书目、补充资料、视频资源、课程代码、网络资源等。

①指定参考书目列表可以拓展课程内容的深度和广度[7]。优秀的参考书目包括Richard O. Duda 等人编写的《模式分类》第2 版[9]、希腊Sergios Theodoridis 等人编写的《模式识别》第4 版、Christopher M. Bishop 编写的《Pattern Recognition and Machine Learning》[9]、南京大学周志华编写的《机器学习》[10]。客观地讲,这些书籍对于本科生来说具有一定的难度。但是作为参考资料,当学生需要深入了解具体某一算法细节的时候,这些书籍能够提供很大的帮助。

②补充必要的教学辅助文档资料有助于学生轻松学习知识点内容。模式识别算法高度依赖于数学知识,因此教师可以根据理论课内容,有针对性地总结和整理数学复习文档资料,引导学生自主学习。例如高等数学中级联求导、拉格朗日数乘法,线性代数中的矩阵基础、向量范数和内积、矩阵的迹、矩阵的导数、特征值和特征向量、矩阵分解以及二次型等内容,概率论中的随机变量、期望、协方差矩阵和贝叶斯公式。此外,还可以补充一些编程基础,包括Matlab 和Python 语言,以实现算法仿真或完成实验内容。具体实施可以参考斯坦福大学的CS231n 课程,将编程语言基础核心部分以精简的文档形式呈现,学生可以快速入门或复习编程语言。

③对课程重点知识建立视频资源,可以让学生在课后反复理解,增强学生学习的灵活性。例如马氏距离中协方差矩阵的理解对于初学者来说相对复杂,可以通过视频的形式详细讲解计算方法以及其物理意义。对于主成分分析,可以通过视频讲解其原理推导过程和实现步骤。对于反向传播算法,可以通过视频重点讲解输出层和隐藏层的梯度求解过程以及梯度更新细节。对于深度学习方面,可以将编程环境的搭建与配置过程以及注意细节录制成视频,让学生能够按视频操作快速入门。

④对理论课的内容配置相应的代码,在讲完算法以后,通过讲解和运行代码让学生进一步理解算法细节,以及观察算法的结果。代码方面,除了实现算法的基本内容以外,还需要考虑代码的可展示性。例如,针对随机梯度下降知识点,编写的代码应该可以动态展示梯度下降的过程以及体现学习速率的作用。此外,还可以搜集整理一些简洁清晰的代码资源,供学生课后自主学习和运行使用。

⑤网络资料有利于学生开阔视野范围。例如:Pytorch官网提供的深度学习基础教程和代码,斯坦福大学的机器学习课程CS229,加利福尼亚大学尔湾分校的机器学习和模式识别数据集等资源,支持向量机库LIBSVM,基于Python的机器学习库Scikit-learn 等。

2.4 多样化考核

课程闭卷考试在一定程度上可以考查学生对模式识别理论知识的掌握程度,但不能有效地衡量学生对知识点的应用能力。因此,需要建立多样化的考核方式,来引导和督促学生对所学知识进行运用和深入理解。除了闭卷考试以外,可以将课堂表现、实验部分和课程大作业纳入课程考核中。课堂表现主要考查学生的课程参与程度,可以通过课堂提问以及随堂小测试等方式来实施。实验考核包括实验验收和实验报告两部分。每次实验课当场验收每位同学的实验完成情况,并针对性地提出问题,以检查其独立完成情况。实验报告要求学生在下一次实验课时提交纸质版和电子版,主要检查实验的完成情况和报告的撰写质量。课程大作业分为工程应用和科研探索两种类型。学生可以根据自己的情况选择工程应用型还是科研探索型的课程作业。工程应用课程作业要求学生实现一个简单的模式识别系统,如车牌识别、光学字符识别等。这些系统应包括数据采集、处理、识别和结果显示等完整的模式识别步骤。科研探索的课程作业要求学生对相关算法进行复现、对比、分析和一定的改进,并形成规范的图表数据,最后课程作业的内容以会议论文的形式呈现和提交。这样学生通过课程的学习,可以慢慢培养自己的科研兴趣,也为将来需要进一步进入研究生阶段学习的同学打下科研基础。

此外,在上述课程改革措施中,可以融入课程思政元素。案例教学能够让学生明白学以致用的道理;通过课程资源方便学生课后学习,以培养学生自主学习、终身学习的能力。考核方式中的工程应用类型作业可以督促和引导学生勇于实践,科研探索型作业可以培养其科学思维和创新精神。

3 结语

本文探讨了面向本科模式识别课程改革的具体措施。①将模式识别案例与课程知识点进行关联,提升学生的学习积极性。②通过建立丰富的课程资源引导学生课后进一步学习,使学生能够深入掌握重难点知识,培养其主动学习的习惯。③课堂表现和实验部分能够考查学生上课的参与度以及对知识的理解运用情况;工程应用和科研探索的大作业考核方式能够结合学生自身的学习情况,从不同层面充分锻炼学生的实践能力和创新能力。整个改革思路覆盖了学生“兴趣→理解”“深入→自主”“应用→探索”这一学习过程,能够有效地解决传统以单一教材结合PPT 讲授为主的教学方法存在的不足。该课程改革思路也可以推广到相似的其他课程,如机器视觉、数字图像处理、神经网络与深度学习等。

猜你喜欢

模式识别知识点算法
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
浅谈模式识别在图像识别中的应用
第四届亚洲模式识别会议
一种改进的整周模糊度去相关算法
关于G20 的知识点