本系列文章由孙旭编辑,转载请注明出处
http://blog.csdn.net/longyindiyi/article/details/20068781
多谢合作!
本节我们正式介绍第一个模式识别经典算法——Fisher 线性分析。
Ready? ——Go!
有首古诗道:“横看成岭侧成峰,远近高低各不同。”意思是说从不同角度看待同一事物,可以得到不同的视觉体验。Fisher 的算法就利用了这样的原理。
这里,从不同角度看,反过来就是说景物以不同的方向投影到人的眼睛里去。注意到这样一个事实,一个三维的物体投影到眼睛里就变成了一副二维的图像。也就是说,投影具有降维的作用。
对于一个分类器而言,它的数据可能是非常多维的,这对训练过程而言是个巨大的负担,投影在这里起到了降维的作用,有助于解决运算量的问题。
但是,这就引出了新的问题——往什么方向投影。
我们已经知道,分类器实际上是要在两类问题样本中构造出一个超平面,以将二者较好的区分开来。所以,感情上我们肯定会倾向于把样本向两类分离度最高的方向进行投影。Fisher 线性分析就可以帮助我们找到这样一个方向。
这里我们只针对二类问题。
面对两个数据样本,我们要将它们投影到使其尽量分开的一维直线上,这里我们根据问题需要逐一计算基本的参量。
第一个问题:样本中相同类数据靠得有多近?
这个问题可以通过对比各类样本点的协方差矩阵来解决,这个量叫做类内离散度。
先计算样本均值
进而得到类内离散度
所有类内离散度求和得到总类内离散度
第二个问题:样本中不同类数据离的有多开?
这个问题可以通过对比均值之差来获得,这个量叫做类间离散度。
类间离散度由下式求得
第三个问题:投影做了什么事?
定义一条直线,需要直线的方向和其上的一个点,但是,对于投影而言,我们只需要知道直线的方向就足够了,满足这个条件的直线有很多条,我们挑其中最简单的——经过原点的那条。
根据线性代数基本知识,对于空间中任意一点 ,向我们刚刚选定的那条直线投影,相当于做如下的运算
第四个问题:投影后两类距离有多近?
好吧,其实这个才是关键问题。
公式如下
第五个问题:什么投影方向效果最好?
这里需要一个准则函数,相当于判别函数,值越大,说明效果越好。
Fisher 的答案是投影后不同类离得越开越好,同时相同类离得越近越好,所以就有了下式
非常好理解,就是分子越大越好,分母越小越好,总之, 越大越好,所以,只需对 求极值。
第六个问题:用什么方法求极值?
公式简单,求解不简单,求逆是个大工程啊。
第七个问题:如何应用到分类问题中?
根据上一节的知识,要进一步对数据进行分类的话,还需要确定一个阈值 。
确定阈值的方法主要的有三种:
有了阈值之后,就可以用判别函数法进行分类了。
第八个问题:Fisher 线性分析优点有哪些?
简单直观。
第九个问题:那缺点呢?
其一,不适合投影后仍然具有非线性可分的情况;其二,计算量大。
第十个问题:那它适合使用的场合?
这个,看上一题就知道结果了啊,数据为线性可分、或者数据投影后线性可分。
还有其他问题?请留言!