斯坦福UFLDL教程
GarfieldEr007
这个作者很懒,什么都没留下…
展开
-
Stanford UFLDL教程 自编码算法与稀疏性
自编码算法与稀疏性目前为止,我们已经讨论了神经网络在有监督学习中的应用。在有监督学习中,训练样本是有类别标签的。现在假设我们只有一个没有带类别标签的训练样本集合 ,其中 。自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值,比如 。下图是一个自编码神经网络的示例。自编码神经网络尝试学习一个 的函数。换句话说,它尝试逼近一个恒等函数转载 2015-12-05 18:54:56 · 1469 阅读 · 0 评论 -
Stanford UFLDL教程 用反向传导思想求导
用反向传导思想求导Contents[hide]1简介2示例2.1示例1:稀疏编码中权重矩阵的目标函数2.2示例2:稀疏编码中的平滑地形L1稀疏罚函数2.3示例3:ICA重建代价3中英文对照4中文译者简介 在 反向传导算法一节中,我们介绍了在稀疏自编码器中用反向传导算法来求梯度的方法。事实证明,反转载 2015-12-07 09:27:46 · 1497 阅读 · 0 评论 -
Stanford UFLDL教程 数据预处理
数据预处理Contents[hide]1概要2数据归一化2.1简单缩放2.2逐样本均值消减2.3特征标准化3PCA/ZCA白化3.1基于重构的模型3.2基于正交化ICA的模型4大图像5标准流程5.1自然灰度图像5.2彩色图像5.3音频 (MFCC/频谱图)5.4MNIST 手转载 2015-12-07 09:26:23 · 1384 阅读 · 0 评论 -
Stanford UFLDL教程 MATLAB Modules
MATLAB ModulesMATLAB Modules Sparse autoencoder |sparseae_exercise.zipcheckNumericalGradient.m - Makes sure that computeNumericalGradient is implmented correctlycomputeNumericalGradient.m转载 2015-12-07 09:26:10 · 1832 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:Convolution and Pooling
Exercise:Convolution and PoolingContents[hide]1Convolution and Pooling1.1Dependencies1.2Step 1: Load learned features1.3Step 2: Implement and test convolution and pooling转载 2015-12-07 09:25:55 · 1512 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:Learning color features with Sparse Autoencoders
Exercise:Learning color features with Sparse AutoencodersContents[hide]1Learning color features with Sparse Autoencoders1.1Dependencies1.2Learning from color image patches1转载 2015-12-07 09:25:16 · 1557 阅读 · 0 评论 -
Stanford UFLDL教程 线性解码器
线性解码器Contents[hide]1稀疏自编码重述2线性解码器3中英文对照4中文译者稀疏自编码重述稀疏自编码器包含3层神经元,分别是输入层,隐含层以及输出层。从前面(神经网络)自编码器描述可知,位于神经网络中的神经元都采用相同的激励函数。在注解中,我们修改了自编码器定义,使得某些神经元采用不同的激励函数。这样得到的转载 2015-12-07 09:25:03 · 1594 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise: Implement deep networks for digit classification
Exercise: Implement deep networks for digit classificationContents[hide]1Overview2Dependencies3Step 0: Initialize constants and parameters4Step 1: Train the data on the first转载 2015-12-07 09:24:36 · 1466 阅读 · 0 评论 -
Stanford UFLDL教程 微调多层自编码算法
微调多层自编码算法Contents[hide]1介绍2一般策略3使用反向传播法进行微调4中英文对照5中文译者介绍微调是深度学习中的常用策略,可以大幅提升一个栈式自编码神经网络的性能表现。从更高的视角来讲,微调将栈式自编码神经网络的所有层视为一个模型,这样在每次迭代中,网络中所有的权重值都可以被优化。一般策略幸运转载 2015-12-07 09:24:19 · 1902 阅读 · 0 评论 -
Stanford UFLDL教程 神经网络向量化
神经网络向量化在本节,我们将引入神经网络的向量化版本。在前面关于神经网络介绍的章节中,我们已经给出了一个部分向量化的实现,它在一次输入一个训练样本时是非常有效率的。下边我们看看如何实现同时处理多个训练样本的算法。具体来讲,我们将把正向传播、反向传播这两个步骤以及稀疏特征集学习扩展为多训练样本版本。Contents[hide]1正向传播2反向传转载 2015-12-05 19:01:38 · 1180 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:Vectorization
Exercise:VectorizationContents[hide]1Vectorization1.1Support Code/Data1.2Step 1: Vectorize your Sparse Autoencoder Implementation1.3Step 2: Learn features for handwritten转载 2015-12-06 11:28:58 · 1657 阅读 · 0 评论 -
Stanford UFLDL教程 稀疏编码
稀疏编码Contents[hide]1稀疏编码2概率解释 [基于1996年Olshausen与Field的理论]3学习算法4中英文对照5中文译者稀疏编码 稀疏编码算法是一种无监督学习方法,它用来寻找一组“超完备”基向量来更高效地表示样本数据。稀疏编码算法的目的就是找到一组基向量 ,使得我们能将输入向量 表示为转载 2015-12-07 11:21:26 · 1448 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:Independent Component Analysis
Exercise:Independent Component AnalysisContents[hide]1Independent Component Analysis1.1Dependencies1.2Step 0: Initialization1.3Step 1: Sample patches1.4Step 2: ZCA whit转载 2015-12-07 11:23:00 · 1445 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:Sparse Coding
Exercise:Sparse CodingContents[hide]1Sparse Coding1.1Dependencies1.2Step 0: Initialization1.3Step 1: Sample patches1.4Step 2: Implement and check sparse coding cost fun转载 2015-12-07 11:22:16 · 1733 阅读 · 0 评论 -
Stanford UFLDL教程 稀疏编码自编码表达
稀疏编码自编码表达Contents[hide]1稀疏编码2拓扑稀疏编码3稀疏编码实践3.1将样本分批为“迷你块”3.2良好的s初始值3.3可运行算法4中英文对照5中文译者稀疏编码 在稀疏自编码算法中,我们试着学习得到一组权重参数 W(以及相应的截距 b),通过这些参数可以使我们得到稀疏特转载 2015-12-07 11:21:48 · 1694 阅读 · 0 评论 -
Stanford UFLDL教程 独立成分分析
独立成分分析Contents[hide]1概述2标准正交ICA3拓扑ICA4中英文对照5中文译者概述 试着回想一下,在介绍 稀疏编码算法中我们想为样本数据学习得到一个超完备基(over-complete basis)。具体来说,这意味着用稀疏编码学习得到的基向量之间不一定线性独立。尽管在某些情况下这已经满足需要,但有时转载 2015-12-07 11:22:47 · 1527 阅读 · 0 评论 -
Stanford UFLDL教程 自我学习
自我学习Contents[hide]1综述2特征学习3数据预处理4无监督特征学习的术语5中英文对照6中文译者综述如果已经有一个足够强大的机器学习算法,为了获得更好的性能,最靠谱的方法之一是给这个算法以更多的数据。机器学习界甚至有个说法:“有时候胜出者并非有最好的算法,而是有更多的数据。”人们总是可以尝试获取转载 2015-12-06 11:33:05 · 1284 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:PCA and Whitening
Exercise:PCA and WhiteningContents[hide]1PCA and Whitening on natural images1.1Step 0: Prepare data1.1.1Step 0a: Load data1.1.2Step 0b: Zero mean the data1.2Step转载 2015-12-06 11:30:35 · 1311 阅读 · 0 评论 -
Stanford UFLDL教程 白化
白化Contents[hide]1介绍22D 的例子3ZCA白化4正则化5中英文对照6中文译者介绍 我们已经了解了如何使用PCA降低数据维度。在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化(一些文献中也叫sphering)。举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所转载 2015-12-06 11:29:14 · 993 阅读 · 0 评论 -
Stanford UFLDL教程 Softmax回归
Softmax回归Contents[hide]1简介2代价函数3Softmax回归模型参数化的特点4权重衰减5Softmax回归与Logistic 回归的关系6Softmax 回归 vs. k 个二元分类器7中英文对照8中文译者简介在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在转载 2015-12-06 11:31:07 · 1034 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:PCA in 2D
Exercise:PCA in 2DContents[hide]1PCA, PCA whitening and ZCA whitening in 2D1.1Step 0: Load data1.2Step 1: Implement PCA1.2.1Step 1a: Finding the PCA basis1.2.2Step转载 2015-12-06 11:30:00 · 1361 阅读 · 0 评论 -
Stanford UFLDL教程 可视化自编码器训练结果
可视化自编码器训练结果训练完(稀疏)自编码器,我们还想把这自编码器学到的函数可视化出来,好弄明白它到底学到了什么。我们以在10×10图像(即n=100)上训练自编码器为例。在该自编码器中,每个隐藏单元i对如下关于输入的函数进行计算:我们将要可视化的函数,就是上面这个以2D图像为输入、并由隐藏单元i计算出来的函数。它是依赖于参数的(暂时忽略偏置项bi)。需要注意的是,可看作输入的非线性特转载 2015-12-05 18:55:55 · 1262 阅读 · 0 评论 -
Stanford UFLDL教程 池化Pooling
池化Contents [hide]1 池化: 概述2 池化的不变性3 形式化描述4 中英文对照5 中文译者池化: 概述在通过卷积获得了特征 (features) 之后,下一步我们希望利用这些特征去做分类。理论上讲,人们可以用所有提取得到的特征去训练分类器,例如 softmax 分类器,但这样做面临计算量的挑战。例如转载 2015-07-01 21:36:38 · 1846 阅读 · 0 评论 -
Stanford UFLDL教程 栈式自编码算法
栈式自编码算法Contents[hide]1概述2训练3具体实例4讨论5中英文对照6中文译者概述逐层贪婪训练法依次训练网络的每一层,进而预训练整个深度神经网络。在本节中,我们将会学习如何将自编码器“栈化”到逐层贪婪训练法中,从而预训练(或者说初始化)深度神经网络的权重。栈式自编码神经网络是一个由多层稀疏自编转载 2015-12-06 11:34:49 · 2482 阅读 · 0 评论 -
Stanford UFLDL教程 主成分分析(PCA)
主成分分析Contents [hide]1 引言2 实例和数学背景3 旋转数据4 数据降维5 还原近似数据6 选择主成分个数7 对图像数据应用PCA算法8 参考文献9 中英文对照10 中文译者引言主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法。更重要的是,理解PCA算法,对实现白化算法有很大的帮转载 2015-07-01 21:33:46 · 1445 阅读 · 1 评论 -
Stanford UFLDL教程 卷积特征提取
卷积特征提取Contents[hide]1概述2全联通网络3部分联通网络4卷积5中英文对照6中文译者概述 前面的练习中,解决了一些有关低分辨率图像的问题,比如:小块图像,手写数字小幅图像等。在这部分中,我们将把已知的方法扩展到实际应用中更加常见的大图像数据集。全联通网络在稀疏自编码章节中,我们介转载 2015-12-07 09:25:43 · 1999 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:Self-Taught Learning
Exercise:Self-Taught LearningContents[hide]1Overview2Dependencies3Step 1: Generate the input and test data sets4Step 2: Train the sparse autoencoder5Step 3: Extracting feat转载 2015-12-06 11:33:29 · 1275 阅读 · 0 评论 -
Stanford UFLDL教程 逻辑回归的向量化实现样例
逻辑回归的向量化实现样例我们想用批量梯度上升法对logistic回归分析模型进行训练,其模型如下:让我们遵从公开课程视频与CS229教学讲义的符号规范,设 ,于是 ,, 为截距。假设我们有m个训练样本{(, ) ,...,( , )},而批量梯度上升法的更新法则是: ,这里的 是对数似然函数, 是其导函数。[注:下文的符号规范与或中的相同,详细内容可以参见公转载 2015-12-05 19:00:39 · 1365 阅读 · 1 评论 -
Stanford UFLDL教程 Exercise:Sparse Autoencoder
Contents[hide]1Download Related Reading2Sparse autoencoder implementation2.1Step 1: Generate training set2.2Step 2: Sparse autoencoder objective2.3Step 3: Gradient checking2.4Ste转载 2015-12-05 18:58:14 · 1287 阅读 · 0 评论 -
Stanford UFLDL教程 Exercise:Softmax Regression
Exercise:Softmax RegressionContents[hide]1Softmax regression1.1Dependencies1.2Step 0: Initialize constants and parameters1.3Step 1: Load data1.4Step 2: Implement softma转载 2015-12-06 11:31:37 · 1326 阅读 · 0 评论 -
Stanford UFLDL教程 从自我学习到深层网络
从自我学习到深层网络在前一节中,我们利用自编码器来学习输入至 softmax 或 logistic 回归分类器的特征。这些特征仅利用未标注数据学习获得。在本节中,我们描述如何利用已标注数据进行微调,从而进一步优化这些特征。如果有大量已标注数据,通过微调就可以显著提升分类器的性能。在自我学习中,我们首先利用未标注数据训练一个稀疏自编码器。随后,给定一个新样本 ,我们通过隐含层提取出特征转载 2015-12-06 11:34:06 · 1295 阅读 · 0 评论 -
Stanford UFLDL教程 稀疏自编码器符号一览表
稀疏自编码器符号一览表下面是我们在推导sparse autoencoder时使用的符号一览表: 符号含义训练样本的输入特征,.输出值/目标值. 这里 可以是向量. 在autoencoder中,.第 个训练样本输入为 时的假设输出,其中包含参数. 该输出应当与目标值 具有相同的维数.转载 2015-12-05 18:57:10 · 1304 阅读 · 0 评论 -
神经网络 Stanford UFLDL
神经网络Contents [hide]1 概述2 神经网络模型3 中英文对照4 中文译者概述以监督学习为例,假设我们有训练样本集 ,那么神经网络算法能够提供一种复杂且非线性的假设模型 ,它具有参数 ,可以以此参数来拟合我们的数据。为了描述神经网络,我们先从最简单的神经网络讲起,这个神经网络仅由一个“神经元转载 2015-07-01 21:22:09 · 1608 阅读 · 0 评论 -
Stanford UFLDL教程 深度网络概览
深度网络概览Contents[hide]1概述2深度网络的优势3训练深度网络的困难3.1数据获取问题3.2局部极值问题3.3梯度弥散问题4逐层贪婪训练方法4.1数据获取4.2更好的局部极值5中英文对照6中文译者概述在之前的章节中,你已经构建了一个包括输入层、隐藏层以及输出转载 2015-12-06 11:34:26 · 1300 阅读 · 0 评论 -
Stanford UFLDL教程 实现主成分分析和白化
实现主成分分析和白化在这一节里,我们将总结PCA, PCA白化和ZCA白化算法,并描述如何使用高效的线性代数库来实现它们。首先,我们需要确保数据的均值(近似)为零。对于自然图像,我们通过减去每个图像块(patch)的均值(近似地)来达到这一目标。为此,我们计算每个图像块的均值,并从每个图像块中减去它的均值。(译注:参见PCA一章中“对图像数据应用PCA算法”一节)。Matlab实现如下:转载 2015-12-06 11:29:42 · 989 阅读 · 0 评论 -
Stanford UFLDL教程 矢量化编程
矢量化编程当使用学习算法时,一段更快的代码通常意味着项目进展更快。例如,如果你的学习算法需要花费20分钟运行完成,这意味着你每个小时能“尝试”3个新主意。但是假如你的程序需要20个小时来运行,这意味着你一天只能“尝试”一个新主意,因为你需要花费这么长时间来等待程序的反馈。对于后者,假如你可以提升代码的效率让其只需要运行10个小时,那么你的效率差不多提升一倍。矢量化编程是提高算法速度的一转载 2015-12-05 18:59:17 · 1160 阅读 · 0 评论 -
Stanford UFLDL教程 梯度检验与高级优化
梯度检验与高级优化众所周知,反向传播算法很难调试得到正确结果,尤其是当实现程序存在很多难于发现的bug时。举例来说,索引的缺位错误(off-by-one error)会导致只有部分层的权重得到训练,再比如忘记计算偏置项。这些错误会使你得到一个看似十分合理的结果(但实际上比正确代码的结果要差)。因此,但从计算结果上来看,我们很难发现代码中有什么东西遗漏了。本节中,我们将介绍一种对求导结果进行数值转载 2015-12-05 18:53:39 · 1089 阅读 · 0 评论 -
Stanford UFLDL教程 反向传播算法(BP算法)
反向传播算法(BP算法)假设我们有一个固定样本集 ,它包含 个样例。我们可以用批量梯度下降法来求解神经网络。具体来讲,对于单个样例,其代价函数为:这是一个(二分之一的)方差代价函数。给定一个包含 个样例的数据集,我们可以定义整体代价函数为:以上公式中的第一项 是一个均方差项。第二项是一个规则化项(也叫权重衰减项),其目的是减小权重的幅度,防止过度拟合。转载 2015-07-01 21:30:51 · 5334 阅读 · 0 评论 -
斯坦福大学UFLDL教程列表
UFLDL教程说明:本教程将阐述无监督特征学习和深度学习的主要观点。通过学习,你也将实现多个功能学习/深度学习算法,能看到它们为你工作,并学习如何应用/适应这些想法到新问题上。本教程假定机器学习的基本知识(特别是熟悉的监督学习,逻辑回归,梯度下降的想法),如果你不熟悉这些想法,我们建议你去这里机器学习课程,并先完成第II,III,IV章(到逻辑回归)。稀疏自编码器转载 2015-07-01 21:27:09 · 1433 阅读 · 0 评论 -
斯坦福大学UFLDL深度学习推荐阅读列表UFLDL Recommended Readings
UFLDL Recommended ReadingsIf you're learning about UFLDL (Unsupervised Feature Learning and Deep Learning), here is a list of papers to consider reading. We're assuming you're already familiar转载 2016-03-28 11:26:48 · 1488 阅读 · 0 评论