LogoLogo
  • README
  • 前端编程
    • 01 Node JS
    • 02-ES6详解
    • 03-NPM详解
    • 04-Babel详解
    • 05-前端模块化开发
    • 06-WebPack详解
    • 07-Vue详解
    • 08-Git详解
    • 09-微信小程序
  • 人工智能
    • 机器学习
      • 二次分配问题
      • 非负矩阵
      • 概率潜在语义分析
      • 概率图模型
      • 集成学习
      • 降维
      • 距离度量
      • 决策树
      • 逻辑回归
      • 马尔可夫决策过程
      • 马尔可夫链蒙特卡洛法
      • 朴素贝叶斯法
      • 谱聚类
      • 奇异值分解
      • 潜在狄利克雷分配
      • 潜在语义分析
      • 强化学习
      • 社区算法
      • 时间序列模型
      • 特征工程
      • 条件随机场
      • 图论基础
      • 线性分类
      • 线性回归
      • 信息论中的熵
      • 隐马尔科夫模型
      • 支持向量机
      • 主成分分析
      • EM算法
      • Hermite 矩阵的特征值不等式
      • k-means聚类
      • k近邻法
      • PageRank算法
    • 深度学习
      • Pytorch篇
        • 01-线性模型
        • 02-梯度下降法
        • 03-反向传播
        • 04-pytorch入门
        • 05-用pytorch实现线性回归
        • 06-logistic回归
        • 07-处理多维特征的输入
        • 08-加载数据集
        • 09-多分类问题
        • 10-卷积神经网络
        • 11-循环神经网络
    • 图神经网络
      • 图神经网络笔记01
        • 01-图(Graphs)的结构
        • 02-网络的性质和随机图模型
        • 03-网络工具
        • 04-网络中的主题和结构角色
        • 05-网络中的社区结构
      • 图神经网络笔记02
        • 01-深度学习引言
        • 02-神经网络基础
        • 03-卷积神经网络
        • 04-图信号处理与图卷积神经网络
        • 05-GNN的变体与框架-
        • [06-Google PPRGo 两分钟分类千万节点的最快GNN](人工智能/图神经网络/图神经网络笔记02/06-Google%20PPRGo 两分钟分类千万节点的最快GNN.md)
        • 07-序列模型
        • 08-变分自编码器
        • 09-对抗生成网络
  • 日常记录
    • 健身日记
    • 面经记录
    • 自动生成Summary文件
  • 实战项目
    • 谷粒商城
      • 00-项目概述
      • 01-分布式基础-全栈开发篇
      • 02-分布式高级-微服务架构篇
      • 03-高可用集群-架构师提升篇
  • 数据库
    • MySQL笔记
      • 01-MySQL基础篇
      • 02-MySQL架构篇
      • 03-MySQL索引及调优篇
      • 04-MySQL事务篇
      • 05-MySQL日志与备份篇
    • Redis笔记
      • 01-Redis基础篇
      • 02-Redis高级篇
    • 02-Redis篇
  • 算法笔记
    • 01-算法基础篇
    • 02-算法刷题篇
  • 职能扩展
    • 产品运营篇
  • Go编程
    • 01-Go基础
      • 01-Go基础篇
  • Java编程
    • 01-Java基础
      • 01-Java基础篇
      • 02-多线程篇
      • 03-注射与反解篇
      • 04-JUC并发编程篇
      • 05-JUC并发编程与源码分析
      • 06-JVM原理篇
      • 07-Netty原理篇
      • 08-设计模式篇
    • 02 Java Web
      • 01-Mybatis篇
      • 01-Mybatis篇(新版)
      • 02-Spring篇
      • 02-Spring篇(新版)
      • 03-SpringMVC篇
      • 04-MybatisPlus篇
    • 03-Java微服务
      • 01-SpringBoot篇
      • 01-SpringBoot篇(新版)
      • 02-SpringSecurity篇
      • 03-Shiro篇
      • 04-Swagger篇
      • 05-Zookeeper篇
      • 06-Dubbo篇
      • 07-SpringCloud篇
      • 08-SpringAlibaba篇
      • 09-SpringCloud篇(新版)
    • 04-Java中间件
      • 数据库篇
        • 01-分库分表概述
        • 02-MyCat篇
        • 03-MyCat2篇
        • 04-Sharding-jdbc篇
        • 05-ElasticSearch篇
      • 消息中间件篇
        • 01-MQ概述
        • 02-RabbitMQ篇
        • 03-Kafka篇
        • 04-RocketMQ篇
        • 05-Pulsar篇
    • 05-扩展篇
      • Dubbo篇
      • SpringBoot篇
      • SpringCloud篇
    • 06-第三方技术
      • 01-CDN技术篇
      • 02-POI技术篇
      • 03-第三方支付技术篇
      • 04-第三方登录技术篇
      • 05-第三方短信接入篇
      • 06-视频点播技术篇
      • 07-视频直播技术篇
    • 07-云原生
      • 01-Docker篇
      • 02-Kubernetes篇
      • 03-Kubesphere篇
  • Linux运维
    • 01-Linux篇
    • 02-Nginx篇
  • Python编程
    • 01-Python基础
      • 01.配置环境
      • 02.流程控制
      • 03.数值
      • 04.操作符
      • 05.列表
      • 06.元祖
      • 07.集合
      • 08.字典
      • 09.复制
      • 10.字符串
      • 11.函数
      • 12.常见内置函数
      • 13.变量
      • 14.异常和语法错误
      • 15.时间和日期
      • 16.正则表达式
    • 02 Python Web
      • flask篇
        • 01.前言
        • 02.路由
        • 03.模板
        • 04.视图进阶
        • 05.flask-sqlalchemy
        • 06.表单WTForms
        • 07.session与cookie
        • 08.上下文
        • 09.钩子函数
        • 10.flask 信号
        • 11.RESTFUL
        • 13.flask-mail
        • 14.flask+celery
        • 15.部署
        • 16.flask-login
        • 17.flask-cache
        • 18.flask-babel
        • 19.flask-dashed
        • 20.flask-pjax
        • 21.flask上传文件到第三方
        • 22.flask-restless
        • 23.flask-redis
        • 24.flask-flash
        • 25.消息通知
        • 26.分页
    • 03-Python数据分析
      • Matplotlib
      • Numpy
      • Pandas
      • Seaborn
    • 04-Python爬虫
      • 1.准备工作
      • 2.请求模块的使用
      • 3.解析模块的使用
      • 4.数据存储
      • 5.识别验证码
      • 6.爬取APP
      • 7.爬虫框架
      • 8.分布式爬虫
