LDA线性判别原理解析<数学推导>

    xiaoxiao2021-03-25  113

    LDA (Linear Discriminant Analysis)是机器学习中线性分类模型,本文从以下三个方面进行解析: 一、LDA线性判别的思想 二、LDA求参过程的数学原理 三、LDA实例应用(贝叶斯角度)

    LDA分类思想

    (1)对于多维空间中的数据处理分类问题较为复杂,LDA算法将多维空间中的数据投影到一条直线上,将 d维 数据转化为 1维 数据进行处理;

    (2)对于训练数据,设法将多维数据投影到一条直线上,是的同类数据的投影点尽可能接近,异类数据点尽可能远离;

    (3)在对新数据进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定样本的类别。

    了解了思想之后我们应当注意到,问题的关键在于如何确定这个投影直线,合适的投影直线的选择将大大提高分类的效果。看下图(图引自博客):

    可见上图中对于同样的数据,左图中投影直线的选择显然没有右图中合适。

    LDA投影直线确定

    假设有一组n个d维的样本x1、x2....xn,他们分别属于两个不同的类别,w1、w2,对x中的成分左线性组合,就可得到点积,结果是一个标量:

    上面公式便是投影直线,下面推到如何求解参数 W

    是数据样本的均值向量

    是数据样本的协方差矩阵

    、 是两类样本的中心在直线上的投影的中心

    是所有样本投影到直线上,两类样本的协方差

    分析为何样本数据均值和协方差投影后是 、

    (1)首先我们知道每个类的均值,这里只有两类:

    (2)所以当x经过投影直线投射到直线上的均值为: (3)同理可以得到投影后样本的协方差

    核心思想 重要分析:欲使同类样例的投影点尽可能接近,可以上投影点的协方差尽可能小,欲使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大。同时考虑两点,得到欲最大化的目标:

    上面公式笔试准则函数,下面通过最大化准则函数来求解参数 W,推导过程如下: 首先定义“类内散度矩阵”:

    以及“类间散度矩阵”: 这样准则函数便可写成: 这便是LDA欲最大化的目标,及时Sb和Sw的“广义瑞利熵”

    上式中可以观察到分子和分母都是关于W的二次项所以解和w的长度没有关系,之和其方向有关,所以上式可以等价于:

    由拉格朗日乘子法:

    求导可得到如下式子:

    这里简单介绍一下拉格朗日乘子法 拉格朗日乘子法的作用:求函数f(x1,x2…)在g(x1,x2…)=0的约束条件下的极值的方法。 拉格朗日乘子法的操作过程: (1)定义新函数:

    (2)利用偏导方式列出以下方程: (3)求解出x,y,σ的值带入F(x,y,σ)便是目标函数的极值

    上面我们已经得出了优化准则函数的等价式: **关键点:**SbW的方向恒为U0-U1,不妨令:

    最终可得W的表达式为: 其中对Sw进行奇异值分解可得: 因此最终求的参数W,便可得到投影直线方程!

    剩下的问题便是根据投影直线求解阈值,也就是一维空间中把两类数据分开的那个点的位置!下面简单说一说。

    LDA实例应用

    当样本中的数据满足正态分布,即:样本数据的条件概率密度函数P(x|w)是多元正态函数,并且各个类别的协方差矩阵相同时,我们可以直接得到阈值,最佳判别界面的方程为:

    其中W便是上面求出来的参数,而w0是一个和数据先验概率有关的常数,此点将在我的机器学习系列章节的贝叶斯分类器中详细讨论!

    对于更加一般的情况:我们便是对投影后的数据进行平滑处理,或是用以为高斯函数进行拟合,就可以选择使得两个类的后验概率相同的那个位置作为判别边界。

    复杂度分析:寻找LDA判别准则下的最佳参数w的计算复杂度主要有计算类内总体散布矩阵和奇异值求解逆矩阵所决定,复杂度为O(d^2*n)

    本文参考资料: 【1】Pattern Classification Second Edition 【2】机器学习 著周志华 【3】Machine Learining in Action

    转载请注明原文地址: https://ju.6miu.com/read-14388.html

    最新回复(0)