Unsupervised Feature Learning and Deep Learning(UFLDL) Exercise 总结

无监督特征学习——Unsupervised feature learning and deep learning 无监督学习近年来很热,先后应用于computer vision, audio classification和 NLP等问题,通过机器进行无监督学习feature得到的结果,其accuracy大多明显优于其他方法进行training。本文将主要针对Andrew的unsupervised learning,结合他的视频:unsupervised feature learning by Andrew N 阅读详情

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 

在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

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

咔咔,解析解需要用到矩阵求导 利用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 代码实现 最近开始了解深度学习的东西,看到国内研究者翻译的斯坦福大学的深度学习的历程,觉得很不错,就按照学习例程学习,一步一步完成后面的练习。这个练习安排的很合理,得按顺序完成,跳跃着做可能会遇到一定的麻烦。我在完成中也遇到不少的麻烦,不过还是慢慢克服了,越往后程序对计算机的配置要求越高,需要的内存也越大。下面是我完成这些例程中一些关键性的代码,觉得有用的可以参考一下,建议大家先自己动手写,如果实在是遇到困 阅读详情

相关推荐

Unsupervised Feature Learning and Deep Learning

机器学习经典书籍Unsupervised Feature Learning and Deep Learning 英文

Unsupervised Feature Learning and Deep Learning(UFLDL)

UFLDL TutorialDescription: This tutorial will teach you the main ideas of Unsupervised Feature Learning and Deep Learning. By working through it, you will also get to implement several feature learnin...

女王の专属领地 716

超智能体pdf文件

超智能体pdf,原来托管在GitBook上,后来被原博主删除。该书生动形象的描述了机器学习和深度学习的基础知识,值得推荐。

Unsupervised Feature Learning and Deep Learning Tutorial - UFLDL Tutorial

Unsupervised Feature Learning and Deep Learning Tutorial - UFLDL Tutorial http://ufldl.stanford.edu/tutorial/ Welcome to the Deep Learning Tutorial! Description: This tutorial will teach you the main ideas of Unsupervised Feature Learning and Deep Learning

程永强 640

vhdl源代码CRC

采用VHDL开发的CRC源代码,直接使用,一个时钟周期内完成

电子科大随机过程往年考试题

电子科大随机过程考试题,11、12、13三年考试题,研究生课程

2023电子科技大学考研分析

位于四川成都、985工程、211工程、世界一流学科建设高校、专业实力位于四大“电子科技”大学之首。

li542525的博客 5299

电子科技大学概率论本科习题答案及期中测试题

电子科技大学本科生概率论习题及答案,和老师上课布置的习题是配套的,对本科生学习很有帮助

TDesign 小程序 Drawer 抽屉组件实战指南:配置、事件与源码解析