由 GitBook 提供支持
在本页
  • 背景
  • 样本均值&样本方差矩阵
  • 线性降维-主成分分析 PCA
  • 最大投影方差
  • 最小重构距离
  • SVD 与 PCoA
  • p-PCA
  • 小结

这有帮助吗?

在GitHub上编辑
  1. 人工智能
  2. 机器学习

降维

背景

解决过拟合的方法有:

  • 正则化

  • 添加数据

  • 降维

维度过高会造成维度灾难,维度灾难是造成过拟合的主要原因。在不充足的数据情况下,主要采用降维的方法。

从几何的角度来看维度灾难:

nnn 维球的体积为:

CRnCR^nCRn

那么在球体积与边长为 2R2R2R 的超立方体比值为:

lim⁡n→0CRn2nRn=0\lim\limits_{n\rightarrow0}\frac{CR^n}{2^nR^n}=0n→0lim​2nRnCRn​=0

这就是所谓的维度灾难,在高维数据中,主要样本都分布在立方体的边缘,所以数据集更加稀疏。

降维的方法有:

  • 直接降维:特征选择

  • 线性降维:PCA、MDS等

  • 非线性降维:流形(lsomap、LLE等)

样本均值&样本方差矩阵

假设数据集X={x1,x2,⋯ ,xN}X=\{x_1,x_2,\cdots,x_N\}X={x1​,x2​,⋯,xN​},xi∈R,i=1,2,⋯ ,Nx_i\in\mathbb{R},i=1,2,\cdots,Nxi​∈R,i=1,2,⋯,N,记为:

