7.27 暑假开始后,稍有时间,“搞完”金融项目,便开始跑跑 Deep Learning的程序

Hinton 在Nature上文章的代码 跑了3天 也没跑完 后来Debug 把batch 从200改到20 勉强跑出结果

后来开始看 文章等  感觉晕晕乎乎

又翻到:Deep Learning Tutorials 装Theano等,但是python 代码 Debug真是好生恶心

再后来翻到 UFLDL,看着有Exercise 便做了起来。

用了5天刷了9个Exercises。

大概年后吧,在微博上看到 @邓侃 组织翻译 Andrew Ng 执笔的 Deep Learning 系列(UFLDL)

当时 就泼了冷水 那个时候在读 Machine Learning的书 清一色英文 觉得英文不是问题  为什么要翻译呢?

我觉得读书 应该读经典 读好书;国内很多书的内容质量大家都懂的。

学习一个新方向(比如ML/CV/IP等)我的方法是:先找一本中文书(可以是翻译的)熟悉知识的框架/关键字;然后找些经典书籍(多数是英文,偶尔会有不错的中文书)来读,再深入就要 Code 读Paper等;Code也可以在读书的时候进行,我在读PRML的时候,看完一章节,就合上书自己推导/Code,收获很多。

现在来看邓前辈组织的翻译,特别符合我入门DL的需求,而且Ng的Exercise做得很用心,难度不大。

为一开始的不敬,愧疚。向翻译团队致敬!

============================================

1.Sparse Autoencoder

关于Sparse/Low-rank  model,看过20多篇计算机视觉的文章,还Code过几个算法。

在Neural Networks中,通过约束隐含层的平均激活度 来实现稀疏

Exercise Result:

展示的是 第一层系数W每一行 reshape成 patch 大小的图像。联想到了EignFaces...

-----------------------------------------------------------------------------------------

2.Vectorization

向量化编程;matlab中for循环很慢,如果在cost函数中包含for循环,那么优化将变得很慢。

一开始我不以为意,没去做这事;在后面的一个Exercise中,程序跑得很慢,便优化了Sparse Autoencoder的代码,去掉了所有for循环,速度提高了8倍左右。

-----------------------------------------------------------------------------------------

3.PCA and Whitening

Whitening部分对我来说虽然较新,却不难;做降维的时候,PCA就是一个主要方法;PCA重建这事自己也探索过;

白化在PRML上看到过,没太留意。图形的预处理还是很重要的。

-----------------------------------------------------------------------------------------

4.Softmax Regression

Logistic Regression 多分类的直接推广。关于这个还有个小故事,曾经以对LR的理解,看出了豆瓣某工程师对SR推导的错误。

MNIST:

这个准确率 跟前段时间 玩Kaggle时用 one-vs-all logistic regression差不多(91.x%)

-----------------------------------------------------------------------------------------

5.Self-Taught Learning

使用5-9的MNIST数据 train 一个 Autoencoder 得到参数W1 b1

reshape W1:

使用W1 b1 来 Extract 0-4的Features

接着使用softmax regression训练一个分类器(偷了个懒 Autoencoder只迭代了200次)

-----------------------------------------------------------------------------------------

6.Implement Deep Learning Networks for Digital Classification

真正意义上构建的的第一个深层网络:前两层用Sparse Autoencoder训练feature I II,最后使用softmax regression对feature II进行分类。

迭代的次数 需要自己设定 所以多少有些出入

-----------------------------------------------------------------------------------------

7.Linear Decoders with Autoencoders

由于sigmoid/tanh函数的取值范围限制,输入数据x也只能在相同范围内

在输出端 使用线性激励函数 就可以克服此问题.

-----------------------------------------------------------------------------------------

8.Convolution and pooling

-----------------------------------------------------------------------------------------

9.Sparse Coding

