PCA无监督,LDA有监督
在PCA一文中,我们简单地提到了
如果是二维空间中的样本点,那么我们就是求解出一条直线使得样本投影到该直线上的方差最大。从回归的角度来看其实就是求解出一个线性函数来拟合样本点集合。
所以我们可以从维度降低的角度来考察线性分类器。考虑二分类的情形,假设我们有一个D维输入向量xxx,然后我们使用y=wTxy=w^{T}xy=wTx投影到一维。我们设置一个阈值,有N1N_{1}N1个点大于它是C1C_{1}C1类,有N2N_{2}N2个点小于是C2C_{2}C2类,这就得到了一个标准的线性分类器。两类的均值向量分别为m1=1N1∑n∈C1xnm_{1}=\frac{1}{N_{1}}\sum_{n\in C_{1}}x_{n}m1=N11n∈C1∑xnm2=1N2∑n∈C2xnm_{2}=\frac{1}{N_{2}}\sum_{n\in C_{2}}x_{n}m2=N21n∈C2∑xn投影之后最简单的度量类别之间分开程度的方法就是类别均值投影之后的距离,我们要选择一个合适的www使得距离最大即arg maxw wT(m2−m1)\underset{w}{arg\ max}\ w^{T}(m_{2}-m_{1})warg max wT(m2−m1)由于只考虑了均值即偏差并没有考虑方差(通常需要权衡利弊两者的关系),而本身又是降维的方式可以想象得到这种方法会存在一个问题即高维中可分,降维后两个类别可能会挤在一起。如果类概率分布的协方差矩阵与对角化矩阵差距较大时,这个问题尤为突出。
Fisher提出的思想是最大化一个函数,这个函数能够让类均值的投影分开得尽可能大,同时能够让每个类别内部的方差较小,从而最小化了类别的重叠。
经过变换后,类内方差可以表示为sk2=∑n∈Ck(wTxn−wTmk)2s_{k}^{2}=\sum_{n\in C_{k}}(w^{T}x_{n}-w^{T}m_{k})^{2}sk2=n∈Ck∑(wTxn−wTmk)2Fisher准则根据类间方差与类内方差的比值定义J(w)=(wT(m2−m1))2s12+s22=wTSBwwTSWwJ(w)=\frac{(w^{T}(m_{2}-m_{1}))^{2}}{s_{1}^{2}+s_{2}^{2}}=\frac{w^{T}S_{B}w}{w^{T}S_{W}w}J(w)=s12+s22(wT(m2−m1))2=wTSWwwTSBwSB=(m2−m1)(m2−m1)TS_{B}=(m_{2}-m_{1})(m_{2}-m_{1})^{T}SB=(m2−m1)(m2−m1)TSW=∑n∈C1(xn−m1)(xn−m1)T+∑n∈C2(xn−m2)(xn−m2)TS_{W}=\sum_{n\in C_{1}}(x_{n}-m_{1})(x_{n}-m_{1})^{T}+\sum_{n\in C_{2}}(x_{n}-m_{2})(x_{n}-m_{2})^{T}SW=n∈C1∑(xn−m1)(xn−m1)T+n∈C2∑(xn−m2)(xn−m2)T对J求w的导数∂J(w)∂w=0\frac{\partial J(w)}{\partial w}=0∂w∂J(w)=0(wTSBw)SWw=(wTSWw)SBw(w^{T}S_{B}w)S_{W}w=(w^{T}S_{W}w)S_{B}w(wTSBw)SWw=(wTSWw)SBw忽略标量因子(wTSBw)(w^{T}S_{B}w)(wTSBw)和(wTSWw)(w^{T}S_{W}w)(wTSWw),SBwS_{B}wS