APP下载

大数据时代线性代数教学内容改革研究

2019-01-10鲁晓磊吕学斌

科技视界 2019年35期
关键词:线性代数

鲁晓磊 吕学斌

【摘 要】线性代数是工科、管理学科等非数学专业中重要的一门数学基础课程。随着计算机,互联网及伴随的大数据的快速发展,线性代数理论和方法在各领域都有了更深更广泛的应用。本文针对目前线性代数教学中存在的问题,并结合数据科学发展的需求和自身的教学实践,对线性代数教学内容改革进行了探索,以期能获得更好的教学效果。

【关键词】数据科学;线性代数;矩阵分解;数学软件

中图分类号: G80-32文献标识码: A文章编号: 2095-2457(2019)35-0056-002

DOI:10.19694/j.cnki.issn2095-2457.2019.35.025

0 引论

大数据时代,在各种行业领域中,根据获取的数据来解决各自领域问题已成司空见惯的事情。在数据科学日渐盛行,数据即为资源的年代,线性代数被认为是数据科学领域中的数学语言。不懂线性代数,不对线性代数有深入理解,就很难处理以数据为驱动的各行业问题。事实上,数据在数学上往往通过数,向量,矩阵及张量来表示,而这些正是线性代数的基本概念。麻省理工学院数学系著名教 Gilbert Strang 认为:数学的许多应用都是离散而非连续,是数字而非模拟的,数据世纪已经开始,向量和矩阵已成为必须熟知的语言[1]。

虽线性代数在大数据时代重要性日渐增强,然而,但目前的大学数学教学,相比高等数学,概率统计课程,线性代数学时相对较少;同时,目前国内线性代数的教学内容仍是按传统模式进行,国内主流的线性代数教材的主要内容和安排顺序通常是:先讨论行列式,然后矩阵概念、性质和运算,接下来是矩阵初等变换、秩及线性方程组求解,向量组的一些概念性质,最后矩阵特征值,二次型等内容。这些内容虽然都是线性代数的精髓,但过于侧重理论而轻视和实际问题的联系,造成理论与实践应用脱节,从而导致该课程教学效果达不到理想效,同时也不利于培养学生解决实际问题的能力,学生听课也感觉线性代数枯燥无味,产生抵触心理。此外,在大数据背景下,一些和线性代数紧密联系的数据处理方法,如线性模型,主成分分析,最小二乘,矩阵的低秩分解等方法,在目前的线性代数课程中也缺少必要的介绍。本文针对目前线性代数教学中存在的问题,并结合数据科学发展的需求和自身的教学实践,对线性代数教学内容改革进行了探索,以期能获得更好的教学效果。

1 大数据时代线性代数教学内容改革研究

结合国外线性代数著名教材[1-2]及著名优化和数据科学专家S. Boyd的应用线性代数方面的著作[3],同时参考数据科学相关的主要著作[4-6],我们对线性代数教学内容提出若干参考建议,以提高学生的学习兴趣,提高学生利用线性代数知识解决一些基本的数据科学相关的实际问题能力。

1.1 线性代数课程内容次序的变化

目前的线性代数教材体系一般都是从行列式开始讨论,然后是矩阵,线性方程组和向量及向量空间等[7-8]。这种安排在第一章行列式计算就会让学生望而止步,但行列式的计算并不是线性代数的重点。后续矩阵运算和线性方程组求解理论,这些知识点在向量和向量空间概念之前介绍也不太自然,很难展开讨论。线性代数课程更多的是知识点的堆积,学完之后学生能够了解线性代数中的大部分知识点,但缺少联系,缺乏从不同观点看待同一问题,因而也就很难灵活的运用线性代数知识解决实际问题。