稀疏模型 不多说了 搞过;咔咔,解析解需要用到矩阵求导 利用trace(AA')求导即可 加入收敛条件

从其提供的代码来看,cost function的第一项重建差 需要除以patch数目,其实这种除可以相应scale lambda gamma达到一样的效果,cosnt*f(x)与f(x)最优解是一致的。

================================================

再次感谢 翻译团队 对母语的理解 还是要比英文顺畅得多

在此之前 只code过一次 Neuron Network,

——做Exercise6的时候,胸口疼了一会,真正在做多层网络啦!

接下来 读一些 readlist 上的文章,丰富Neuron Networks的知识。

Autoencoder知识UF的一种...

Unsupervised Feature Learning and Deep Learning(UFLDL) Exercise 总结的更多相关文章

  1. UFLDL(Unsupervised Feature Learning and Deep Learning)

    UFLDL(Unsupervised Feature Learning and Deep Learning)Tutorial 是由 Stanford 大学的 Andrew Ng 教授及其团队编写的一套 ...

  2. paper 124:【转载】无监督特征学习——Unsupervised feature learning and deep learning

    来源:http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio c ...

  3. 转:无监督特征学习——Unsupervised feature learning and deep learning

    http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio clas ...

  4. [转] 无监督特征学习——Unsupervised feature learning and deep learning

    from:http://blog.csdn.net/abcjennifer/article/details/7804962 无监督学习近年来很热,先后应用于computer vision, audio ...

  5. A Gentle Introduction to Transfer Learning for Deep Learning | 迁移学习

    by Jason Brownlee on December 20, 2017 in Better Deep Learning Transfer learning is a machine learni ...

  6. deep learning 以及deep learning 常用模型和方法

    首先为什么会有Deep learning,我们得到一个结论就是Deep learning需要多层来获得更抽象的特征表达. 1.Deep learning与Neural Network 深度学习是机器学 ...

  7. 应该如何入门deep learning呢?从UFLDL开始!

    抱歉,大家,这里不是要分享如何学习deep learning,而是想要记录自己学习deep learning的小历程,算是给自己的一点小动力吧,希望各位业内前辈能够多多指教! 看到有网友提到,Andr ...

  8. 转:UFLDL_Tutorial 笔记(deep learning绝佳的入门资料 )

    http://blog.csdn.net/dinosoft/article/details/50103503 推荐一个deep learning绝佳的入门资料 * UFLDL(Unsupervised ...

  9. Deep Learning(深度学习)学习笔记整理

    申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html 4.2.初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表 ...

随机推荐

  1. UVA 658 It's not a Bug, it's a Feature!

    这个题目巧妙之处在于用二进制的每个位1,0分别表示bug的有无,以及实施补丁对相应bug的要求以及实施后的对bug的影响. 软件bug的状态:1表示相应bug仍然存在,0表示已经修复.这样可以将软件的 ...

  2. ASP.NET MVC 入门2、项目的目录结构与核心的DLL

    我们新建一个ASP.NET MVC的Web Application后,默认的情况下,项目的目录结构如下: App_Data :这个目录跟我们一般的ASP.NET website是一样的,用于存放数据. ...

  3. .NET事件的指导原则

    C#允许编写所需的各种类型的事件.但是,为了与.NET Framwork的组件相兼容,开发人员必须遵循微软为此建立的一系列指导原则.这些指导原则的核心是,事件处理程序必须拥有两个参数.第一个参数是一个 ...

  4. Tolerance (定义发票允差)

    (N) AP > Setup > Invoice > Tolerance (定义发票允差) 这里只对价格进行了设置,其他保持了默认.To set tolerance levels f ...

  5. tarjan 算法讲解(转)

     转自:https://www.byvoid.com/blog/scc-tarjan/ 網誌 列表 標籤 項目 關於 聯繫 四月142009 作者:byvoid 閱讀: 158882 計算機科學 圖論 ...

  6. Awesomplete 屌爆了

    自动完成,功能强大! 具体请参考 http://leaverou.github.io/awesomplete

  7. 阿里巴巴SUI Mobile的使用

    1.引入文件 <link rel="stylesheet" href="./css/sm.min.css"> <link rel=" ...

  8. 从零开始学习jQuery (一) 开天辟地入门篇

    一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇, 主要是简单介绍jQuer ...

  9. C#实现调用Java类中方法

    基本思路: 用C#实现调用Java编写的类中的方法:重点是将Java编写的程序打包成Jar,然后使用开源工具IKVM将其转化成DLL控件,在.NET环境下调用. 分为以下步骤: 1.下载JDK6(注: ...

  10. (转载)PHP 下 CURL 通过 POST 提交表单失败的原因之一与解决办法

    (转载)http://blog.renren.com/share/246611432/7511385884 前几天在学习使用 CURL 时遇到一个问题:在 a.php 中以 POST 方式向 b.ph ...