《机器学习》第三章 (2)

醉酒当歌 提交于 2019-12-02 11:10:31

线性判别分析LDA

LDA思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能的接近、异类样例的投影点尽可能的远离;在对新样本进行分类的时候,将其投影到同样的一条直线,在根据投影点来确定样本的类别。
在这里插入图片描述
给定数据集D={(xi,yi)i=1m,yi{0,1}}D=\left\{(x_i,y_i)_{i=1}^m,y_i \in \left\{ 0,1 \right\} \right\}XiμiiX_i、\mu_i、\sum_i分别表示第i{0,1}i\in\left\{ 0,1\right\}类示例的集合、均值向量、协方差矩阵。
示例的集合:数据集D

均值向量μi\mu_i
假设样本Xi=(xi1,xi2,...,xip)T,i=(1,2,...,N)X_i=(x_{i1},x_{i2},...,x_{ip})^T,i=(1,2,...,N)
每个分量的平均值
xj=1Ni=1Nxij,j=(1,2,...,p)\overline x_j=\frac{1}{N}\sum_{i=1}^{N}x_{ij},j=(1,2,...,p),
则称x=(x1,x2,...,xp)T\overline x=(\overline x_1,\overline x_2,...,\overline x_p)^T为p维随机样本的平均值向量。

协方差矩阵i\sum_i
X=(X1,X2,X3,...,Xn)TX=(X_1,X_2,X_3,...,X_n)^T为n维随机变量,则矩阵
C=(c11c12...c1nc21c22...c2ncn1cn2...cnn)C=\begin{pmatrix} c_{11} &c_{12} &...&c_{1n}\\ c_{21} &c_{22} &...&c_{2n} \\ \vdots &\vdots &\ddots &\vdots\\ c_{n1} &c_{n2} &...&c_{nn} \end{pmatrix}
为n维随机变量X的协方差矩阵,其中cij=cov(Xi,Xj),i,j=1,2,,nc_{ij}=cov(X_i,X_j),i,j=1,2,\dots ,n
例:c11=E[X1E(X1)]2c_{11}=E[X_1-E(X_1)]^2

那么,两类样本的中心在支线上的投影分别为ωTμ0ωTμ1\omega^T\mu_0和\omega^T\mu_1,两类样本所有点都投影到支线,则两类样本的协方差分别为ωT0ωωT1ω\omega^T\sum_0\omega和\omega^T\sum_1\omega,由于支线是一维空间,所以ωTμ0ωTμ1ωT0ωωT1ω\omega^T\mu_0、\omega^T\mu_1、\omega^T\sum_0\omega和\omega^T\sum_1\omega均为实数。
若要使得同类样例的投影点尽可能的接近,可以让同类样例投影点的协方差尽可能小,即ωT0ω+ωT1ω\omega^T\sum_0\omega+\omega^T\sum_1\omega尽可能小,若要使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大,即ωTμ0ωTμ122||\omega^T\mu_0-\omega^T\mu_1||_2^2(L2范数:我们用的最多的度量距离欧氏距离就是一种L2范数)尽可能大。

L2范数通常会被用来做优化目标函数的正则化项,防止模型为了迎合训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力。

最大化目标:

J=ωTμ0ωTμ122ωT0ω+ωT1ω=ωT(μ0μ1)(μ0μ1)TωωT(0+1)ωJ=\frac{||\omega^T\mu_0-\omega^T\mu_1||_2^2}{\omega^T\sum_0\omega+\omega^T\sum_1\omega}=\frac{\omega^T(\mu_0-\mu_1)(\mu_0-\mu_1)^T\omega}{\omega^T(\sum_0+\sum_1)\omega}

定义“类内散度矩阵”

Sw=0+1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)TS_w=\sum_0+\sum_1=\sum\limits_{x\in X_0}(x-\mu_0)(x-\mu_0)^T+\sum\limits_{x\in X_1}(x-\mu_1)(x-\mu_1)^T

定义“类间散度矩阵”

Sb=(μ0μ1)(μ0μ1)TS_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T

最大化目标就可以重写为:

J=ωTSbωωTSwωJ=\frac{\omega^TS_b\omega}{\omega^TS_w\omega}

