UFLDL教程 Exercise:Vectorization(答案)

本文介绍如何通过矢量化编程提升机器学习模型训练效率,并使用MNIST数据集进行实操演示。文章详细记录了调整参数及数据集加载过程。

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

(注:本人刚刚着手DL,所以博文也仅属于学习笔记范畴,每篇博文我都会将内容摘抄地址附在最上面,如果冒犯原作者,请见谅哈~)

 

参考链接:

http://www.cnblogs.com/hrlnw/archive/2013/06/08/3127162.html

网页教程参考:

Exercise:Vectorization

 

   这一节练习是教我们怎么矢量化编程来代替低效率的for循环,用了MNIST数据集,其实和上一节基本一样,只是数据集变了而已,因为上一个博文(Exercise:Sparse autoencoder)代码部分已经是运用矢量化编程的了,所以步骤有以下两步:

 

1、train.m文件中把step0里面的各个参数调整成这样:

<span style="font-size:14px;">visibleSize = 28*28;   % number of input units 
hiddenSize = 196;     % number of hidden units
sparsityParam = 0.1;   % desired average activation of the hidden units.
                     % (This was denoted by the Greek alphabet rho, which looks like a lower-case "p",
             %  in the lecture notes). 
lambda = 3e-3;     % weight decay parameter       
beta = 3;            % weight of sparsity penalty term</span>


2、step1里面的写成这样:

<span style="font-size:14px;">images = loadMNISTImages('train-images.idx3-ubyte');
patches = images(:,1:10000);
% 
% patches = sampleIMAGES;</span>

 

注意:一定要把梯度检查注释掉,因为这次的数据集相对比较大,梯度检查所以会很慢。训练结束后会得到这种样子的图片:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值