机器学习之自动编码机

自动编码机

自动编码器就是一种尽可能复现输入信号的神经网络

  • 为了实现这种复现,自动编码器就必须捕捉可以代表输入数据的最重要因素,和主成分分析类似,找到可以代表原信息的主要成分

    image-20211027162020806
  • 一般的神经网络学习都是有标签的学习,根据当前计算的输出值和label之间的差去改变前面各层的参数,直到收敛。但是对于无标签的数据,神经网络无法进行反向传播进行训练,此时需要找到一个特征进行学习。

无监督学习过程:

  1. 将input输入一个encoder编码器,就会得到一个code,这个code也就是输入的一个表示

  2. 增加一个decoder解码器

  3. 通过调整encoder和decoder的参数,使得重构误差最小,这样就得到了输入input信号的一个表示了,也就是编码code

  4. 因为是无标签数据,所以误差来源就是直接重构后与原输入相比得到

    如下图所示:

    image-20211105154457540

第一步:采用自下而上的无监督学习——wake-sleep算法

  1. wake阶段:

    认知过程,通过下层的输入特征(Input)和向上的认识(Encoder)权重产生每一层的抽象表示(Code),再通过当前的生成(Decoder)权重产生一个重建信息(Reconstruction),计算输入特征和重建信息残差,使用梯度下降修改层间的下行生成(Decoder)权重。也就是“如果现实和我想象的不一样,改变我的权重使得我想象的东西变得与现实一样”。

  2. sleep阶段:

    生成过程,通过上层概念(Code)和向下的生成(Decoder)权重,生成下层的状态,再利用认知(Encoder)权重产生一个抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯度下降修改层间向上的认知(Encoder)权重。

第二步:自顶向下的监督学习

  1. 这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如络捷斯特回归、SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。

  2. 深度学习的第一步实质上是一个网络参数初始化的过程。区别于传统神经网络初值碎浆机初始化,深度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近于全局最优

    image-20211105165316117

image-20211105165854531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃小巴掌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值