X=(x1,x2,⋯ ,xN)T=[x1Tx2T⋮xNT]N×p=[x11x12⋯x1px21x22⋯x2p⋮⋮⋱⋮xN1xN2⋯xNp]N×p\begin{align} X&=(x_1,x_2,\cdots,x_N)^T \\ &= \begin{bmatrix} x_{1}^T \\ x_{2}^T \\ \vdots \\ x_{N}^T \\ \end{bmatrix}_{N\times p} \\ & = \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1p} \\ x_{21} & x_{22} & \cdots & x_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ x_{N1} & x_{N2} & \cdots & x_{Np} \\ \end{bmatrix}_{N\times p} \\ \end{align}X​=(x1​,x2​,⋯,xN​)T=​x1T​x2T​⋮xNT​​​N×p​=​x11​x21​⋮xN1​​x12​x22​⋮xN2​​⋯⋯⋱⋯​x1p​x2p​⋮xNp​​​N×p​​​

Sample Mean(样本均值):

Xˉp×1=1N∑Ni=1xi=1N(x1,x2,⋯ ,xN)[11⋮1]N×1=1NXtIN\begin{align} \bar X_{p \times 1}&= \frac{1}{N}\sum_N^{i=1}x_i\\ &=\frac{1}{N}(x_1,x_2,\cdots,x_N) \begin{bmatrix} 1 \\ 1 \\ \vdots \\ 1 \\ \end{bmatrix}_{N\times 1} \\ &= \frac{1}{N} X^t \mathbb{I}_N \end{align}Xˉp×1​​=N1​N∑i=1​xi​=N1​(x1​,x2​,⋯,xN​)​11⋮1​​N×1​=N1​XtIN​​​

Sample Coveriance(样本协方差):

Sp×p=1N∑Ni=1(xi−xˉ)(xi−xˉ)T=1N(x1−x‾,x2−x‾,⋯ ,xN−x‾)(x1−x‾,x2−x‾,⋯ ,xN−x‾)T=1N(XT−1NXTIN1IN1T)(XT−1NXTIN1IN1T)T=1NXT(EN−1NIN1I1N)(EN−1NIN1I1N)TX=1NXTHNHNTX=1NXTHNHNX=1NXTHX\begin{align} S_{p \times p} &= \frac{1}{N}\sum_N^{i=1}(x_i-\bar x)(x_i-\bar x)^T\\ &=\frac{1}{N}(x_1-\overline{x},x_2-\overline{x},\cdots,x_N-\overline{x})(x_1-\overline{x},x_2-\overline{x},\cdots,x_N-\overline{x})^T\nonumber\\ &=\frac{1}{N}(X^T-\frac{1}{N}X^T\mathbb{I}_{N1}\mathbb{I}_{N1}^T)(X^T-\frac{1}{N}X^T\mathbb{I}_{N1}\mathbb{I}_{N1}^T)^T\nonumber\\ &=\frac{1}{N}X^T(E_N-\frac{1}{N}\mathbb{I}_{N1}\mathbb{I}_{1N})(E_N-\frac{1}{N}\mathbb{I}_{N1}\mathbb{I}_{1N})^TX\nonumber\\ &=\frac{1}{N}X^TH_NH_N^TX\nonumber\\ &=\frac{1}{N}X^TH_NH_NX=\frac{1}{N}X^THX \end{align}Sp×p​​=N1​N∑i=1​(xi​−xˉ)(xi​−xˉ)T=N1​(x1​−x,x2​−x,⋯,xN​−x)(x1​−x,x2​−x,⋯,xN​−x)T=N1​(XT−N1​XTIN1​IN1T​)(XT−N1​XTIN1​IN1T​)T=N1​XT(EN​−N1​IN1​I1N​)(EN​−N1​IN1​I1N​)TX=N1​XTHN​HNT​X=N1​XTHN​HN​X=N1​XTHX​​

这个式子利用了中心矩阵 HHH的对称性,这也是一个投影矩阵。

H=EN−1NIN1I1NHT=HH2=H...HnH\begin{align} &H = E_N-\frac{1}{N}\mathbb{I}_{N1}\mathbb{I}_{1N} \\ &H^T = H \\ &H^2 = H \\ &... \\ & H^n H \end{align}​H=EN​−N1​IN1​I1N​HT=HH2=H...HnH​​

线性降维-主成分分析 PCA

即,主成分分析中,基本想法是将所有数据投影到一个字空间中,从而达到降维的目标,为了寻找这个子空间,我们基本想法是:

  1. 所有数据在子空间中更为分散

  2. 损失的信息最小,即:在补空间的分量少

一个中心:对原始特征空间的重构(相关->无关)

两个基本点:最大投影方差,最小重构距离

