摘要: 任务:在这个问题中,你将实现稀疏自编码器算法,并且展示它怎么发现边缘是自然图像的一个好的表示。 在文件sparseae_exercise.zip中,我们已经提供了一些Matlab中的初始代码,你应该将你的代码写在文件中的”YOUR CODE HERE“下面。你必须完成以下文件:samplesIMAGES.m, sparseAutoencoderCost.m,computeNumericalGradient.m.在train.m中的开始代码展示了这些函数是怎样被使用的。 明确地,在这个练习中你将实现一个稀疏自编码器,用8×8的图像块,使用L-BFGS最优化算法训练的。第一步:产生训练集 阅读全文
posted @ 2014-01-14 21:11 Providence 阅读(1804) 评论(0) 推荐(0) 编辑
摘要: randi Pseudorandom integers from a uniform discrete distribution.来自一个均匀离散分布的伪随机整数 R = randi(IMAX,N) returns an N-by-N matrix containing pseudorand... 阅读全文
posted @ 2014-01-14 20:00 Providence 阅读(6646) 评论(0) 推荐(0) 编辑
摘要: 训练完(稀疏)自编码器,我们还想把这自编码器学习到的函数可视化出来,好弄明白它到底学到了什么。我们以在10×10图像(即n=100)上训练自编码器为例。在该自编码器中,每个隐藏单元i对如下关于输入的函数进行计算:我们将要可视化的函数,就是上面这个以2D图像为输入,并由隐藏单元i计算出来的函数。它是依... 阅读全文
posted @ 2014-01-14 16:42 Providence 阅读(1470) 评论(0) 推荐(0) 编辑
摘要: 目前为止,我们已经讨论神经网络在有监督学习中的应用。在有监督学习中,训练样本是有类别标签的。现在假设我们只有一个没有带标签的训练样本集合 ,其中 。自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值,比如 。下图是一个自编码神经网络的示例。 自编码神经网络尝试学习一... 阅读全文
posted @ 2014-01-14 15:16 Providence 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 众所周知,反向传播算法很难调试得到正确结果,尤其是当程序存在很多难于发现的bug时。距离来说,索引的缺位错误(off-by-one error)会导致只有部分层的权重得到训练,再比如忘记计算偏置项。这些错误会使你得到一个看似十分合理的结果(但实际上比正确代码的结果要差)。因此,但从计算结果上来看,我... 阅读全文
posted @ 2014-01-14 10:18 Providence 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 假设我们有一个固定样本集,它包含 个样例。我们可以用批量梯度下降法来求解神经网络。具体来讲,对于单个样例(x,y),其代价函数为:这是一个(二分之一的)方差代价函数。给定一个包含 个样例的数据集,我们可以定义整体代价函数为:以上公式中的第一项 是一个均方差项。第二项是一个规则化项(也叫权重衰减项... 阅读全文
posted @ 2014-01-14 09:41 Providence 阅读(1358) 评论(0) 推荐(0) 编辑