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

    • 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的扩展,获取有效的特征;
PCA方法,自编码模型(AE,SAE,DSAE等)_第1张图片
PCA方法,自编码模型(AE,SAE,DSAE等)_第2张图片


3.SAE

Sparse AutoEncode 稀疏自编码模型,目的是抑制一些神经元的活性,使得code层更加的稀疏;
PCA方法,自编码模型(AE,SAE,DSAE等)_第3张图片


4.DAE

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


5. CAE

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

6. SDAE

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

7. VAE

变分自动编码;标准的编码器不能获得新的特征,即不会进行合理的推测而产生有效的结果;(GAN网络类比);
在AE上,强迫潜在变量服从高斯分布,这样经过采样,产生一些新的特征;
PCA方法,自编码模型(AE,SAE,DSAE等)_第5张图片
PCA方法,自编码模型(AE,SAE,DSAE等)_第6张图片

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

你可能感兴趣的:(机器学习)