Drawer 抽屉是 TDesign 小程序组件库(tdesign-miniprogram)中用于承载一组平行关系页面/内容的切换器,相比 Tab,它在同一屏内可以展示更多的选项数量。本文以 [Drawer 官方文档](https://link.gitcode.com/i/6b9a24de724c351aafd86eae9620002b) 为核心,结合仓库源码与单元测试,完整讲解 `t-drawe

gitblog_01101的博客 236

211,985工程 计算机工科大学 离散数学课件

非常全面 211工程 985工程 工科大学的课件

ovs实现lb负载均衡

负载均衡器的实现原理是通过硬件或软件设备将客户端访问流量根据转发策略分发到多个服务器或设备上,以确保系统的负载均衡。二层负载均衡‌:使用虚拟MAC地址方式,根据OSI模型的二层进行负载均衡。‌四层负载均衡‌:基于IP+端口的负载均衡,主要分析IP层及TCP/UDP层,实现四层负载均衡。‌七层负载均衡‌:从应用层开始,根据虚拟的URL或IP、主机名接收请求,再转向相应的处理服务器。

bobi的博客 951

从理论到代码:Stanford UFLDL Tutorial中的梯度计算与优化技巧

Stanford UFLDL Tutorial(Unsupervised Feature Learning and Deep Learning Tutorial)是深度学习领域的经典入门资源,其中梯度计算与优化技巧是构建高效神经网络模型的核心基础。本文将带你从理论原理到代码实现,系统掌握这一关键技术。 ## 梯度计算的理论基础与数值实现 梯度计算是深度学习模型训练的核心环节,它决定了参数更新的

gitblog_00579的博客 816

C/C++_五大常规算法_分治算法

分治法 一个装有 16 枚硬币的袋子,16 枚硬币中有一个是伪造的,伪造的硬币和普通硬币从表面上看不出有任何差别,但是那 个伪造的硬币比真的硬币要轻。现有给你一台天平,请你在尽可能最短的时间内找出那枚伪造的硬币。 常规思维: 每次从待比较的硬币中取两枚进行计较,如果天平平衡(相等)就继续取剩下的硬币进行比较 继续以上过程,直到找到硬币。 强者思维: 我们先将 16 枚硬币分为左右两个部分,各为 8 个硬币,分别称重,必然会有一半轻一半重,而我们要的就是轻的那组,重 的舍去。接下来我们继续对轻的进行五五分

weifc-wei 的博客 2724

自监督学习实战:Stanford UFLDL教程教你用无标签数据训练分类模型

Stanford UFLDL教程(Unsupervised Feature Learning and Deep Learning Tutorial)是学习自监督学习的绝佳资源,它通过实际案例展示如何利用无标签数据训练强大的分类模型。本教程涵盖了稀疏自编码器、堆叠自编码器、卷积神经网络等核心技术,帮助开发者掌握从无标签数据中提取特征并构建深度学习模型的完整流程。 ## 为什么选择自监督学习? 自

gitblog_00391的博客 959

FAST-LIO2实战:如何在无人机上部署并实现厘米级定位(附ROS配置全流程)

本文详细介绍了如何在无人机上部署FAST-LIO2激光雷达惯性里程计系统,以实现厘米级精确定位。内容涵盖从硬件选型(如激光雷达与机载计算机)、软件环境配置(ROS Noetic)、传感器标定,到FAST-LIO2参数调优、与PX4飞控集成以及实际飞行测试的全流程。重点解决了实时定位中的外参标定、数据同步等关键问题,为无人机在无GPS或复杂光照环境下提供稳定可靠的定位解决方案。

weixin_29062865的博客 249

从零构建XVC协议栈:FPGA+W5300的跨界调试架构实战

本文详细介绍了如何从零构建XVC协议栈,通过FPGA与W5300以太网控制器的创新组合实现跨界调试架构。重点解析了JTAG时序逆向、TCP/IP协议栈集成与XVC协议实现,提供了硬件设计优化和性能加速技术,为嵌入式开发者和FPGA工程师提供实用的远程调试解决方案。

raspberrypi5的博客 247

青龙面板批量签到怎么部署:QLScriptPublic 完整配置指南

上午九点,手机里的会员小程序全亮了红点:WPS、蜜雪冰城、美的、海澜之家……挨个点开、各领几积分,攒一个月也换不出一张券。QLScriptPublic 就是为青龙面板批量签到准备的开源脚本仓库,把"打开 App—点按钮—看奖励"这套重复劳动交给定时任务:你只管把凭据填一次,之后每天的签到、领奖都自动跑。下面这条路线从面板部署讲到第一个脚本跑通,全程不超过 30 分钟,判断标准都写成了日志里的具体字

gitblog_01170的博客 308

mfcc总结,这个mel三角滤波器分组到底是如何起作用的呢?

先看fft频谱图(这是4096字节取样fft计算,横轴频率是从0到512,后边意义不大,未取,纵轴是振幅),那些我随便画的蓝色线,你有什么联想?: 再看,这绿色线,是否有一种上升后,便逐渐式微的感觉,都是三角形的,这或许也是mel当初和绝大多数人看到的: 如果在振幅上加上一条限制的黑线(振幅门槛限制),黑色线以下很多频率就没有意义了,你看,有用的频率连一半(512/2=256)都占不到...

ganggangwawa的博客 9908

PCA与白化预处理详解:Stanford UFLDL Tutorial中的数据优化技术

在机器学习和深度学习领域,数据预处理是提升模型性能的关键步骤之一。**PCA(主成分分析)** 与**白化(Whitening)** 技术作为经典的数据优化方法,能够有效降低数据维度、去除冗余信息并增强特征表达能力。本文将基于Stanford Unsupervised Feature Learning and Deep Learning Tutorial项目,详细解析这两种技术的原理、实现过程及应

gitblog_01117的博客 913

基于 STM32 与压电薄膜的婴儿睡眠呼吸暂停监测床垫设计

本设计以 STM32F103C8T6 为主控,结合 PVDF 压电薄膜传感器,通过模拟信号调理与数字峰值检测算法,实现了对婴儿睡眠呼吸状态的实时监测。系统结构简单、成本低廉、无接触无束缚,当检测到 20 秒以上无呼吸信号时自动触发声光报警,可有效降低婴儿睡眠呼吸暂停带来的安全风险。后续可扩展蓝牙 / WiFi 模块,将报警信息推送至家长手机端,实现远程监护。

weixin_42300449的博客 148

华为od统一考试B卷【食堂供餐】Python 实现

某公司员工食堂以盒饭方式供餐。为将员工取餐排队时间降低为0,食堂的供餐速度必须要足够快。现在需要根据以往员工取餐的统计信息,计算出一个刚好能达成排队时间为0的最低供餐速度。即,食堂在每个单位时间内必须至少做出多少份盒饭才能满足要求。

MISAYAONE的博客 8781
上一篇: 【Deep Learning】4、Self-Taught Learning
下一篇: Sparse Coding Toolbox——Open-Source!
LiFeitengup
博客等级 码龄15年 466粉丝 59原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值