基于FLDA与KFDA的人脸识别实验
一、
实验介绍
线性判别函数是统计模式识别的常用的方法之一。它的基本思想是利用样本集直接设计分类器,并把未知样本归到具有最大判别函数的类别中。这种设计要求,在数学上往往表现为某个特定的函数形式,称之为准则函数,归类相应于准则函数取最优值。这实际上将分类器的设计问题转化为求准则函数极值问题了。
对解决人脸识别问题来说,线性判别分析分类器是一个很好的选择。一般所采用的线性判别分析函数是 Fisher线性判别函数,首先由Fisher于1936年提出,其基本思想就是在Fisher判别准则函数取得极值的条件下,求得一个最佳判别方向,然后再将模式高维特征向量投影到该最佳判别方向上,构成一个一维的判别特征空间。于是模式识别可以在一维空间中进行。
二:
KFDA:
核方法是广义线性判别方法的一种。当样本在原始空间线性不可分时,映射到更高维度的特征空间,使样本线性可分;此时再使用Fisher线性判别分析,从而实现相对于原空间为非线性判别分析,
首先使用非线性映射将输入数据映射到一个高维的特征空间中,
然后在这个特征空间当中进行LFDA,
此时是映射到高维空间中,然后再根据内积的公式进行计算,计算维数与计算量太大,因此借助于核函数来减少计算量,即直接在原来的低维空间中进行计算,而不需要显式地写出映射后的结果,但是计算出来的结果是一样的,大大降低了计算的量。这里的计算两个向量在隐式映射过后的空间中的内积的函数叫做核函数。常用的核函数有多项式核函数,高斯核函数,径向基核函数等。
三、界面
初始界面如下:
然后点击按钮:
四、
实验总结
上述实验加深了我对于Fisher线性判别分析的理解,发现了其一些优缺点。如对于一般线性可分的样本,总能找到一个投影方向,使得降维后样本仍然线性可分,而且可分性更好即不同类别的样本之间的距离尽可能远,同一类别的样本尽可能集中分布,并且Fisher方法可直接求解权向量,另外Fisher的线性判别式不仅适用于确定性模式分类器的训练,而且对于随机模式也是适用的,Fisher还可以进一步推广到多类问题中去。此外,其缺点也很明显,对线性不可分的情况,Fisher方法无法确定分类。
因此在非线性情况下,核方法就是将样本原始空间无法进行线性判决时,映射到高维特征空间,然后使用广义线性判决的一种方法;核函数就是为了避开数据在高维特征空间进行运算,而设计的一种在低维运算结果就可以等价高维计算结果的一种函数。总结下来,就是核方法将不可分难题拉到高维进行可分,核函数将极难的计算拉回到低维进行计算,扩大了使用的范围。
本博客涉及到的数据、代码、界面都在资源当中,需要的小伙伴下载即可。路径都是当前文件夹,无需进行变动。