线性模型之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-\overline{X})(x_i-\overline{X})}{n-1}$
协方差:
$\frac{\sum_{i=1}^m(x_i-\overline{X})(y_i-\overline{Y})}{n-1}$
$\sum_0=\sum_{x\in X_0}(x-u_0)(x-u_0)^T$
根据投影后类内方差最小,类间方差最大,欲最大化的目标为:
- \(J=\frac{||w^Tu_0-w^Tu_1||^2}{w^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=\frac{w^TS_bw}{w^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=1}m_i(u_i-u)(u_i-u)^T\)
根据LDA思想,目标函数为:
- \(J(W)=\frac{tr(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)=\frac{1}{n}\sum_{i=1}^m(x_i^Tw)^2\)
- = \(\frac{1}{n}\sum_{i=1}^mw^Tx_ix_i^Tw\)
- = \(w^T(\frac{1}{n}\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推导的更多相关文章
- LDA和PCA降维的原理和区别
LDA算法的主要优点有: 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识. LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优. LDA算 ...
- 无监督LDA、PCA、k-means三种方法之间的的联系及推导
\(LDA\)是一种比较常见的有监督分类方法,常用于降维和分类任务中:而\(PCA\)是一种无监督降维技术:\(k\)-means则是一种在聚类任务中应用非常广泛的数据预处理方法. 本文的 ...
- LDA和PCA
LDA: LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning.有些资料上也称为是Fisher's Linear Dis ...
- 机器学习(十六)— LDA和PCA降维
一.LDA算法 基本思想:LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的.这点和PCA不同.PCA是不考虑样本类别输出的无监督降维技术. 我们要将数据在低维度上进行投影,投 ...
- 【主成份分析】PCA推导
### 主成份分析(Pricipal components analysis PCA) 假设空间$R^{n}$中有m个点{$x^{1},......,x^{n}$},希望压缩,对每个$x^{i}$都有 ...
- 数据分析--降维--LDA和PCA
一.因子分析 因子分析是将具有错综复杂关系的变量(或样本)综合为少数几个因子,以再现原始变量和因子之间的相互关系,探讨多个能够直接测量,并且具有一定相关性的实测指标是如何受少数几个内在的独立因子所支配 ...
- 【降维】主成分分析PCA推导
本博客根据 百面机器学习,算法工程师带你去面试 一书总结归纳,公式都是出自该书. 本博客仅为个人总结学习,非商业用途,侵删. 网址 http://www.ptpress.com.cn 目录: PCA最 ...
- LDA和PCA区别
https://blog.csdn.net/brucewong0516/article/details/78684005
- LDA与PCA
参考: https://www.cnblogs.com/pinard/p/6244265.html https://blog.csdn.net/qq_25680531/article/details/ ...
随机推荐
- Mybatis缓存 缓存配置文件 good
一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se ...
- 如何将任意文件固定在 Win10 的开始屏幕中
虽然Wox和Launchy是我日常启动程序的主力方式,不过开始屏幕的图标方便归类,这是快速启动工具所不能提供的,因此我也会将最常用的程序在开始屏幕上分类固定. 最近需要将一个常用的批处理文件(*.ba ...
- ArcGIS Runtime SDK for WPF 初始化
安装包 管理nuget包 Esri.ArcGISRuntime.WPF 也许还需要 Esri.ArcGISRuntime.Hydrography Esri.ArcGISRuntime.LocalSer ...
- asp .net 文件浏览功能
达到的目的是,发布站点后,在站点某个目录下的图片文件可以通过url访问 步骤 1.新建一个网站 注意,不要建立在需要较高访问权限的地方,不要建立空网站 如果是需要较高访问权限的目录,而IIS本身账号的 ...
- XF警告试图
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 在 __CC_ARM 编译器环境下,使用$Sub$$ 与 $Super$$ 的“补丁”功能
$Sub$$ 与 $Super$$ 的“补丁”功能(详见 ARM® Compiler v5.06 for µVision® armlink User Guide): 这是一种特殊模式:用于有一个已经存 ...
- [UWP-小白日记16]UWP中的3D变换API
原文:[UWP-小白日记16]UWP中的3D变换API 还没开始 好久没写博客了,再来开坑. 正文 Transform3D:“这个和CSS的3D好像的说” PerspectiveTransform3D ...
- 教你干掉win10全家桶
原文: 教你干掉win10全家桶 这些并不好用的自带应用例如:groove音乐,相片,股票……一直占据着我们的默认应用.如果它们是一直静静的躺在那里还好,最多不用就是了.当我们想要浏览图片或者看视频的 ...
- Linux下C语言RPC(远程过程调用)编程实例
在查看libc6-dev软件包提供的工具(用 dpkg -L libc6-dev 命令)的时候,发现此软件包提供了一个有用的工具rpcgen命令.通过rpcgen的man手册看到此工具的作用是把RPC ...
- 零元学Expression Blend 4 - Chapter 32 简单轻松的学会如何使用Visual States(上)
原文:零元学Expression Blend 4 - Chapter 32 简单轻松的学会如何使用Visual States(上) Visual State Manager中文翻译为视觉状态管理器,这 ...