PCA方法,自编码模型(AE,SAE,DSAE等)

来源:互联网 发布:yy静态头像psd源码 编辑:程序博客网 时间:2024/06/01 20:11

    • PCA
    • AE
    • SAE
    • DAE
    • CAE
    • SDAE
    • VAE

自编码模型,是非监督方法,能够完成特征的压缩和提取;
PCA是线性降维方法,是自编码模型的基础;

1. PCA

PCA 是主成分分析方法,主要是用来数据预处理,降低维度,提取关键的特征(去除冗余的特征);
首先回顾一下协方差:协方差反应出两两维度之间的关联,越大越关联;

cov(X,Y)=E[(XE(X))(YE(Y))]=E[XY]E[X]E[Y]

方差:
D(X)=E[(XE(x))2]=E[X2](E[x])2

相关系数:(协方差的标准化)
相关系数主要是说明X,Y之间的线性相关性,当rho>0,正相关;等于0,不相关,负数负相关;
ρ=cov(X,Y)σXσY

为什么是线性线性呢?
首选我们假设Y=aX+b,那么cov(X,Y)=aD(x),分母是|a|D(x),所以ρ取决于系数a的正负;

实例:
对于原始样本x,我们对其进行编码

c=f(x)
, 最后再构造一个解码函数xg(c)=g(f(x)),定义g(x)=Dc,那么,我们最小化损失函数:
minc|xDc|2

通过对c求导为零,我们可以得到c=DTx,这就是我们的编码函数;

进一步地,给定X,我们得到其协方差矩阵Cx=1nXXT,n 是特征维度;
我们引入编码函数D,Y=PX,构造Y的协方差矩阵;

Cy=1nYYT=PCXPT

我们希望Y的特征间的关联小,即Cy中的对角线值尽可能的大,其余位置为零,变成对角矩阵;

基于特征分解的方式:
Cx是对称矩阵,那么我们可以分解成:Cx=SΛS1=SΛST, 令P=ST,那么:

Cy=PCxPT=PSΛSTPT=PP1ΛPP1=Λ

由上可知,我们的目标就是求得Cx的特征向量,和特征值;

基于SVD分解的方式
一个矩阵可以分解成三个矩阵相乘的形式:

M=UΣVT

因此有:
MMT=UΣVTVΣTUT=UΣΣTUT

MTM=VΣTUTUΣVT=VΣTΣVT

现在令 Y=1nXT,那么
YTY=1nXXT=Cx=VΣTΣVT

因此,我们可以直接对Y进行矩阵分解,获得的V 就是所需要的P;


2. AE

自编码模型AutoEncode,只有一层隐藏层;尽可能的复现原始信号,是PCA的扩展,获取有效的特征;
这里写图片描述
这里写图片描述


3.SAE

Sparse AutoEncode 稀疏自编码模型,目的是抑制一些神经元的活性,使得code层更加的稀疏;
这里写图片描述


4.DAE

Denoising AutoEncoders降噪自动编码器;
在原始的文本中加入噪音,提高其泛化能力,鲁棒性高;
加入训练数据加入噪声,DAE必须学习去去除这种噪声而获得真正的没有被噪声污染过的输入。 DAE可以通过梯度下降算法去训练。
一般上,我们将原始文档一式二份,一份加入噪声,然后进行训练;最后可以使用KL散度进行度量;
这里写图片描述


5. CAE

Contractive auto-encoders
收缩编码模型,在损失函数中加入W的正则项;

6. SDAE

Stack Denoising AutoEncoders;栈式降噪变=自动编码器;
>本质上就是将原来的一层结构拓展,类似栈结构;

7. VAE

变分自动编码;标准的编码器不能获得新的特征,即不会进行合理的推测而产生有效的结果;(GAN网络类比);
在AE上,强迫潜在变量服从高斯分布,这样经过采样,产生一些新的特征;
这里写图片描述
这里写图片描述

参考文献:
http://blog.csdn.net/hjimce/article/details/49106869
VAE: http://www.cnblogs.com/huangshiyu13/p/6209016.html

原创粉丝点击