LDA(线性判别分析或称Fisher线性判别)

LDA的原理是,将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近。

LDA的基本思想是:

找到一个最佳的判别矢量空间w,使得投影到该空间的样本的类间离散度与类内离散度比达到最大。

LDA(线性判别分析或称Fisher线性判别)_第1张图片
很明显,右图中的w更有区分度

目标:先计算出w,至于计算后如何时候分类在得到结果后再说。

两类线性判别分析

数据:N个样本数据,其中每个数据都是d维。即样本x(i)为d维,d*1的列向量,其中N1个数据是C1类,N2个数据是C2类。
目的:先求出w在对新的样本x进行分类,其中w为d*1的列向量。

类别i的原始中心点为:(Di表示属于类别i的点)

image

类别i投影后的中心点为:
image

衡量类别i投影后,类别点之间的分散程度(方差)为:
image

最终我们可以得到一个下面的公式,表示LDA投影到w后的损失函数:
image

image

带入Si,将J(w)分母化为:
image

image

同样的将J(w)分子化为:
image

这样损失函数可以化成下面的形式:
image

LDA(线性判别分析或称Fisher线性判别)_第2张图片
这里写图片描述

将分母限制为长度为1(这是用拉格朗日乘子法一个很重要的技巧,在下面将说的PCA里面也会用到,如果忘记了,请复习一下高数),并作为拉格朗日乘子法的限制条件,带入得到:
LDA(线性判别分析或称Fisher线性判别)_第3张图片
image

这样的式子就是一个求特征值的问题了。
对于N(N>2)分类的问题,我就直接写出下面的结论了:
LDA(线性判别分析或称Fisher线性判别)_第4张图片
image

这同样是一个求特征值的问题,我们求出的第i大的特征向量,就是对应的Wi了。

LDA(线性判别分析或称Fisher线性判别)_第5张图片
多类判别

那降维之后又如何根据y值来判别分类呢?取[y1,y2,...,yk]中最大的那个就是所属的分类。

不清楚计算w后之后的分类。待探究。
常用的方法:1. one-vs-all方法训练K个分类器(这个方法在综合时不知道怎么处理?)

  1. 任意两个分类配对训练分离器最后得到k(k-1)/2个的二类分类器

你可能感兴趣的:(LDA(线性判别分析或称Fisher线性判别))