Linear Decoders

本文介绍了线性解码器在神经网络中的应用,特别是在处理不需要输入限制在[0,1]范围的数据时。线性解码器允许输出层的数值超出0到1的范围。此外,文章还探讨了在STL-10数据集上学习颜色特征的实验,包括数据预处理使用ZCA白化,并展示了如何在MATLAB中实现线性解码器的稀疏自编码器。" 104273645,8040383,二维数组查找算法优化,"['算法', '数组操作', '查找算法', '优化', '数据结构']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        博文参考standford UFLDL网页教程线性解码器


1、线性解码器

          

          前面说过的稀疏自编码器是一个三层的feed-forward神经网络结构,包含输入层、隐含层和输出层,隐含层和输出层采用的激活函数都是sigmoid函数,由于sigmoid函数的y值范围在[0,1],这就要求输入也要在这个范围内,MNIST数据是在这个范围内的,但是对于有些数据,我们不知道用什么办法缩放到[0,1]才合适,所以就有线性解码器。线性解码器(linear decoders)其实就是输出层采用线性激活函数,最简单的线性激活函数就是恒等激活函数,就是a=f(z)=z。但是中间隐含层必须采用sigmoid函数或者tanh函数,这两个都是对输入的非线性变换,如果采用线性变换,一方面表达能力没有那么强,另一方面就是没有必要采用三层结构了,直接隐含层当做输出层也可以学到一样的函数关系。有了线性解码器之后,输入层的单元就没必要限制在[0,1]了。

      线性解码器的输出层可以通过调整W2使得输出数值可以大于1或者小于0。

      对于线性解码器,当输出层的激活函数变为恒等激活函数,输出单元的误差项变为:

  

     使用BP算法计算隐含层单元的误差为:

  


2、Learning color features with Sparse Autoencoders

    关于实验的一些说明:

  1. 实验的数据集是STL-10数据,是RGB三通道图,之前的实验用的是MNIST数据集,MNIST是灰度图;STL-10数据是把RGB组成一个长向量,这样就跟MNIST数据一样了。实验数据patches的大小是192*100000,因为RGB patches大小是8x8,把RGB组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值