原来的数据很有可能各个维度之间是相关的,于是希望找到一组 pp p个新的线性无关的单位基 uiu_i ui​,降维就是取其中的 qqq 个基。于是对于一个样本 xix_ixi​,经过这个坐标变换后:

xi^=∑i=1p(uiTxi)ui=∑i=1q(uiTxi)ui+∑i=q+1p(uiTxi)ui\hat{x_i}=\sum\limits_{i=1}^p(u_i^Tx_i)u_i=\sum\limits_{i=1}^q(u_i^Tx_i)u_i+\sum\limits_{i=q+1}^p(u_i^Tx_i)u_ixi​^​=i=1∑p​(uiT​xi​)ui​=i=1∑q​(uiT​xi​)ui​+i=q+1∑p​(uiT​xi​)ui​

最大投影方差

对于数据集来说,首先将其中心化然后再去上面的式子的第一项,并使用其系数的平方平均作为损失函数并最大化:

J=1N∑i=1N∑j=1q((xi−x‾)Tuj)2=∑j=1qujTSuj , s.t. ujTuj=1\begin{align}J&=\frac{1}{N}\sum\limits_{i=1}^N\sum\limits_{j=1}^q((x_i-\overline{x})^Tu_j)^2\nonumber\\ &=\sum\limits_{j=1}^qu_j^TSu_j\ ,\ s.t.\ u_j^Tu_j=1 \end{align}J​=N1​i=1∑N​j=1∑q​((xi​−x)Tuj​)2=j=1∑q​ujT​Suj​ , s.t. ujT​uj​=1​​

由于每个基都是线性无关的,于是每一个 uju_juj​ 的求解可以分别进行,使用拉格朗日乘子法:

argmaxujL(uj,λ)=argmaxujujTSuj+λ(1−ujTuj)\mathop{argmax}_{u_j}L(u_j,\lambda)=\mathop{argmax}_{u_j}u_j^TSu_j+\lambda(1-u_j^Tu_j)argmaxuj​​L(uj​,λ)=argmaxuj​​ujT​Suj​+λ(1−ujT​uj​)

于是:

∂∂ujL(uj)=2Suj−2λuj)=0有,Suj=λuj\begin{align} &\frac{\partial}{\partial u_j}L(u_j)= 2Su_j-2\lambda u_j)=0 \\ &有,Su_j=\lambda u_j \end{align}​∂uj​∂​L(uj​)=2Suj​−2λuj​)=0有,Suj​=λuj​​​

uju_juj​:S的特征向量,λ\lambdaλ:特征值

最小重构距离

下面看其损失的信息最少这个条件,同样适用系数的平方平均作为损失函数,并最小化:

J=1N∑i=1N∑j=q+1p((xi−x‾)Tuj)2=∑j=q+1pujTSuj , s.t. ujTuj=1\begin{align}J&=\frac{1}{N}\sum\limits_{i=1}^N\sum\limits_{j=q+1}^p((x_i-\overline{x})^Tu_j)^2\nonumber\\ &=\sum\limits_{j=q+1}^pu_j^TSu_j\ ,\ s.t.\ u_j^Tu_j=1 \end{align}J​=N1​i=1∑N​j=q+1∑p​((xi​−x)Tuj​)2=j=q+1∑p​ujT​Suj​ , s.t. ujT​uj​=1​​

(原坐标-新坐标)的平方

同样的:

argminujL(uj,λ)=argminujujTSuj+λ(1−ujTuj)\mathop{argmin}_{u_j}L(u_j,\lambda)=\mathop{argmin}_{u_j}u_j^TSu_j+\lambda(1-u_j^Tu_j)argminuj​​L(uj​,λ)=argminuj​​ujT​Suj​+λ(1−ujT​uj​)

损失函数最小取在本征值剩下的个最小的几个值。数据集的协方差矩阵可以写成 $S=U\Lambda U^T$,直接对这个表达式可以得到本征矢。

λ\lambdaλ为最小的,Λ\LambdaΛ为特征值矩阵

SVD 与 PCoA

下面使用实际训练时常常使用的 SVD(奇异值分解) 直接求得这个 qqq 个本征矢。

对中心化后的数据集进行奇异值分解:

HX=UΣVT,UTU=EN,VTV=Ep,Σ:N×pHX=U\Sigma V^T,U^TU=E_N,V^TV=E_p,\Sigma:N\times pHX=UΣVT,UTU=EN​,VTV=Ep​,Σ:N×p

HXHXHX是中心化后的矩阵

于是:

Sp×p=1NXTHX=1NXTHTHX=1NVΣTΣVTS_{p\times p}=\frac{1}{N}X^THX=\frac{1}{N}X^TH^THX=\frac{1}{N}V\Sigma^T\Sigma V^TSp×p​=N1​XTHX=N1​XTHTHX=N1​VΣTΣVT

因此,直接对中心化后的数据集进行 SVD,就可以得到特征值和特征向量 VVV,在新坐标系中的坐标就是:

HX⋅V=UΣHX\cdot V = U\SigmaHX⋅V=UΣ

由上面的推导,可以得到另一种方法 PCoA 主坐标分析,定义并进行特征值分解:

TN×N=HXXTH=UΣΣTUTT_{N\times N}=HXX^TH=U\Sigma\Sigma^TU^TTN×N​=HXXTH=UΣΣTUT

可知,TT T和SSS有相同的eigen value(特征值)

S:特征分解,得到方向(主成分),然后HXV->坐标

T:特征分解,直接得到坐标(主坐标分析/PCoA)

由于:

TUΣ=UΣ(ΣTΣ)TU\Sigma=U\Sigma(\Sigma^T\Sigma)TUΣ=UΣ(ΣTΣ)

于是可以直接得到坐标。这两种方法都可以得到主成分,但是由于方差矩阵是 p×pp\times p p×p的,而 TT T是 N×NN\times NN×N 的,所以对样本量较少的时候可以采用 PCoA的方法。

PCA求解步骤:
1. u1
2. 去中心化(xi-x_mean)u1 -> zi

p-PCA

下面从概率的角度对 PCA 进行分析,概率方法也叫 p-PCA。使用线性模型,类似之前 LDA,选定一个方向,对原数据 x∈Rpx\in\mathbb{R}^p x∈Rp,降维后的数据为 z∈Rq,q<pz\in\mathbb{R}^q,q<pz∈Rq,q<p。降维通过一个矩阵变换(投影)进行:

线性高斯模型:z∼N(Oq1,Iqq)x=Wz+μ+εε∼N(0,σ2Ipp)ε⊥zE(x∣z)=E(Wz+μ+ε)=Wz+μVar[x]=Var[Wz+μ+ε]=σ2Ix∣z∼N(Wz+μ,σ2I)\begin{align} 线性高斯模型:\\ z&\sim\mathcal{N}(\mathbb{O}_{q1},\mathbb{I}_{qq})\\ x&=Wz+\mu+\varepsilon\\ \varepsilon&\sim\mathcal{N}(0,\sigma^2\mathbb{I}_{pp})\\ \varepsilon& \perp z \\ E&(x|z) = E(Wz+\mu+\varepsilon) = Wz+\mu \\ V&ar[x]=Var[Wz+\mu+\varepsilon] = \sigma^2\mathbb{I}\\ x&|z \sim N(Wz+\mu,\sigma^2\mathbb{I}) \\ \end{align}线性高斯模型:zxεεEVx​∼N(Oq1​,Iqq​)=Wz+μ+ε∼N(0,σ2Ipp​)⊥z(x∣z)=E(Wz+μ+ε)=Wz+μar[x]=Var[Wz+μ+ε]=σ2I∣z∼N(Wz+μ,σ2I)​​

p-PCA问题有两个:

  • inference:p(z∣x)p(z|x)p(z∣x)

  • learing(求参数):w,μ,σ2w,\mu,\sigma^2w,μ,σ2

对于这个模型,可以使用期望-最大(EM)的算法进行学习,在进行推断的时候需要求得 p(z∣x)p(z|x)p(z∣x),推断的求解过程和线性高斯模型类似。

