机器学习理论
文章平均质量分 94
全栈大王
这个作者很懒,什么都没留下…
展开
-
主成分分析(PCA)
主成分分析Contents [hide]1 引言2 实例和数学背景3 旋转数据4 数据降维5 还原近似数据6 选择主成分个数7 对图像数据应用PCA算法8 参考文献9 中英文对照10 中文译者引言主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法。更重要的是,理解PCA算法,对实现白化算法有很大的帮转载 2016-04-26 21:09:59 · 4281 阅读 · 0 评论 -
神经网络概述
神经网络概述以监督学习为例,假设我们有训练样本集 ,那么神经网络算法能够提供一种复杂且非线性的假设模型 ,它具有参数 ,可以以此参数来拟合我们的数据。为了描述神经网络,我们先从最简单的神经网络讲起,这个神经网络仅由一个“神经元”构成,以下即是这个“神经元”的图示:这个“神经元”是一个以 及截距 为输入值的运算单元,其输出为 ,其中函数转载 2016-04-21 17:53:18 · 1694 阅读 · 0 评论 -
神经网络反向传导算法
假设我们有一个固定样本集 ,它包含 个样例。我们可以用批量梯度下降法来求解神经网络。具体来讲,对于单个样例 ,其代价函数为:这是一个(二分之一的)方差代价函数。给定一个包含 个样例的数据集,我们可以定义整体代价函数为:以上公式中的第一项 是一个均方差项。第二项是一个规则化项(也叫权重衰减项),其目的是减小权重的幅度,防止过度拟合。[注:通常权重衰减转载 2016-04-22 17:46:48 · 936 阅读 · 0 评论 -
梯度检验与高级优化
众所周知,反向传播算法很难调试得到正确结果,尤其是当实现程序存在很多难于发现的bug时。举例来说,索引的缺位错误(off-by-one error)会导致只有部分层的权重得到训练,再比如忘记计算偏置项。这些错误会使你得到一个看似十分合理的结果(但实际上比正确代码的结果要差)。因此,但从计算结果上来看,我们很难发现代码中有什么东西遗漏了。本节中,我们将介绍一种对求导结果进行数值检验的方法,该方法可以转载 2016-04-22 17:48:35 · 639 阅读 · 0 评论 -
自编码算法与稀疏性
目前为止,我们已经讨论了神经网络在有监督学习中的应用。在有监督学习中,训练样本是有类别标签的。现在假设我们只有一个没有带类别标签的训练样本集合 ,其中 。自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值,比如 。下图是一个自编码神经网络的示例。自编码神经网络尝试学习一个 的函数。换句话说,它尝试逼近一个恒等函数,从而使得输出转载 2016-04-22 20:11:19 · 865 阅读 · 0 评论 -
稀疏自编码器一览表
下面是我们在推导sparse autoencoder时使用的符号一览表:符号含义训练样本的输入特征,.输出值/目标值. 这里 可以是向量. 在autoencoder中,.第 个训练样本输入为 时的假设输出,其中包含参数 . 该输出应当与目标值 具有相同的维数.连接第 层 单元和第转载 2016-04-22 20:15:33 · 1093 阅读 · 2 评论 -
矢量化编程
当使用学习算法时,一段更快的代码通常意味着项目进展更快。例如,如果你的学习算法需要花费20分钟运行完成,这意味着你每个小时能“尝试”3个新主意。但是假如你的程序需要20个小时来运行,这意味着你一天只能“尝试”一个新主意,因为你需要花费这么长时间来等待程序的反馈。对于后者,假如你可以提升代码的效率让其只需要运行10个小时,那么你的效率差不多提升一倍。矢量化编程是提高算法速度的一种有效方法转载 2016-04-23 11:45:12 · 3265 阅读 · 0 评论 -
逻辑回归的向量化实现样例
逻辑回归的向量化实现样例我们想用批量梯度上升法对logistic回归分析模型进行训练,其模型如下:让我们遵从公开课程视频与CS229教学讲义的符号规范,设 ,于是 ,, 为截距。假设我们有m个训练样本{(, ) ,...,( , )},而批量梯度上升法的更新法则是: ,这里的 是对数似然函数, 是其导函数。[注:下文的符号规范与或中的相同,详细内容可以参见公转载 2016-04-23 11:50:16 · 2118 阅读 · 0 评论 -
神经网络向量化
神经网络向量化在本节,我们将引入神经网络的向量化版本。在前面关于神经网络介绍的章节中,我们已经给出了一个部分向量化的实现,它在一次输入一个训练样本时是非常有效率的。下边我们看看如何实现同时处理多个训练样本的算法。具体来讲,我们将把正向传播、反向传播这两个步骤以及稀疏特征集学习扩展为多训练样本版本。Contents [hide]1 正向传播转载 2016-04-23 11:55:23 · 1892 阅读 · 0 评论 -
深度学习资料整理
本文是转载了别人的博客,然后还加上了自己到淘宝上买的百度云盘资料(还包括一些数据挖掘,大数据之类的教程)。编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等。而且原文也会不定期的更新,望看到文章的朋友能够学到更多。《Brief History of Machine Learning》介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机、神经转载 2016-04-20 16:14:20 · 128216 阅读 · 7 评论 -
机器学习矩阵求导
矩阵求导好像读书的时候都没学过,因为讲矩阵的课程上不讲求导,讲求导的课又不提矩阵。如果从事机器学习方面的工作,那就一定会遇到矩阵求导的东西。维基百科上:http://en.wikipedia.org/wiki/Matrix_calculus , 根据Y与X的不同类型(实值,向量,矩阵),给出了具体的求导公式,以及一堆相关的公式,查起来都费劲。其实在实际的机器学习工作中,最常转载 2016-04-29 23:38:05 · 970 阅读 · 0 评论 -
微调多层自编码算法
微调多层自编码算法Contents [hide]1 介绍2 一般策略3 使用反向传播法进行微调4 中英文对照5 中文译者介绍微调是深度学习中的常用策略,可以大幅提升一个栈式自编码神经网络的性能表现。从更高的视角来讲,微调将栈式自编码神经网络的所有层视为一个模型,这样在每次迭代中,网络中所有的权重值都可以被优化。转载 2016-05-01 11:04:34 · 1233 阅读 · 0 评论 -
白话(whitening)
白化Contents [hide]1 介绍2 2D 的例子3 ZCA白化4 正则化5 中英文对照6 中文译者介绍我们已经了解了如何使用PCA降低数据维度。在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化(一些文献中也叫sphering)。举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很强转载 2016-04-26 21:13:19 · 1474 阅读 · 0 评论 -
实现主成分分析和白化
实现主成分分析和白化在这一节里,我们将总结PCA, PCA白化和ZCA白化算法,并描述如何使用高效的线性代数库来实现它们。首先,我们需要确保数据的均值(近似)为零。对于自然图像,我们通过减去每个图像块(patch)的均值(近似地)来达到这一目标。为此,我们计算每个图像块的均值,并从每个图像块中减去它的均值。(译注:参见PCA一章中“对图像数据应用PCA算法”一节)。Ma转载 2016-04-26 21:16:12 · 1314 阅读 · 0 评论 -
可视化自编码器训练结果
训练完(稀疏)自编码器,我们还想把这自编码器学到的函数可视化出来,好弄明白它到底学到了什么。我们以在10×10图像(即n=100)上训练自编码器为例。在该自编码器中,每个隐藏单元i对如下关于输入的函数进行计算:我们将要可视化的函数,就是上面这个以2D图像为输入、并由隐藏单元i计算出来的函数。它是依赖于参数的(暂时忽略偏置项bi)。需要注意的是,可看作输入的非线性特征。不过还有个问题转载 2016-04-22 20:13:39 · 1415 阅读 · 1 评论 -
机器学习里面常用知识
每次手推公式就会遇见各种不会的,在网上搜了个总结的还不错的常用求导公式。。。继续更新中……一、基本线性代数以下部分原文地址:http://blog.163.com/live_freely/blog/static/151142060201023154057339/在网上看到有人贴了如下求导公式:Y = A * X --> DY/DX = A'Y = X * A转载 2016-04-29 23:20:16 · 640 阅读 · 0 评论 -
UFLDL之Softmax回归
Softmax回归Contents [hide]1 简介2 代价函数3 Softmax回归模型参数化的特点4 权重衰减5 Softmax回归与Logistic 回归的关系6 Softmax 回归 vs. k 个二元分类器7 中英文对照8 中文译者简介在本节中,我们介绍Softmax回归模型,该模型是logist转载 2016-04-30 08:59:22 · 387 阅读 · 0 评论 -
自我学习
自我学习Contents [hide]1 综述2 特征学习3 数据预处理4 无监督特征学习的术语5 中英文对照6 中文译者综述如果已经有一个足够强大的机器学习算法,为了获得更好的性能,最靠谱的方法之一是给这个算法以更多的数据。机器学习界甚至有个说法:“有时候胜出者并非有最好的算法,而是有更多的数据。”人们总是可转载 2016-04-30 16:21:06 · 377 阅读 · 0 评论 -
深度网络概览
深度网络概览Contents [hide]1 概述2 深度网络的优势3 训练深度网络的困难3.1 数据获取问题3.2 局部极值问题3.3 梯度弥散问题4 逐层贪婪训练方法4.1 数据获取4.2 更好的局部极值5 中英文对照6 中文译者概述在之前的章节中,你已经构建了一个包括输入层、隐藏层以及输出转载 2016-04-30 16:26:07 · 571 阅读 · 0 评论 -
栈式自编码算法
栈式自编码算法Contents [hide]1 概述2 训练3 具体实例4 讨论5 中英文对照6 中文译者概述逐层贪婪训练法依次训练网络的每一层,进而预训练整个深度神经网络。在本节中,我们将会学习如何将自编码器“栈化”到逐层贪婪训练法中,从而预训练(或者说初始化)深度神经网络的权重。栈式自编码神经网络是转载 2016-05-01 11:01:05 · 1671 阅读 · 0 评论