这就是LDA欲最大化的目标,即SbSwS_b与S_w的“广义瑞利商”

瑞利商的定义(Rayleigh quotient):

R(A,x)=xHAxxHxR(A,x)=\frac{x^HAx}{x^Hx}

其中xx为非零向量,而A为n×nn×n的厄尔米特矩阵(HermitianHermitian)矩阵,厄尔米特矩阵指的是,共轭矩阵矩阵中每一个第ii行第jj列的元素都与第jj行第ii列的元素共轭相等,即AH=AA^H=A,AHA^H称为AA的共轭转置,如果矩阵中都是实数,则AH=ATA^H=A^T

瑞利商R(A,x)R(A,x)有一个非常重要的性质,即它的最大值等于矩阵A最大的特征值,而最小值等于矩阵A的最小的特征值,也就满足

λminxHAxxHxλmax\lambda_{min}\leq\frac{x^HAx}{x^Hx}\leq\lambda_{max}

广义瑞利商(generalized Rayleigh quotient):

R(A,B,x)=xHAxxHBxR(A,B,x)=\frac{x^HAx}{x^HBx}

其中xx为非零向量,而A,B为n×nn×n的厄尔米特矩阵(HermitianHermitian)矩阵,B为正定矩阵。
x=B12xx=B^{-\frac{1}{2}}x',则分母转化为:

xHBx=xH(B12)HBB12x=xHB12BB12x=xHxx^HBx=x'^H(B^{-\frac{1}{2}})^HBB^{-\frac{1}{2}}x'=x'^HB^{-\frac{1}{2}}BB^{-\frac{1}{2}}x'=x'^Hx'

而分子转化为:

