起源:PCA.特征提取.... 随着一些奇怪的高维数据出现,比如图像.语音,传统的统计学-机器学习方法遇到了前所未有的挑战. 数据维度过高,数据单调,噪声分布广,传统方法的“数值游戏”很难奏效.数据挖掘?已然挖不出有用的东西. 为了解决高维度的问题,出现的线性学习的PCA降维方法,PCA的数学理论确实无懈可击,但是却只对线性数据效果比较好. 于是,寻求简单的.自动的.智能的特征提取方法仍然是机器学习的研究重点.比如LeCun在1998年CNN总结性论文中就概括了今后机器学习模型的基本架构. 当然…
1.自动编码器 自动编码器首先通过下面的映射,把输入 $x\in[0,1]^{d}$映射到一个隐层 $y\in[0,1]^{d^{'}}$(编码器): $y=s(Wx+b)$ 其中 $s$ 是非线性的函数,例如sigmoid. 隐层表示 $y$ ,即编码然后被映射回(通过解码器)一个重构的 $z$,形状与输入$x$ 一样: $z=s(W^{'}y+b^{'})$ 这里 $W^{'}$ 不是表示 $W$ 的转置.$z$ 应该看作在给定编码 $y$ 的条件下对 $x$ 的预测.反向映射的权重矩阵 $…
降噪自动编码器是经典的自动编码器的一种扩展,它最初被当作深度网络的一个模块使用 [Vincent08].这篇指南中,我们首先也简单的讨论一下自动编码器. 自动编码器 文献[Bengio09] 给出了自动编码器的一个简介.在编码过程,它可以把输入$\mathbf{x} \in [0,1]^d$映射到一个隐式表达$\mathbf{y} \in [0,1]^{d'}$.映射关系定义如下: $$\mathbf{y} = s(\mathbf{W}\mathbf{x} + \mathbf{b})$$ 其中,…
1.1 自动编码器  自动编码器(AutoEncoder,AE)就是一种尽可能复现输入信号的神经网络,其输出向量与输入向量同维,常按照输入向量的某种形式,通过隐层学习一个数据的表示或对原始数据进行有效编码.值得注意的是,这种自编码器是一种不利用类标签的非线性特征提取方法, 就方法本身而言, 这种特征提取的目的在于保留和获得更好的信息表示, 而不是执行分类任务,尽管有时这两个目标是相关的!   一个典型的最简单的自动编码器拥有一个表示原始数据或者输入特征向量的输入层,一个表示特征转换的隐层和一个跟…
神经网络的挑战和关键技术: 1.神经网络结构决定(层,神经元,连接)    加入特定领域的知识(CNN 图片处理) 2.模型复杂度高    大的数据量:    regularization:  dropout:denoising 3.最优化困难    好的初始化以避免局部最优:pre-training 4.计算复杂度高     好的硬件方案:mini-batch with GPU pre-training(对神经网络连接的初始权重进行训练) 好的权重的一个标准-能保留原先的信息 AutoEnco…
完整代码请见 models/DenoisingAutoencoder.py at master · tensorflow/models · GitHub: 1. Denoising Autoencoder 类设计与构造函数 简单起见,这里仅考虑一种单隐层的去噪自编码器结构: 即整个网络拓扑结构为:输入层,单隐层,输出层: 输入层 ⇒ 单隐层,可视为编码的过程,需要非线性的激励函数: 单隐层 ⇒ 输出层,可视为解码的过程,也可称之为某种意义上的重构(reconstruction),无需激励函数:…
起源:自动编码器 单自动编码器,充其量也就是个强化补丁版PCA,只用一次好不过瘾. 于是Bengio等人在2007年的  Greedy Layer-Wise Training of Deep Networks 中, 仿照stacked RBM构成的DBN,提出Stacked AutoEncoder,为非监督学习在深度网络的应用又添了猛将. 这里就不得不提  “逐层初始化”(Layer-wise Pre-training),目的是通过逐层非监督学习的预训练, 来初始化深度网络的参数,替代传统的随机…
如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每一层中的权重.自然地,我们就得到了输入I的几种不同表示(每一层代表一种表示),这些表示就是特征.自动编码器就是一种尽可能复现输入信号的神经网络.为了实现这种复现,自动编码器就必须捕捉可以代表输入数据的最重要的因素,就像PCA那样,找到可以代表原信息的主要成分. 具体过程简单的说明如下: 1)给定无标签数据,用非监督学习学习特征: 在我们之前的神经网络中,如第一个图,我们输入的样本是有标签的,即(input, targe…
https://blog.csdn.net/satlihui/article/details/81006906 https://blog.csdn.net/github_39611196/article/details/85246236 https://blog.csdn.net/q1242027878/article/details/84679093 https://blog.csdn.net/zbzcDZF/article/details/86570761 自编码器autocoder (以下…
来自:http://deeplearning.net/tutorial/SdA.html#sda Stacked Denoising Autoencoders (SdA) note:这部分需要读者读过 (Theano3.3-练习之逻辑回归)和(Theano3.4-练习之多层感知机).另外会使用到的theano函数和概念: T.tanh, shared variables, basic arithmetic ops, T.grad, Random numbers,floatX.如果你想将代码运行在…