在数据科学时代,一切的数据信息都可以通过向量表示,本文认为从向量概念开始讨论线性代数是适合的。首先讨论向量概念及其运算,向量的线性组合,内积和范数等概念。引入向量概念的自然的,许多数字信号本身都是向量,如语音信号,图像信号等,而向量差的范数可以衡量两向量间的相似程度,向量的线性组合用于表示新的向量,这也是表示学习的一个重要起点[6]。然后,再从线性方程组求解问题引入矩阵概念,这里面关键是可将矩阵看成向量的排列。线性方程组Ax=b中Ax可看为矩阵A列的线性组合,一个线性方程组是否有解等价于b是否可以由A的列向量线性表示。而矩阵C=AB乘积也可以从A的列向量线性组合来约定。接下来安排向量空间的基本内容,其关键是详细讨论和一个m×n的矩阵A相关的几个子空间:列空间Col(A),行空间Row(A)和零空间N(A),按照对称性,也可以简单介绍下左零空间,即AT的零空间N(AT)。Gilbert Strang把这四个子空间及其联系看作线性代数的基本定理[1]。事实上,如能熟练掌握求解这四个子空间的维数,基及相互之间的联系,那么线性代数课程中关于矩阵秩求解,向量组的极大线性无关组的计算,线性方程组求解理论,正交互补空间等问题也就完全解决了。最后,介绍行列式概念,矩阵特征值及对角化,二次型等内容。需要向学生强调,在学习线性代数课程中,应学会从不同角度看待同一问题。如矩阵乘向量问题b=Ax,我们既可以看成矩阵列的线性组合,也可以看成对向量x做了线性变换,也可以看为空间中多个超平面的交集,而在数据科学领域,这一式子是线性模型的典型形式。

在大数据背景下,我们认为线性代数教学内容按照向量,矩阵,向量空间,行列式,特征值及对角化,二次型次序安排较为合理。此外,通过一些具体的数据模型实例引入基本概念可能更会增加学生学习兴趣,提高学习的主动性。

1.2 增加常见的矩阵分解知识

矩阵分解的基本目标是把一个一般复杂的矩阵分解成一些特色简单矩阵的乘积,在诸如稀疏编码,矩阵补全,数据降维,数据聚类等数据科学领域有广泛应用。虽然矩阵分解的相关知识在矩阵论课程中会有更一般的讨论,但在线性代数课程中,从现有内容中即可推广到一些常见的矩阵分解方法。目前国内大学线性代数讲课内容,只讨论了对称矩阵的特征分解,而對其他常用的矩阵分解只字不提,这无疑限制了线性代数的应用范围。我们认为,至少应该增加三种常见的矩阵分解的介绍,即矩阵的LU分解,QR分解和奇异值分解(SVD)。

矩阵的LU分解其实是通过初等行变换把一般矩阵变为阶梯形矩阵的矩阵表示。众所周知,任何矩阵都可通过初等行变换变为阶梯形矩阵,若不考虑两行交换位置的行变换,则将矩阵通过初等行变换变为阶梯形矩阵等价于将矩阵表示为一个单位下三角矩阵和阶梯形矩阵的乘积,即A=LU,这里L为单位下三角矩阵,U为阶梯形矩阵,这即为矩阵的LU分解。在Matlab 软件中,通过命令[L,U]=lu(A)即可实现矩阵的LU分解。线性代数另一个重要内容是格拉姆-施密特正交化方法,该方法将一组线性无关的向量组变为标准正交向量组。若将该组线性无关向量组按列排成矩阵A,则格拉姆-施密特正交化方法的矩阵A表示为矩阵的QR分解。具体来说,一个列满秩的m×n矩阵分解为A=QR,其中m×n矩阵Q的列构成了矩阵A列空间的标准正交基,而n阶方阵R是一上三角矩阵,且对角线元素都为正。在Matlab 软件中,通过命令[Q,R]=qr(A)即可实现矩阵的LU分解。矩阵的LU分解和QR分解都是将一个一般矩阵分解为特殊矩阵的乘积形式,在诸如线性方程组求解,最小二乘等领域广泛应用[3]。

最为重要的矩阵分解公式应该是奇异值分解。遗憾的是,国内多数线性代数教学内容都没有包含这一部分内容,而国外主流线性代数教材中都会花相当大篇幅讨论矩阵的奇异值分解[1-2]。矩阵奇异值分解的重要性不仅体现在线性代数本身,而且也广泛应用在数据科学的众多领域。事实上,奇异值分解其实是对称矩阵特征分解公式的一般化推广。若A为n阶实对称矩阵,则存在正交矩阵Q和对角阵?撰,使得A=Q?撰QT,这即为矩阵的特征分解。对一般的m×n矩阵A,我们有奇异值分解公式A=U∑VT,这里,U,V分别是m阶和n阶正交阵,∑是m×n矩阵,形式为∑=D OO O,D=diag{σ1,…,σr}(σi>0,i=1,2,…,r),r为矩阵A的秩。在线性代数领域,熟练掌握奇异值分解对诸如求矩阵的秩,列空间和行空间的标準正交基,矩阵逆,矩阵伪逆,最小二乘等问题都有极大帮助。在实现方面,通过Matlab命令[U,S,V]=svd(A)即可实现矩阵的奇异值分解。本文认为,在线性代数教学过程中,简单介绍矩阵的几种常见分解公式非常有必要。熟练掌握这些常见的矩阵分解公式对解决数据相关的问题是极为有益的。

