线性模型之LDA和PCA推导

Posted yunp-kon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性模型之LDA和PCA推导相关的知识,希望对你有一定的参考价值。

线性模型之LDA和PCA

线性判别分析LDA

LDA是一种无监督学习的降维技术。

思想:投影后类内方差最小,类间方差最大,即期望同类实例投影后的协方差尽可能小,异类实例的投影后的类中心距离尽量大。

二分类推导

给定数据集\(D=\(x_i,y_i)\_i=1^m\),令\(X_i,\mu_i,\sum_i\)分别表示第\(i\in \0,1\\)类实例的集合,均值,和协方差矩阵

则两类样本中心点在\(w\)方向直线的投影分别为\(w^Tu_0,w^Tu_1\);若将所有的样本点都投影到\(w\)方向直线上,则两类样本的协方差分别是\(w^T\sum_0 w,w^T\sum_1 w\)

此处推导用到的知识点
方差: $\frac\sum_i=1^m(x_i-\overlineX)(x_i-\overlineX)n-1$ 协方差: $\frac\sum_i=1^m(x_i-\overlineX)(y_i-\overlineY)n-1$ $\sum_0=\sum_x\in X_0(x-u_0)(x-u_0)^T$

根据投影后类内方差最小,类间方差最大,欲最大化的目标为:

  • \(J=\frac||w^Tu_0-w^Tu_1||^2w^T\sum_0 w+w^T\sum_1 w\)

类内散度矩阵:

  • \(S_w=\sum_x \in Y_i(x-u_i)(x-u_i)^T\)

类间散度矩阵:

  • \(S_b=(u_0-u_1)(u_0-u_1)^T\)

则目标重写为\(S_w,S_b\)的广义瑞利商

  • \(J=\fracw^TS_bww^TS_ww\)
  • 解与w只与方向有关与长度无关,令,\(w^TS_ww=1\)

目标函数等价于

  • min\(\quad -w^TS_bw\)
  • \(s.t. \quad w^TS_ww=1\)

引入拉格朗日乘子法

  • \(S_bw = \lambda S_ww\)

\(S_bw\)方向恒为\((u_0-u_1)\)

  • \(S_bw = \lambda (u_0-u_1)\) 带入上式得:
  • \(w = S_w^-1(u_0-u_1)\)

奇异值分解:

  • \(S_w=U\sum V^T\)
  • \(S_w^-1=V\sum^-1 U^T\)

从贝叶斯决策理论的角度阐释:当两类满足数据同先验,满足高斯分布且协方差相等时,LDA达到最优

N分类

全局散度矩阵:

  • \(S_t=S_b+S_w=\sum^m_i=1(x_i-u)(x_i-u)^T\)
  • \(S_w=\sum^N_i=1\sum_x \in X_i(x-u_i)(x-u_i)^T\)
  • \(S_b=S_t-S_w=\sum^N_i=1m_i(u_i-u)(u_i-u)^T\)

根据LDA思想,目标函数为:

  • \(J(W)=\fractr(W^TS_bW)tr(W^TS_wW)\)
  • \(S_bw = \lambda S_ww\)

PCA

PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征

信号领域:信号具有较大方差,噪音具有较大方差,信噪比越大意味着数据质量越高。所以PCA的目标就是最大化投影误差。

第一步:将数据进行去中心化:

第二步:方差:

  • x在单位向量上的投影为\(x^Tw\)
  • \(D(x)=\frac1n\sum_i=1^m(x_i^Tw)^2\)
  • = \(\frac1n\sum_i=1^mw^Tx_ix_i^Tw\)
  • = \(w^T(\frac1n\sum_i=1^mx_ix_i^T)w\)
  • = \(w^T\sum w\)

第三步:目标函数:

  • \(max \quad w^T\sum w\)
  • \(max \quad w^Tw=1\)

第四步:拉格朗日

  • \(D(x)=w^T\sum w=\lambda w^Tw=\lambda\)

投影后的方差就是投影后的协方差特征值,将特征值由大到小排列,取前d个主成分(主成分间相互正交)

由于得到协方差矩阵的特征值特征向量有两种方法:特征值分解协方差矩阵、奇异值分解协方差矩阵,所以PCA算法有两种实现方法:基于特征值分解协方差矩阵实现PCA算法、基于SVD分解协方差矩阵实现PCA算法

降维后的信息占比:

  • \(\eta=\sqrt\frac\sum_i=1^d\lambda_i^2\sum_i=1^n \lambda_i^2\)

PCA和LDA的相同点

PCA和LDA都是经典的降维算法;

PCA和LDA都假设数据是符合高斯分布的;

PCA和LDA都利用了矩阵特征分解的思想。

PCA和LDA的不同点

PCA是无监督(训练样本无标签)的,LDA是有监督(训练样本有标签)的;

PCA去除原始数据集中冗余的维度,让投影子空间的各个维度的方差尽可能大,也就是熵尽可能大。LDA是通过数据降维找到那些具有判断力的维度,使得原始数据在这些维度上的投影,不同类别尽可能区分开来。

LDA最多可以降到k-1维(k是训练样本的类别数量,k-1是因为最后一维的均值可以由前面的k-1维的均值表示);而PCA没有这个限制

LDA还可以用于分类。

LDA可能会过拟合数据。

以上是关于线性模型之LDA和PCA推导的主要内容,如果未能解决你的问题,请参考以下文章

LAD线性判别模型简介及sklearn参数

降维实践(PCA,LDA)

6降维

降维线性判别分析LDA

降维算法二:LDA(Linear Discriminant Analysis)

LDA——线性判别分析基本推导与实验