【UFLDL-exercise1-Sparse Autoencoder】

下午五点,成功实现了UFLDL中的稀疏自编码器,感觉一个字——爽!哈哈哈。。。看来自己还是有一点coding ability的,而且这次实验,对于自己认识与学习coding和增进信心能起到帮助。

先前代码写完了,但是最后出来的结果很不理想(不是所谓的edge detetor),自己也意识到有一点不对劲,因为gradient check那一部分,解析解和数值解相差的数量级有点大(10^-5,而非提示的10^-9);于是回到sparseAutoencoderCost.m中去看,发现整个的逻辑都没有问题,最后察觉到有一处
这里写图片描述

图中红线对应的是regularization item的偏导,自己把W2 W1 写成了W2grad和W1grad, 改过来后再运行gradient check,误差数量级减到了10^-11 ,把gradient check注释掉,运行整个程序,学习到的隐层权重用图像表示出来为:
这里写图片描述

可以看到,稀疏自编码器确实学习到的是一组边缘检测器。

整个的代码(已矢量化编程)在这里,希望对其他初学者有帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值