p(z∣x)=p(x∣z)p(z)p(x)E[x]=E[Wz+μ+ε]=E[Wz+μ]+E[ε]=μVar[x]=Var[Wz+μ+ε]            =Var[Wz]+Var[μ]+Var[ε]            =W⋅Iqq⋅WT+σ2Ipp            =WWT+σ2I有,x∼N(μ,WWT+σ2I)\begin{align} &p(z|x)=\frac{p(x|z)p(z)}{p(x)}\\ &\mathbb{E}[x]=\mathbb{E}[Wz+\mu+\varepsilon]=\mathbb{E}[Wz+\mu]+E[\varepsilon]=\mu\\ &Var[x]=Var[Wz+\mu+\varepsilon]\\ & \ \ \ \ \ \ \ \ \ \ \ \ =Var[Wz]+Var[\mu]+Var[\varepsilon]\\ & \ \ \ \ \ \ \ \ \ \ \ \ =W\cdot\mathbb{I_{qq}}\cdot W^T+\sigma^2\mathbb{I}_{pp}\\ & \ \ \ \ \ \ \ \ \ \ \ \ =WW^T+\sigma^2\mathbb{I}\\ &有,x\sim N(\mu,WW^T+\sigma^2\mathbb{I}) \end{align}​p(z∣x)=p(x)p(x∣z)p(z)​E[x]=E[Wz+μ+ε]=E[Wz+μ]+E[ε]=μVar[x]=Var[Wz+μ+ε]            =Var[Wz]+Var[μ]+Var[ε]            =W⋅Iqq​⋅WT+σ2Ipp​            =WWT+σ2I有,x∼N(μ,WWT+σ2I)​​

接下来求zz z的后验

记,x=(xaxb)有,x∼N[(μaμb)(ΣaaΣabΣbaΣbb)]于是,         xb⋅a=xb−ΣbaΣaa−1xa         μb⋅a=μb−ΣbaΣaa−1μa         Σbb⋅a=Σb⋅a−ΣbaΣaa−1Σa⋅b有,    xb⋅a∼N(μb⋅a,Σbb⋅a)又      xb=xb⋅a+Σbb⋅aΣaa−1xa         E(xb∣xa)=E(xb⋅a)+Σbb⋅aΣaa−1xa                           =μb⋅a+Σbb⋅aΣaa−1xa                           =μb+Σbb⋅aΣaa−1(xa−μa)         Var(xb∣xa)=Var(xb⋅a)=Σbb⋅a有,    xb∣xa∼N(μb+Σbb⋅aΣaa−1(xa−μa),Σbb⋅a)\begin{align} &记,x=\begin{pmatrix}x_{a}\\x_{b}\end{pmatrix}\\ &有,x\sim N[\begin{pmatrix}\mu_{a}\\\mu_{b}\end{pmatrix} \begin{pmatrix}\Sigma_{aa}&\Sigma_{ab}\\\Sigma_{ba}&\Sigma_{bb}\end{pmatrix}] \\ &于是, \\ & \ \ \ \ \ \ \ \ \ x_{b\cdot a} =x_b - \Sigma_{ba}\Sigma_{aa}^{-1}x_a \\ & \ \ \ \ \ \ \ \ \ \mu_{b\cdot a} =\mu_b - \Sigma_{ba}\Sigma_{aa}^{-1}\mu_a \\ & \ \ \ \ \ \ \ \ \ \Sigma_{bb\cdot a} =\Sigma_{b\cdot a} - \Sigma_{ba}\Sigma_{aa}^{-1}\Sigma_{a\cdot b} \\ & 有, \ \ \ \ x_{b\cdot a}\sim N(\mu_{b\cdot a},\Sigma_{bb\cdot a}) \\ &又 \ \ \ \ \ \ x_{b}=x_{b\cdot a}+\Sigma_{bb\cdot a}\Sigma_{aa}^{-1}x_a \\ & \ \ \ \ \ \ \ \ \ E(x_b|x_a)=E(x_{b\cdot a})+ \Sigma_{bb\cdot a}\Sigma_{aa}^{-1}x_a \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = \mu_{b\cdot a}+\Sigma_{bb\cdot a}\Sigma_{aa}^{-1}x_a \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = \mu_{b}+\Sigma_{bb\cdot a}\Sigma_{aa}^{-1}(x_a-\mu_a) \\ & \ \ \ \ \ \ \ \ \ Var(x_b|x_a)=Var(x_{b\cdot a}) = \Sigma_{bb\cdot a}\\ & 有, \ \ \ \ x_b|x_a\sim N(\mu_{b}+\Sigma_{bb\cdot a}\Sigma_{aa}^{-1}(x_a-\mu_a),\Sigma_{bb\cdot a}) \\ \end{align}​记,x=(xa​xb​​)有,x∼N[(μa​μb​​)(Σaa​Σba​​Σab​Σbb​​)]于是,         xb⋅a​=xb​−Σba​Σaa−1​xa​         μb⋅a​=μb​−Σba​Σaa−1​μa​         Σbb⋅a​=Σb⋅a​−Σba​Σaa−1​Σa⋅b​有,    xb⋅a​∼N(μb⋅a​,Σbb⋅a​)又      xb​=xb⋅a​+Σbb⋅a​Σaa−1​xa​         E(xb​∣xa​)=E(xb⋅a​)+Σbb⋅a​Σaa−1​xa​                           =μb⋅a​+Σbb⋅a​Σaa−1​xa​                           =μb​+Σbb⋅a​Σaa−1​(xa​−μa​)         Var(xb​∣xa​)=Var(xb⋅a​)=Σbb⋅a​有,    xb​∣xa​∼N(μb​+Σbb⋅a​Σaa−1​(xa​−μa​),Σbb⋅a​)​​

