UA MATH567 高维统计 专题0 为什么需要高维统计理论?——以线性判别分析为例

  • 线性判别分析基础
    • 理论
    • 算法

线性判别分析基础

理论

我们回顾一下二元假设检验问题,它的目标是判断某一个observation x∈Rdx \in \mathbb{R}^dx∈Rd到底属于总体P1P_1P1​还是P2P_2P2​,在统计理论中,Neyman-Pearson引理说明了似然比检验是最优检验,也就是基于log⁡P2(x)P1(x)\log \frac{P_2(x)}{P_1(x)}logP1​(x)P2​(x)​导出的检验统计量与拒绝域是最优的。现在我们考虑线性判别分析的设定,假设两个总体分别是N(μ1,Σ),N(μ2,Σ)N(\mu_1,\Sigma),N(\mu_2,\Sigma)N(μ1​,Σ),N(μ2​,Σ),则给定某个observation x∈Rdx \in \mathbb{R}^dx∈Rd,对数似然比为(多元正态分布的概率密度参考我之前这一篇)
log⁡P1(x)P2(x)=log⁡(2π)−d/2∣Σ∣−1/2exp⁡(−12(x−μ1)′Σ−1(x−μ1))(2π)−d/2∣Σ∣−1/2exp⁡(−12(x−μ2)′Σ−1(x−μ2))=12(x−μ2)′Σ−1(x−μ2)−12(x−μ1)′Σ−1(x−μ1)=12(x−μ1+(μ1−μ2))′Σ−1(x−μ1+μ22+μ1+μ22−μ2)−12(x−μ1)′Σ−1(x−μ1+μ22+μ1+μ22−μ1)=12(x−μ1)′Σ−1(x−μ1+μ22)+12(μ1−μ2)′Σ−1(x−μ1+μ22)+14(x−μ1)′Σ−1(μ1−μ2)+14(μ1−μ2)′Σ−1(μ1−μ2)−12(x−μ1)′Σ−1(x−μ1+μ22)−14(x−μ1)′Σ−1(μ1−μ2)=12(μ1−μ2)′Σ−1(x−μ1+μ22)+14(μ1−μ2)′Σ−1(μ1−μ2)∝Ψ(x)=(μ1−μ2)′Σ−1(x−μ1+μ22)\log \frac{P_1(x)}{P_2(x)}=\log \frac{(2\pi)^{-d/2}|\Sigma|^{-1/2}\exp \left( -\frac{1}{2}(x-\mu_1)'\Sigma^{-1}(x-\mu_1) \right)}{(2\pi)^{-d/2}|\Sigma|^{-1/2}\exp \left( -\frac{1}{2}(x-\mu_2)'\Sigma^{-1}(x-\mu_2) \right)} \\ = \frac{1}{2}(x-\mu_2)'\Sigma^{-1}(x-\mu_2) -\frac{1}{2}(x-\mu_1)'\Sigma^{-1}(x-\mu_1) \\ = \frac{1}{2}(x-\mu_1+(\mu_1-\mu_2))'\Sigma^{-1}(x-\frac{\mu_1+\mu_2}{2}+\frac{\mu_1+\mu_2}{2}-\mu_2) \\-\frac{1}{2}(x-\mu_1)'\Sigma^{-1}(x-\frac{\mu_1+\mu_2}{2}+\frac{\mu_1+\mu_2}{2}-\mu_1) \\ = \frac{1}{2}(x-\mu_1)'\Sigma^{-1}(x-\frac{\mu_1+\mu_2}{2})+\frac{1}{2}(\mu_1-\mu_2)'\Sigma^{-1}(x-\frac{\mu_1+\mu_2}{2}) \\ +\frac{1}{4}(x-\mu_1)'\Sigma^{-1}(\mu_1-\mu_2)+\frac{1}{4}(\mu_1-\mu_2)'\Sigma^{-1}(\mu_1-\mu_2) \\ - \frac{1}{2}(x-\mu_1)'\Sigma^{-1}(x-\frac{\mu_1+\mu_2}{2})-\frac{1}{4}(x-\mu_1)'\Sigma^{-1}(\mu_1-\mu_2) \\ = \frac{1}{2}(\mu_1-\mu_2)'\Sigma^{-1}(x-\frac{\mu_1+\mu_2}{2})+\frac{1}{4}(\mu_1-\mu_2)'\Sigma^{-1}(\mu_1-\mu_2) \\ \propto \Psi(x)=(\mu_1-\mu_2)'\Sigma^{-1}(x-\frac{\mu_1+\mu_2}{2})logP2​(x)P1​(x)​=log(2π)−d/2∣Σ∣−1/2exp(−21​(x−μ2​)′Σ−1(x−μ2​))(2π)−d/2∣Σ∣−1/2exp(−21​(x−μ1​)′Σ−1(x−μ1​))​=21​(x−μ2​)′Σ−1(x−μ2​)−21​(x−μ1​)′Σ−1(x−μ1​)=21​(x−μ1​+(μ1​−μ2​))′Σ−1(x−2μ1​+μ2​​+2μ1​+μ2​​−μ2​)−21​(x−μ1​)′Σ−1(x−2μ1​+μ2​​+2μ1​+μ2​​−μ1​)=21​(x−μ1​)′Σ−1(x−2μ1​+μ2​​)+21​(μ1​−μ2​)′Σ−1(x−2μ1​+μ2​​)+41​(x−μ1​)′Σ−1(μ1​−μ2​)+41​(μ1​−μ2​)′Σ−1(μ1​−μ2​)−21​(x−μ1​)′Σ−1(x−2μ1​+μ2​​)−41​(x−μ1​)′Σ−1(μ1​−μ2​)=21​(μ1​−μ2​)′Σ−1(x−2μ1​+μ2​​)+41​(μ1​−μ2​)′Σ−1(μ1​−μ2​)∝Ψ(x)=(μ1​−μ2​)′Σ−1(x−2μ1​+μ2​​)

