Exercise:Vectorization 代码示例

练习参考Vectorization


需要在练习Sparse Autoencoder的基础上做。可将Sparse Autoencoder拷贝一份并重命名为Vectorization。下载教程提供的数据,解压缩后将train-images-idx3-ubyte、train-labels-idx1-ubyte、loadMNISTImages.m和loadMNISTLabels.m文件放在train.m文件同一级目录下。


修改train.m为:

visibleSize = 28*28;
hiddenSize = 196;
sparsityParam = 0.1; 
lambda = 3e-3;     
beta = 3;      

images = loadMNISTImages('train-images-idx3-ubyte');
labels = loadMNISTLabels('train-labels-idx1-ubyte');
 
display_network(images(:,1:100));
disp(labels(1:10));

patches=images(:,1:10000);

theta = initializeParameters(hiddenSize, visibleSize);

[cost, grad] = sparseAutoencoderCost(theta, visibleSize, hiddenSize, lambda, ...
                                      sparsityParam, beta, patches);

addpath minFunc/
options.Method = 'lbfgs';
options.maxIter = 400;
options.display = 'on';

[opttheta, cost] = minFunc( @(p) sparseAutoencoderCost(p, ...
                                   visibleSize, hiddenSize, ...
                                   lambda, sparsityParam, ...
                                   beta, patches), ...
                              theta, options);

W1 = reshape(opttheta(1:hiddenSize*visibleSize), hiddenSize, visibleSize);
display_network(W1', 12);


运行train.m,等待若干分钟,运算得到可视化结果如教程所示。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值