为了最优分类,我们要计算后验概率 P(G|X) 。 设fk(x) 是类 G=k 中 X 的类条件密度,而πk是类 k 的先验概率,贝叶斯定理给出 P(G=k|X=x)=fk(x)πk∑Kl=1fl(x)πl 假定我们用多元高斯分布对每个类密度建模 fk(x)=1(2π)p/2|Σk|1/2exp(−1/2(x−μk)TΣ−1k(x−μk) 线性判别分析假定所有类具有共同的协方差矩阵,即 Σk=Σ 这样,为了比较两个类,只需要考察对数比率 logP(G=k|X=x)P(G=l|X=x)=logfk(x)fl(x)+logπkπl =logπkπl−1/2(uk+ul)Σ−1(uk+ul)+xTΣ−1(uk−ul) 这是x上的线性方程。相等的协方差矩阵使得我们可以消去二次项,因此任意两个类别的判定边界都是一个超平面。
从上面的判别边界可以看出,线性判别函数 δk(x)=logπk−1/2ukΣ−1uk+xTΣ−1uk 是判定规则的等价描述,其中 G(x)=argmaxkδk(x) 给定了数据,我们要估计参数 u,π,Σ 的值 估计值如下: p^ik=Nk/N ,其中 Nk 是类k的观测数 u^k=∑gi=kxi/Nk Σ^=∑Kk=1∑gi=k(xi−u^k)(xi−u^k)T/(N−K)
对于二分类问题,线性判别分析和最小二乘法分类有一个对应。 LDA将x分到类2,如果 xTΣ^−1(u^2−u^1)>1/2u^T2Σ^−1u^2−1/2u^T1Σ^−1u^1+logN1N2 上一篇讲的是用线性回归方法对每一个类编码,假如我们给两个类分别编码 −N/N1和N/N2 ,然后拟合线性回归模型,那么最小二乘法得到的系数向量正比于给定的LDA方向,即 Σ^−1(u^2−u^1) ,但是截距不一定相同,所以因而结果决策规则也不一样。 事实上,对于任意的编码,都可以证明,最小二乘法得到的系数向量正比于给定的LDA方向。假如我们给两个类分别编码 −N/N1 和 N/N2 ,那么当且仅当N_1=N_2的时候,最小二乘法与LDA判别规则相同。
由于通过最小二乘法推导LDA方向并未用到高斯分布的假设,所以LDA方向的适用性可以推广都高斯数据以外的领域。然而,如上面所说,最小二乘法和高斯分布假设下推导出来的截距项一般不同。
当类别数量多于两个的时候,LDA和上一篇讲到的指示矩阵回归方法并不同,并且LDA避免了屏蔽问题
当我们假设所有类的高斯分布具有相同的协方差的时候可以推导出LDA,现在,我们并不假定 Σk 相等,于是我们可以得到二次判别函数, δk(x)=−1/2log|Σk|−1/2(x−uk)TΣ−1k(x−uk)+logπk 两个类之间的判定边界由二次方程 δk(x)=δl(x) 给出。 假设现在有三个服从高斯分布的类,对于二次边界,我们就有了两种拟合方法,一种是上面所说的QDA,另一种方法是用了五维空间 X1,X2,X1X2,X21,X22 上的LDA,这两种方法的差别一般很小。 除了必须对每个类分别估计协方差矩阵以外,QDA估计和LDA估计类似。当p较大时,这意味着参数急剧增多,对于LDA,一共有 (K−1)∗(p+1) 个参数,这是因为我们只需要判别函数 δk(x)−δK(x) 的差,这里K表示最后一个类,类似的,对于QDA,有 (K−1)∗[p∗(p+3)/2+1] 个参数。在实际中,对于大量各种各样的分类任务,LDA和QDA都具有良好的性能。 这就提出了一个问题,为什么这两种方法有如此好的性能? 这并不是因为数据都是近似高斯分布,更可能的原因是数据只能支持简单的判定边界(线性或二次边界),并且通过高斯模型的估计是稳定的。这是一种偏差(bias)和方差(variance)的折中——我们可以忍受线性判定边界的偏差bias,因为它能够比一些其他的方法具有更小的方差。 对于QDA来说,这一观点不是那么可信,因为QDA模型中也有大量的参数,虽然可能要比非参数方法的参数要少。
考虑LDA和QDA的一种折中方案,像LDA一样,该折中方案允许将QDA的各个协方差向一个共同的协方差收缩。这些方法与岭回归非常相似。正则化的协方差矩阵如下 Σ^k(α)=αΣ^k+(1−α)Σ^ 其中, Σ^ 是LDA中共同的协方差矩阵。这里 α∈[0,1] 使得模型成为LDA和QDA之间一个连续变化的模型。 在实践中, α 可以由交叉验证选取。
类似的修改允许 Σ^ 本身向着一个标量协方差矩阵收缩 S^igma(γ)=γΣ^+(1−γ)σI 其中 γ∈[0,1] 用 Σ^(γ) 替代上面式子中的 Σ^ 可以推导出一族更一般的协方差 Σ^k(α,γ) ,由两个参数表征。
通过将协方差矩阵对角化,LDA和QDA的计算可以简化。 具体来说,对协方差矩阵进行特征值分解, 具体来说, Σ^k=UkDkUTk 其中U_k是正交矩阵,D_k是一个对角矩阵。 那么对于 δk(x)=−1/2log|Σk|−1/2(x−uk)TΣ−1k(x−uk)+logπk ,可以进行化简 (x−uk)TΣ−1k(x−uk)=[UTk(x−uk)]TD−1k[UTk(x−uk)]
log|Σ^k|=∑llog dkl
对于LDA来说,分类可以用如下两步实现: 1.关于共同的协方差矩阵估计 Σ^ “球形化”(sphere the data)数据 X∗=D−12UTX 变换后的协方差矩阵是单位矩阵。 2.如果先验概率是相同的,那么将变换后的数据分类到距离最近的形心所在的类。
p维输入空间中的K个形心在一个小于或等于K-1维的放射子空间中,如果p比K大得多,则可以相当可观地降低维数。此外,为了确定最近的形心,我们可以忽略正交于此空间的距离,因为它们对于每个类的作用相同。也就是说,可以将 X∗ 投影到这个形心生成的子空间 HK−1 中,并在这个空间内进行距离比较。这样,在LDA中存在一个基本的降维操作,即最多需要在K-1维子空间中考虑数据。
如果K-1也很大,我们可以寻找某个L < <script id="MathJax-Element-1941" type="math/tex"><</script>K-1子空间 HL ,在某种意义下对LDA是最优的,Fisher定义的最优的子空间是将变换(“球形化”)后形心投影之后最大方差的子空间,因为已经做过了变换,所以类内协方差为单位矩阵I。
概括地说,寻找LDA的最佳子空间的步骤如下, 1.计算 K∗p 的类形心矩阵 M (即均值矩阵)和LDA的公共协方差矩阵W 2.将 W 特征值分解,然后如上所述对形心进行球形化,即 M∗=MW−1/2 其中 W−1/2=UD−1/2 3.计算 M∗ 的协方差矩阵 B∗ 和它的特征值分解 B∗=V∗D∗bVT ,其中 V 按照特征值的大小排序,因为特征值最大的方向对应的是方差最大的方向,所以V∗的列 v∗l 依次定义最佳子空间的坐标。 4.对于一个新的输入向量x,现在计算它唉最佳子空间中的坐标。 首先球形化数据 x∗=W−1/2Tx 然后依次计算x*在最佳子空间中的坐标,记 vl=W−1/2vl∗ 第 l 个方向的坐标是 x∗l=v∗Tl∗x$
Fisher通过不同的途径得到了这个分解,完全没有涉及高斯分布。 他提出了以下问题: **寻找线性组合 Z=αTX , 使得类间方差相对于类内方差极大化。** 下图说明了这个标准为什么是合理的,经管连接形心的方向尽可能的分开均值,但是由于协方差的特性,投影后的类之间仍然有很大的重叠,通过同时考虑协方差,可以找到极小重叠的方向。
Z的类内方差是 αTBα ,而类内方差是 αTWα , B 是类形心的协方差矩阵,而W之前已经定义,注意 B+W=T ,其中 T 是X忽略类信息的全协方差矩阵。 因此,Fisher判别分析其实就是极大化瑞利商(Rayleigh quotient): maxααTBααTWα, 固定分母为一个常数,可以得到等价的形式 maxα αTBα subject toαTWα=1 将上式写成无约束的拉格朗日的形式, maxα αTBα+λ(αTWα−1) 然后对 α 求偏导并置为0, 得到 W−1Bα=−λα 也就是说, α 应该是 W−1B 的最大特征值对应的特征向量。 不难证明,这样得到的特征向量和我们上面得到的 vl 是一样的。 在这里求特征向量的时候Fisher判别分析用了一种简便的方法, 注意到 B=(u1−u2)(u1−u2)T , u 是均值向量 而Bα=γ(u1−u2), 因为我们只关心 α 的方向,所以可以求出 α=W−1(u1−u2)
当对一个新的数据进行分类的时候,当先验概率不同,要考虑校正因子 logπk ,该校正的真实原因也可以从图2中看出,在图中误分类率为两个密度之间的重叠区域,如果 πk 相等,那么最佳割点在均值的中间,如果 πk 不相等,那么割点向着较小的类移动可以降低误差率,我们可以先用LDA导出该线性规则,然后选取割点极小化误分类率。