如果Ψ(x)>0\Psi(x)>0Ψ(x)>0,我们认为xxx是来自P1P_1P1​的样本;如果Ψ(x)≤0\Psi(x) \le 0Ψ(x)≤0,我们认为xxx是来自P2P_2P2​的样本;所以判别分析出错的概率是
Err(Ψ)=12P1[Ψ(x)≤0]+12P2[Ψ(x)>0]Err(\Psi)=\frac{1}{2}P_1[\Psi(x)\le 0]+\frac{1}{2}P_2[\Psi(x)>0]Err(Ψ)=21​P1​[Ψ(x)≤0]+21​P2​[Ψ(x)>0]

定义
γ=(μ1−μ2)′Σ−1(μ1−μ2)\gamma = \sqrt{(\mu_1-\mu_2)'\Sigma^{-1}(\mu_1-\mu_2)}γ=(μ1​−μ2​)′Σ−1(μ1​−μ2​)​

先计算第一个概率,如果x∼N(μ1,Σ)x \sim N(\mu_1,\Sigma)x∼N(μ1​,Σ),则
EΨ(x)=(μ1−μ2)′Σ−1(μ1−μ1+μ22)=γ22Var(Ψ(x))=(μ1−μ2)′Σ−1ΣΣ−1(μ1−μ2)=γ2E\Psi(x)=(\mu_1-\mu_2)'\Sigma^{-1}(\mu_1-\frac{\mu_1+\mu_2}{2})=\frac{\gamma^2}{2} \\ Var(\Psi(x))=(\mu_1-\mu_2)'\Sigma^{-1} \Sigma \Sigma^{-1}(\mu_1-\mu_2)=\gamma^2EΨ(x)=(μ1​−μ2​)′Σ−1(μ1​−2μ1​+μ2​​)=2γ2​Var(Ψ(x))=(μ1​−μ2​)′Σ−1ΣΣ−1(μ1​−μ2​)=γ2

所以Ψ(x)∣P1∼N(γ/2,γ)\Psi(x)|_{P_1} \sim N(\gamma/2,\gamma)Ψ(x)∣P1​​∼N(γ/2,γ),于是
P1[Ψ(x)≤0]=P1(Ψ(x)−γ22γ≤−γ2)=Φ(−γ/2)P_1[\Psi(x)\le 0]=P_1(\frac{\Psi(x)-\frac{\gamma^2}{2}}{\gamma} \le -\frac{\gamma}{2})=\Phi(-\gamma/2)P1​[Ψ(x)≤0]=P1​(γΨ(x)−2γ2​​≤−2γ​)=Φ(−γ/2)

接下来计算第二个概率,如果x∼N(μ2,Σ)x \sim N(\mu_2,\Sigma)x∼N(μ2​,Σ),则
EΨ(x)=(μ1−μ2)′Σ−1(μ2−μ1+μ22)=−γ22Var(Ψ(x))=(μ1−μ2)′Σ−1ΣΣ−1(μ1−μ2)=γ2E\Psi(x)=(\mu_1-\mu_2)'\Sigma^{-1}(\mu_2-\frac{\mu_1+\mu_2}{2})=-\frac{\gamma^2}{2} \\ Var(\Psi(x))=(\mu_1-\mu_2)'\Sigma^{-1} \Sigma \Sigma^{-1}(\mu_1-\mu_2)=\gamma^2EΨ(x)=(μ1​−μ2​)′Σ−1(μ2​−2μ1​+μ2​​)=−2γ2​Var(Ψ(x))=(μ1​−μ2​)′Σ−1ΣΣ−1(μ1​−μ2​)=γ2

所以Ψ(x)∣P2∼N(γ/2,γ)\Psi(x)|_{P_2} \sim N(\gamma/2,\gamma)Ψ(x)∣P2​​∼N(γ/2,γ),于是
P2[Ψ(x)≤0]=P2(Ψ(x)+γ22γ>γ2)=Φ(−γ/2)P_2[\Psi(x)\le 0]=P_2(\frac{\Psi(x)+\frac{\gamma^2}{2}}{\gamma} > \frac{\gamma}{2})=\Phi(-\gamma/2)P2​[Ψ(x)≤0]=P2​(γΨ(x)+2γ2​​>2γ​)=Φ(−γ/2)

综上,
Err(Ψ)=Φ(−γ/2)Err(\Psi)=\Phi(-\gamma/2)Err(Ψ)=Φ(−γ/2)

算法

我们看一下理论部分的判别规则:如果Ψ(x)>0\Psi(x)>0Ψ(x)>0,我们认为xxx是来自P1P_1P1​的样本;如果Ψ(x)≤0\Psi(x) \le 0Ψ(x)≤0,我们认为xxx是来自P2P_2P2​的样本;要使用这个规则进行判别,我们需要计算出
Ψ(x)=(μ1−μ2)′Σ−1(x−μ1+μ22)\Psi(x)=(\mu_1-\mu_2)'\Sigma^{-1}(x-\frac{\mu_1+\mu_2}{2})Ψ(x)=(μ1​−μ2​)′Σ−1(x−2μ1​+μ2​​)

为此,我们需要样本均值与协方差矩阵的估计。假设我们有n1+n2n_1+n_2n1​+n2​个样本,前n1n_1n1​个来自总体P1P_1P1​,后n2n_2n2​个来自总体P2P_2P2​,引入样本均值
μ^1=1n1∑i=1n1xi,μ^2=1n2∑i=n1+1n1+n2xi\hat \mu_1 = \frac{1}{n_1}\sum_{i=1}^{n_1} x_i,\hat \mu_2 = \frac{1}{n_2} \sum_{i=n_1+1}^{n_1+n_2} x_iμ^​1​=n1​1​i=1∑n1​​xi​,μ^​2​=n2​1​i=n1​+1∑n1​+n2​​xi​

Pooled sample covariance matrix,
Σ^=∑i=1n1(xi−μ^1)(xi−μ^1)T+∑i=1n2(xi−μ^2)(xi−μ^2)Tn1+n2−2\hat \Sigma =\frac{\sum_{i=1}^{n_1}(x_i-\hat \mu_1)(x_i - \hat \mu_1)^T+\sum_{i=1}^{n_2}(x_i-\hat \mu_2)(x_i - \hat \mu_2)^T}{n_1+n_2-2}Σ^=n1​+n2​−2∑i=1n1​​(xi​−μ^​1​)(xi​−μ^​1​)T+∑i=1n2​​(xi​−μ^​2​)(xi​−μ^​2​)T​

把这三个估计量代入Ψ(x)\Psi(x)Ψ(x),我们就可以得到Fisher线性判别函数(Fisher linear determinant function):
Ψ^(x)=(μ^1−μ^2)′Σ^−1(x−μ^1+μ^22)\hat{\Psi}(x)=(\hat \mu_1- \hat \mu_2)' \hat \Sigma^{-1}(x-\frac{\hat \mu_1+ \hat \mu_2}{2})Ψ^(x)=(μ^​1​−μ^​2​)′Σ^−1(x−2μ^​1​+μ^​2​​)

基于Fisher线性判别函数的判别错误概率为
Err(Ψ^)=12P1[Ψ^(x)≤0]+12P2[Ψ^(x)>0]Err(\hat \Psi)=\frac{1}{2}P_1[\hat \Psi(x)\le 0]+\frac{1}{2}P_2[\hat \Psi(x)>0]Err(Ψ^)=21​P1​[Ψ^(x)≤0]+21​P2​[Ψ^(x)>0]

一个重要的问题是,基于Fisher线性判别函数的判别错误概率能不能等于判别分析出错的理论概率,或者说只比判别分析出错的理论概率大一点点?概统祖师爷Kolmogorov分析过这个问题,如果d/ni→α,∀i=1,2d/n_i \to \alpha,\forall i=1,2d/ni​→α,∀i=1,2,∥μ^1−μ^2∥2→pγ\left\| \hat \mu_1- \hat \mu_2 \right\|_2\to_p \gamma∥μ^​1​−μ^​2​∥2​→p​γ,协方差矩阵为单位阵,则
Err(Ψ^)→pΦ(−γ22γ2+α2)Err(\hat \Psi) \to_p \Phi(-\frac{\gamma^2}{2\sqrt{\gamma^2+\alpha^2}})Err(Ψ^)→p​Φ(−2γ2+α2​γ2​)

我们来简单看一下下面的实证结果:

左图:Mean shrift越大,说明这两个总体分得越开,越不容易判别出错;实验结果略大于理论结果,所以还是比较可信的;

右图:α\alphaα越大说明d/nid/n_id/ni​越大,也就是这个问题的维度越高,这时实验的结果就会越差,但经典理论的结果是不变,因此我们需要建立新的理论来解释高维统计问题。

UA MATH567 高维统计 专题0 为什么需要高维统计理论?——以线性判别分析为例相关推荐

  1. UA MATH567 高维统计 专题0 为什么需要高维统计理论?——高维统计理论的常用假设

    UA MATH567 高维统计 专题0 为什么需要高维统计理论?--高维统计理论的常用假设 延续前三讲对线性判别分析的讨论,在高维时,根据中心极限定理 n(Xˉ−μ)→dN(0,Id)\sqrt{n} ...

  2. UA MATH567 高维统计 专题0 为什么需要高维统计理论?——理解稀疏向量与hard-threshold

    UA MATH567 高维统计 专题0 为什么需要高维统计理论?--理解稀疏向量与hard-threshold 稀疏向量的soft-threshold与hard-threshold近似 引入hard- ...

  3. UA MATH567 高维统计 专题0 为什么需要高维统计理论?——协方差估计的高维效应与Marcenko-Pastur规则

    UA MATH567 高维统计 专题0 为什么需要高维统计理论?--协方差估计的高维效应与Marcenko-Pastur规则 上一讲我们介绍了在实验中,线性判别分析的判别误差会随着维度的上升而上升,而 ...

  4. UA MATH567 高维统计专题3 含L1-norm的凸优化6 Stochastic Gradient Descent简介

    UA MATH567 高维统计专题3 含L1-norm的凸优化6 Stochastic Gradient Descent简介 Stochastic Gradient Descent的思想 Varian ...

  5. UA MATH567 高维统计专题3 含L1-norm的凸优化4 Nesterov方法与Accelerate Proximal Gradient

    UA MATH567 高维统计专题3 含L1-norm的凸优化4 一阶方法的加速 Nesterov方法 Accelerate Proximal Gradient (APG) 梯度下降与Proximal ...

  6. UA MATH567 高维统计专题3 含L1-norm的凸优化2 Proximal Gradient Descent

    UA MATH567 高维统计专题3 含L1-norm的凸优化2 Proximal Gradient Descent Proximal Gradient Descent的公式推导 Proximal O ...

  7. UA MATH567 高维统计专题2 Low-rank矩阵及其估计3 Rank RIP

    UA MATH567 高维统计专题2 Low-rank矩阵及其估计3 Rank RIP Low-rank matrix completion的模型是rank minimization,上一讲我们介绍了 ...

  8. UA MATH567 高维统计专题2 Low-rank矩阵及其估计2 Rank Minimization与Nuclear Norm

    UA MATH567 高维统计专题2 Low-rank矩阵及其估计2 Rank Minimization与Nuclear Norm 上一讲我们已经提到了用rank-minimization对参数矩阵进 ...

  9. UA MATH567 高维统计专题2 Low-rank矩阵及其估计1 Matrix Completion简介

    UA MATH567 高维统计专题2 Low-rank矩阵及其估计1 Low-rank Matrix简介 例 在推荐系统中,Netflix data是非常经典的数据集.考虑它的电影评分数据,用矩阵的每 ...

最新文章

  1. php 批量初始化数组,PHP post 数组初始化
  2. WMI技术介绍和应用——查询本地用户和组
  3. java executor_Java 动态语言支持
  4. 网站优化之交换友情链接应注意什么?
  5. Java 一维数组作为参数和返回值
  6. Java举例include_Java StringUtils.getFilenameExtension方法代码示例
  7. 【安卓开发 】Android初级开发(零)各种布局
  8. 用html编写输出今天是星期几,利用Date对象编写程序,判断并输出今天是开学的第几周,星期几。...
  9. Python高级——数据库编程(Mysql)
  10. winform中openfiledialog过滤压缩文件格式_5种最佳摄影师图像文件格式
  11. 'scipy._lib.messagestream' 以及 'scipy.interpolate.interpnd.array' 解决办法
  12. rust第三人称视角插件_第三人称视角ThirdPerson Everything Mod
  13. 一个模仿Struct的Action类
  14. 网页回到顶部 GoTop 按钮自动隐藏
  15. 31:几何算法--点集的凸包
  16. 地图飞线图 echart+高德地图实现
  17. 盲签名——典型的数字签名技术
  18. 20190122——回首向来萧瑟处,无人等在灯火阑珊处。 Java责任链
  19. CAD快捷键out了?这样的CAD编辑命令,你见过嘛?
  20. 基于案例的软件构造教程学期大作业-100以内的加减法

热门文章

  1. 入侵检测系统基础知识
  2. Leetcode 682. 棒球比赛 解题思路及C++实现
  3. 完全用Linux工作,抛弃windows
  4. 视图解析自定义视图和自定义视图解析器——未完待续
  5. Git 技术篇 - GitHub克隆私有仓库方法,新主机绑定并同步github私有库实例演示
  6. mktime函数实现获取当前系统时间
  7. Longest Common Prefix
  8. mysql中的merge into,SQL Server 2008中利用merge into关键实现insert/update自动匹配(类似于MySQL中的For Update关键字)...
  9. Mardown(或Latex)换行
  10. Python读写json文件中文编码问题