由上可知,

记,(xz)∼N[(μ0)(WWT+σ2IΔΔI)]求解,Δ由于Δ=Cov(x,z)=Cov(z,x),求解一个即可Cov(x,z)=E[(x−μ)(z−0)T]=E[(x−μ)zT]                 =E[(Wz+ε)zT]=E[WzzT+εzT]                 =E[WzzT]+E[εzT]                 =WE[zzT]=W⋅I求出后,有(xz)∼N[(μ0)(WWT+σ2IW⋅IW⋅II)]即可套公式求出p(z∣x)\begin{align} &记,\begin{pmatrix}x\\z\end{pmatrix} \sim N[\begin{pmatrix}\mu\\0\end{pmatrix} \begin{pmatrix}WW^T+\sigma^2\mathbb{I}&\Delta\\\Delta&\mathbb{I}\end{pmatrix}] \\ &求解,\Delta\\ &由于\Delta=Cov(x,z)=Cov(z,x),求解一个即可 \\ & Cov(x,z) = E[(x-\mu)(z-0)^T] = E[(x-\mu)z^T]\\ &\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = E[(Wz+\varepsilon)z^T] = E[Wzz^T+\varepsilon z^T] \\ &\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = E[Wzz^T]+E[\varepsilon z^T] \\ &\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = WE[zz^T] = W\cdot \mathbb{I}\\ & 求出后,有\begin{pmatrix}x\\z\end{pmatrix} \sim N[\begin{pmatrix}\mu\\0\end{pmatrix} \begin{pmatrix}WW^T+\sigma^2\mathbb{I}&W\cdot \mathbb{I}\\W\cdot \mathbb{I}&\mathbb{I}\end{pmatrix}] \\ &即可套公式求出p(z|x) \end{align}​记,(xz​)∼N[(μ0​)(WWT+σ2IΔ​ΔI​)]求解,Δ由于Δ=Cov(x,z)=Cov(z,x),求解一个即可Cov(x,z)=E[(x−μ)(z−0)T]=E[(x−μ)zT]                 =E[(Wz+ε)zT]=E[WzzT+εzT]                 =E[WzzT]+E[εzT]                 =WE[zzT]=W⋅I求出后,有(xz​)∼N[(μ0​)(WWT+σ2IW⋅I​W⋅II​)]即可套公式求出p(z∣x)​​
即,p(z∣x)=N(WT(WWT+σ2I)−1(x−μ),I−WT(WWT+σ2I)−1W)即,p(z|x)=\mathcal{N}(W^T(WW^T+\sigma^2\mathbb{I})^{-1}(x-\mu),\mathbb{I}-W^T(WW^T+\sigma^2\mathbb{I})^{-1}W)即,p(z∣x)=N(WT(WWT+σ2I)−1(x−μ),I−WT(WWT+σ2I)−1W)

小结

降维是解决维度灾难和过拟合的重要方法,除了直接的特征选择外,还可以采用算法的途径对特征进行筛选,线性的降维方法以 PCA 为代表,在 PCA 中,只要直接对数据矩阵进行中心化然后求奇异值分解或者对数据的协方差矩阵进行分解就可以得到其主要维度。非线性学习的方法如流形学习将投影面从平面改为超曲面。

上一页集成学习下一页距离度量

最后更新于3年前

这有帮助吗?