何章鸣
(国防科技大学理学院)
数学教学实践中“三化”是指案例化、信息化和过程化。特征向量是高等工程数学、线性代数、概率论与数理统计的重点概念[1-2],也是生物识别技术的理论基础。捆绑定义的方式导致很难同时理解特征值和特征向量的内涵。本文试图用旋转、反射、投影、生物识别等生活案例来介绍特征值和特征向量,以期提高教学质量,并探索以案例化、信息化和过程化为代表的教育教学改革实践。
当今世界,科技突飞猛进。人脸识别产品已广泛应用于金融、司法、军队、公安、边检、政府、航天、电力、工厂、教育、医疗及众多企事业单位等领域[3-4]。但是放眼周围,却是另一番景象,先看三个案例。
案例一:在2017年iPhoneX发布会上,苹果公司使用了最新的生物识别技术(人脸识别)。不过,尴尬的是,现场第一次尝试人脸识别时,居然失败了,这也让许多人担心苹果人脸识别的效果。
案例二:从2015年起,微软将人脸识别WindowsHello应用于平板电脑SurfacePro4的登录,遗憾的是效果只能说“不错”,因为失败率超过百分之一,最后常用PIN或密码来解锁电脑。识别失败容易导致糟糕的心情,用户能深刻感受到:使用时间越长,人脸识别失败率越高,直到完全失效。微软人脸识别的提示语往往是:“正在寻找你”“请确保你的位置居中,且直视相机”“太近,请离远一点”“确保是你本人”,最后是“无法识别你,请用PIN码登陆”。
案例三:与人脸识别不同,指纹信息是非常容易数字化的,然而指纹识别是否稳定呢?某指纹就医信息系统经常出现“识别失败,请重新按指纹”的提示。某单位的指纹签到系统,错误率很高,成为大家调侃的对象;另一单位的大门指纹识别系统被弃用,上面写着“设备故障”;作者使用的笔记本指纹识别系统、手机屏幕指纹识别系统的错误率都非常高。
总之,尽管以人脸识别、指纹识别和虹膜识别为代表的生物识别技术发展迅速,但是实践表明:生物识别技术还不够稳健,难免失效。其实,生物识别技术的理论基础是特征值和特征向量,比如人脸识别中的特征向量称为特征脸。结合经典特征向量理论[5-6]和MATLAB数学软件[7],本文将回答:
(1)如何实施特征向量的案例化教学?
(2)如何实现特征向量的教学信息化、过程化?
特征向量的规范表述为:若A是n阶方阵,k是一个数字,x是非零n维向量,满足Ax=kx,则称k为A的特征值,x为A的对应于k的特征向量。
上述定义同时捆绑定义了特征值和特征向量,这种捆绑定义的方式使得概念很难理解。但是,如图1和表1所示,特征值和特征向量在生活中是常见的,下面通过讨论旋转、反射和投影三种几何变换小案例来理解特征值和特征向量。
图1 旋转(左)、反射(中)和投影(右)
表1 三种线性变换的特征值和特征向量
(1)旋转。绕OZ旋转a角度的变换记为
A=[c,-s,0;s,c,0;0,0,1]
其中c=cos(a),s=sin(a),显然OZ在旋转中保持方向不变,伸缩比例等于1,故特征值1对应的特征向量为OZ。特别地,当a=180时,旋转后,{OX,OY}长度不变,方向相反,故特征值-1对应的特征向量为{OX,OY}。
(2)反射。在{OX,OY}所在水平面的反射变换记为
A=[1,0,0;0,1,0;0,0,-1]
显然OX,OY在反射中保持方向不变,伸缩比例等于1,故特征值1对应的特征向量为OX,OY。另外,与水平面垂直的方向OZ,在反射中方向平行相反,伸缩比例等于1,故特征值-1对应的特征向量为OZ。
(3)投影。在{OX,OY}所在投影面的投影变换记为
A=[1,0,0;0,1,0;0,0,0]
显然OX,OY在投影中保持方向不变,伸缩比例等于1,故特征值1对应的特征向量为OX,OY。另外,与投影面垂直的方向OZ,投影后变为零向量(方向任意),伸缩比例等于0,故特征值0对应的特征向量为OZ。
从旋转、反射和投影中发现:特征向量实质就是变换前后保持方向不变的量,特征值的绝对值实质是变换前后长度的“伸缩比例”。
下面用一个农业人员和非农人员比例案例解释“特征值”的意义。
例 在从事农业工作的人员中,每年有四分之一改为从事非农业工作。在从事非农业工作的人员中,每年有六分之一改为从事农业工作。若人员总数不变,预测多年之后农业人员和非农业人员从业情况的发展趋势。
分析 设最初农业人员和非农业人员的数量占比分别 为[x0;y0]= [1/2,1/2]。第1年末农业人员和非农业人 员 的 数 量 为x1,y1。依据题意有x1=3*x0/4+y*0/6,y1=x0/4+5*y0/6,人员迁移矩阵为A=[3/4,1/6;1/4,5/6]。第k年,农业人员和非农人员满足[xk;yk]=Ak[x0;y0],因为[3/4,1/6;1/4,5/6][2;3]=[2;3], [3/4,1/6;1/4,5/6][1;-1]=7/12[1;-1],所以两个特征值为1,7/12,对应的特征向量分别为[2;3],[1;-1]。 记P=[2,1;3,-1],有A=Pdiag([1,7/12])P-1。第k年,农业人员和非农人员满足[xk;yk]=[2(1+(7/12)^k/2);3(1-(7/12)^k/2)]/5→[0.4;0.6](k→inf).
备注1:直觉上,农业人员会越来越少,非农农口会越来越多。但是,如图2所示,农业人员和非农人员比例会趋向于稳定在某个比例值,在本案例中该比例为2:3。
图2 农业人员和非农人员比例变化趋势
备注2:如图2所示,特征值7/12反映了人员比例收敛的快慢。
下面用人脸识别技术说明特征向量的信息化和过程化教学实施。
人脸识别技术是三种常见生物识别技术的之一。同一个人的头像汇聚到一起,不同人的头像会相互分离。因为头像可以用矩阵表示,而矩阵又可以拉直变成向量,因此头像的汇聚程度可以用向量的距离来表示。受拍照条件影响,如光照、视角、背景、打扮等等,同一个人的头像也存在很大的视觉差异。尽管如此,头像有不容易被环境因素改变的信息,比如轮廓信息,称为特征脸(Eigenfaces)。因此,一副人脸图像可以分解为两部分,一部分容易被光照、视角、背景、打扮等影响,代表了环境的特征,另一部分不容易被上述环境因素影响,代表了人脸的特征。前一部分张成的子空间为环境子空间,后一部分张成的子空间为特征脸子空间。两个空间的并空间构成整个图像空间。
人脸识别的关键是:把一副新的图像投影到特征脸子空间,尽量减少环境对识别的影响,并通过它的投影点在子空间的位置进行识别。
下面用CroppedYale[7]数据库进行人脸识别实验:经过预处理,本实验使用了38个人的2242张头像,每人59张头像。每个头像有个像素点,因此每个头像相当于是一个的矩阵,矩阵拉直变成的向量。从每个人的59张头像中随机选中50张作为训练集,共38*50=1900张训练图片;其余作为测试集,共38*(59-50)=342张测试图片。
训练集记为Xtrain =[xtrain_1,…,xtrain_1900],它是16384行1900列的矩阵,其 中xtrain_i,(i=1,…,1900)是16384维列向量,表示已知的人脸头像集,也就是说与Xtrain对应的训练标签集为Ytrain =[ytrain_1,…,ytrain_1900]是1行1900列的行向量,其中每个ytrain_i是已知的。
测试集记为Xtest =[xtest_1,…,xtest_342]是16384行342列的矩阵,其中xtest_i,(i=1,…,342)是16384维列向量,表示未知的人脸头像集,也就是说与Xtest对应的训练标签集为Ytest =[ytest_1,…,ytest_342]是1行342列的行向量,其中每个ytest_i是未知的。
常规人脸识别过程如下:
第一步:求平均脸mtrain=[xtrain_1+…+xtrain_1900]/1900,结果见图3;
第二步:训练集的中心 化xtrain_i=xtrain_i -mtrain,(i=1,…,1900);
第三步:求协方差矩阵A=Xtrain*XtrainT;
第四步:求特征脸,特征分解为AP=PD,其中D=diag(k1,…,k1900)是A的非零特征值构成的对角矩阵,按降序排列。16384行1900列的矩阵P就是特征脸,见图4;
图4 不同特征值对应的特征脸
第五步:测试集的中心化xtest_j=xtest_j-mtrain,(j=1,…,342);
第六步:求训练集和测试集在特征脸上的得分,实质是求训练集的每个头像在正交基(即特征脸)下的坐标;
第七步:判断每个测试头像属于谁,实质就是求最小距离。若i0=argmin(norm(xtest_j-xtrain_i)),(j=1,…,342,i=1,…,1900),则xtest_j的 标签就是xtrain_i0的标签,即ytest_j=ytrain_i0。
特征向量实质就是那些在变换中方向不变量,特征值的绝对值就是长度变化的比例。环境的改变可能导致生物特征向量扭曲,导致识别率变低。降维技术可能改善生物识别的识别率,该识别过程会经历一个“欠学习-最优学习-过学习”的过程。去掉最大特征值对应的特征脸可以显著提高识别率,这意味着类别的差异性不一定表现在大特征值对应的特征脸,且类别差异性容易被环境扭曲。在特征值的教学工作中,应该注意以下几点:
(1)案例化:结合实践案例,概念从生活中来到生活中去,同时结合信息时代背景,使学员、教员和课程收益。
(2)信息化和过程化:结合数学应用软件,把有限的精力从手算历史中解放出来,学会利用数学软件按规范过程解决现实问题,培养具有扎实理论基础和实践应用能力的复合型人才。