1.3 将数据科学方面的应用融入课程教学

如果线性代数只是讨论各种知识点,而没有应用驱动,学习兴趣就会大为减弱。实际上,线性代数的许多概念性质都有很强的应用背景,特别是在大数据时代,线性代数的应用领域更为广阔。因此应该在每个重要的概念或重要结论提出之前需要引入相关的应用背景,而不是单纯的先一堆定义又一堆定理。举例来说,矩阵概念可以从线性方程组求解引入,但也可以通过数据类型问题引入,如一副灰度图像数学上对应一个矩阵,在图论中刻画节点相似程度也可通过矩阵描述。又如对矩阵的秩概念,一般有意义的矩阵,列向量往往是相关的,因此矩阵秩较低。然而,实际观测矩阵往往包含噪声或丢失数据,如果需要消除噪声或补全丢失数据,可采样矩阵的低秩逼近技术,如Netflix视频评价方法采用了矩阵的低秩技术[9]。此外,讨论矩阵特征值特征向量概念,可通过谷歌著名的网页排名算法“PageRank”引入。

在讲授线性代数基本概念引入应用背景能较好激发学生学习兴趣,除此之外,还应该增加和数据科学密切联系的应用案例。线性代数在数据科学领域的应用极为广泛,如线性方程组求解问题的最小二乘方法可用于求解数据科学领域的线性回归问题[3];奇异值分解公式和主成分分析紧密相连,而主成分分析是最为经典的线性降维方法,在数据科学领域广为应用[2];矩阵秩极小化问题可用于解决视频推荐,图像去噪,视频前背景分离的众多图像数据问题[9]。但是,需要注意,在涉及数据分析类型案例中,数据量往往较大,因此应该增加数学软件的介绍,如Matlab数学软件或者和大数据密切联系的Python软件。在学习线性代数过程中,如果能够掌握一种计算机语言,借助线性代数的基本原理解决一些数据类型的应用案例,这不仅能增加学生学习线性代数的乐趣,而且能有效提高学生动手能力。

2 结论

本文讨论了在大数据背景下,和数据科学密切联系的大学线性代数课程在教学内容方面的一些改革。在目前的教学体系下,本文从教学内容次序安排,重视矩阵分解,增强概念应用背景介绍,增添和数据科学联系紧密的应用案例和加强数学软件教育几个方面,给出一些具体建议,期望能取得更好的教学效果,学生能更深入理解线性代数,更灵活的运用线性代数解决实际问题。

【参考文献】

[1]Gilbert Strang.线性代数(第5版)[M].北京:清华大学出版社,2019.

[2]David C.Lay著,刘深泉,等译.线性代数及其应用[M].第3版.北京:机械工业出版社,2005.

[3]S.Boyd,L.Vandenberghe.Introduction to Applied Linear Algebra:Vectors,Matrices,and Least Squares[M].New York:Cambridge University Press,2018.

[4]欧高炎,朱占星,董彬,鄂维南.数据科学导引[M].北京:高等教育出版社,2017.

[5]周志华著.机器学习[M].北京:清华大学出版社,2017.

[6]Goodfellow I., Bengio Y., Courville A.著,赵申剑等,译.深度学习[M].北京:人们邮电出版社, 2017.

[7]同济大学数学系.工程数学·线性代数第6版[M].北京: 高等教育出版社,2014.

[8]居余马,等编著.线性代数(第2版)[M].北京:清华大学出版社,2002.

[9]张长水,杨强.机器学习及其应用2013[M].北京:清华大学出版社,2013.

猜你喜欢

线性代数
翻转课堂模式下《线性代数》的教学改革初探
翻转课堂在独立院校线性代数教学中的应用研究
在线性代数课程教学中引入MATLAB的简单介绍
常微分方程的教学探讨
卓越工程师教育培养计划下的线性代数教学改革
讲解“线性代数与空间解析几何”时常见问题