xHAx=xHB12AB12xx^HAx=x'^HB^{-\frac{1}{2}}AB^{-\frac{1}{2}}x'
此时我们的R(A,B,x)R(A,B,x)转化为R(A,B,x)R(A,B,x')

R(A,B,x)=xHB12AB12xxHxR(A,B,x')=\frac{x'^HB^{-\frac{1}{2}}AB^{-\frac{1}{2}}x'}{x'^Hx'}

利用瑞利商的性质,可知R(A,B,x)R(A,B,x)的最大值为B12AB12B^{-\frac{1}{2}}AB^{-\frac{1}{2}}的最大特征值。

回归到:

J=ωTSbωωTSwωJ=\frac{\omega^TS_b\omega}{\omega^TS_w\omega} \quad ①

JJ最大值为Sw12SbSw12S_w^{-\frac{1}{2}}S_bS_w^{-\frac{1}{2}}的最大特征值。
JJ的分母分子都是关于ω\omega的二次项,因此JJ的解与ω\omega的长度无关,但是与ω\omega的方向却是相关的。

不失一般性,令ωTSwω=c,c0\omega^TS_w\omega=c,c≠0,则①等价于

maxωTSbωs.t.ωTSwω=c\max\quad\omega ^TS_b\omega\\s.t.\quad\omega^T S_w\omega=c

拉格朗日乘子法:是一种寻找多元函数在一组约束下的极值得方法。通过引入拉格朗日乘子,可将dd个变量与kk个约束条件的最优化问题转化为d+kd+k个变量的无约束优化问题求解。
得到L(ω,λ)=ωTSbωλ(ωTSwωc)L(\omega,\lambda)=\omega ^TS_b\omega-\lambda(\omega^T S_w\omega-c)

L(ω,λ)ω=(SbT+Sb)ωλ(SwT+Sw)ω=2Sbω2λSwω=0\frac{\partial L(\omega,\lambda)}{\partial \omega}=(S_b^T+S_b)\omega-\lambda(S_w^T+S_w)\omega=2S_b\omega-2\lambda S_w\omega=0

Sbω=λSwωS_b\omega=\lambda S_w\omega

其中λ\lambda是拉格朗日乘子,注意刀SbωS_b\omega的方向恒为μ0μ1,\mu_0-\mu_1,不妨令Sbω=λ(μ0μ1)S_b\omega=\lambda(\mu_0-\mu_1),带入上式得

λ(μ0μ1)=λSwωω=Sw1(μ0μ1)\lambda(\mu_0-\mu_1)=\lambda S_w\omega\\\omega\quad=\quad S_w^{-1}(\mu_0-\mu_1)

考虑到数值的稳定性,在实践中常常对SwS_w进行奇异值分解

奇异值分解:任意实矩阵ARm×nA\in R^{m×n}都可以分解为

A=UΣVTA=U\Sigma V^T

其中URm×mU\in R^{m×m}满足UTU=IU^TU=I的m阶酉矩阵(共轭矩阵等于逆矩阵)
VR(n×n)V\in R(n×n)满足VTV=IV^TV=I的n阶酉矩阵;
ΣRm×n\Sigma \in R^{m×n}是m×n的矩阵,其中(Σ)ii=σi(\Sigma)_{ii}=\sigma_i其他位置元素均为0,σi\sigma_i为非负实数且满足σ1σ2...0\sigma_1\geq \sigma_2\geq...\geq0

其中U的列向量uiRmu_i\in R^m称为A的做奇艺向量,V的列向量viRnv_i\in R^n称为A的右奇异向量,σi\sigma_i称为奇异值,矩阵A的秩就等于非零奇异值个数。

例:给定一个秩为rr的矩阵A,要求A的最优kk秩近似矩阵A~,kr\tilde A,k\leq r,该问题可形式化为:

minA~Rm×mAA~Fs.t.rank(A~)=k\min \limits_{\tilde A\in R^{m×m}}||A-\tilde A||_F\quad ①\\s.t.\quad rank(\tilde A)=k

对矩阵A进行奇异值分解后,将矩阵Σ\Sigma中的rkr-k个最小的奇异值置零获得矩阵Σk\Sigma _k,即仅保留最大的kk个奇异值,得到

Ak=UkΣkVkTA_k=U_k\Sigma_kV^T_k

就是①式的最优解,其中UkVkU_k和V_kUVU和V中的前kk列组成的矩阵。

前面将SwS_w进行奇异值分分解:

Sw=UΣVTS_w=U\Sigma V^T

得到Σ\Sigma是一个实对角矩阵,其对角线上的元素是SwS_w的奇异值,再有
Sw1=VΣ1UTS_w^{-1}=V\Sigma^{-1}U^T得到Sw1S_w^{-1}

推广

LDA在多分类任务中,假定存在N个类,其第ii类示例数为mim_i我们先定义全局散度矩阵SwS_w
St=Sb+Sω=i=1m(xiμ)(xiμ)TS_t=S_b+S_\omega=\sum_{i=1}^{m}(x_i-\mu)(x_i-\mu)^T\quad①
其中μ\mu为所有样本的均值向量。将类内散度矩阵SwS_w重新定义为各个类别的散度矩阵之和,即

Sw=i=1NSwiS_w=\sum_{i=1}^NS_{w_i}\quad②

其中Swi=xXi(xμi)(xμi)TS_{w_{i}}=\sum\limits_{x\in X_i}(x-\mu_i)(x-\mu_i)^T\quad③
由①~③就可求出
Sb=StSω=i=1Nmi(μiμ)(μiμ)TS_b=S_t-S_\omega=\sum_{i=1}^{N}m_i(\mu_i-\mu)(\mu_i-\mu)^T

显然在多分类LDA可以有多重实现方法:使用Sb,Sω,StS_b,S_\omega,S_t三者中的任何两个即可。常见的一种实现是采用优化目标

maxWtr(WTSbW)tr(WTSωW)\max\limits_W\frac{tr(W^TS_bW)}{tr(W^TS_\omega W)}

其中WRd×(N1)W\in R^{d×(N-1)},tr()tr(·)代表矩阵的迹。
上式就可以通过广义特征值问题求解

SbW=λSωWS_bW=\lambda S_\omega W

WW的闭式解为Sw1SbSw^{-1}S^bdd'个最大非零广义特征值所对应的特征向量组成的矩阵,dN1d'\leq N-1

WW视为一个投影矩阵,则多分类LDA将样本投影到了dd'维空间,dd'通常远小于数据的原油属性d,于是就达到了减小样本点的维数的目的。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!