自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

universe_ant的博客

努力努力再努力

  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

转载 Spark 2.0介绍:SparkSession创建和使用相关API

SparkSession —— Spark的一个全新的切入点在Spark的早期版本,SparkContext是进入Spark的切入点。我们都知道RDD是Spark中重要的API,然而它的创建和操作得使用SparkContext提供的API;对于RDD之外的其他东西,我们需要使用其他的Context。比如对于流处理来说,我们得使用StreamingContext;对于SQL得使用SQLConte

2017-01-20 21:28:48 3301

转载 Apache Spark 2.0三种API的传说:RDD、DataFrame和Dataset

Apache Spark吸引广大社区开发者的一个重要原因是:Apache Spark提供极其简单、易用的APIs,支持跨多种语言(比如:Scala、Java、Python和R)来操作大数据。本文主要讲解Apache Spark 2.0中RDD,DataFrame和Dataset三种API;它们各自适合的使用场景;它们的性能和优化;列举使用DataFrame和DataSet代替RDD的场景。文章

2017-01-20 15:55:00 4147

转载 Spark架构及运算逻辑

Spark的整体流程为:Client提交应用,Master找到一个Worker启动Driver,Driver向Master或者资源管理器申请资源,之后将应用转化为RDD Graph,再由DAGScheduler将RDD Graph转化为Stage的有向无环图提交给TaskScheduler,由TaskScheduler提交任务给Executor执行。在任务执行过程中,其他组件协同工作,确保整个应用

2017-01-19 21:35:28 2001

原创 卷积神经网络(三)

卷积神经网络§卷积神经网络的梯度计算在全连接前馈神经网络中,目标函数关于第层的神经元的梯度为 ⊙在卷积神经网络中,每一个卷积层后都接着一个子采样层,然后不断重复。所以我们需要分别来看下卷积层和子采样层的梯度。1 卷积层的梯度我们假定卷积层为层,子采样层为层。因为子采样层是下采样操作,层的一个神经元的误差项的误差项对应于卷积层(上一层)的相应特征映射的一个区域。层的第个特征映射中的每个神经元都有一条边和层的第个特征映射中的一个神经元相连。根据链式法则,第层的一个特征映射的误差项,只需要将层对

2017-01-08 17:01:12 367

原创 卷积神经网络(二)

卷积神经网络§卷积神经网络示例:LeNet-5下面我们来看一个具体的深层卷积神经网络:LeNet-5。LeNet-5虽然提出时间比较早,但是是一个非常成功的神经网络模型。基于LeNet-5的手写数字识别系统在90年代被美国很多银行使用,用来识别支票上面的手写数字。LeNet-5的网络结构如下图所示。图1 LeNet-5网络结构不计输入层,LeNet-5共有7层,每一层的结构为:1.输入层:输入图像大小为32×32=1024。

2017-01-08 15:50:01 368

原创 卷积神经网络(一)

卷积神经网络§引入卷积神经网络(Convolutional Neural Networks, CNN)是受生物学上感受野(Receptive Field)的机制而提出的一种前馈网络。感受野主要是指听觉、视觉等神经系统中一些神经元的特性,即神经元只接受其所支配的刺激区域内的信号。在视觉神经系统中,视觉皮层中的神经细胞的输出依赖于视网膜上的光感受器。视网膜上的光感受器受刺激兴奋时,将神经冲动信号传到视觉皮层,但不是所有视觉皮层中的神经元都会接受这些信号。一个神经元的感受野是指视网膜上的特定区域,只有这个区

2017-01-08 12:05:56 308

原创 循环神经网络(二)

循环神经网络§长短时记忆神经网络:LSTM长短时记忆神经网络(Long Short-Term Memory Neural Network, LSTM)是循环神经网络的一个变体,可以有效地解决简单循环神经网络的梯度爆炸或消失问题。LSTM模型的关键是引入了一个内部记忆单元(Memory Units)或内部状态,来保存历史信息。然后动态地让网络学习何时遗忘历史信息,何时用新信息更新记忆单元。在时刻时,内部记忆单元记录了到当前时刻为止的所有历史信息,并受三个“门”控制:输入门,遗忘门和输出门,三个门的元素的

2017-01-07 22:31:04 341

原创 循环神经网络(一)

循环神经网络§引入前馈神经网络假设每次输入是独立的,也就是说每次网络的输出只依赖于当前的输入。但是很多现实任务中,不同时刻的输入可以相互影响,比如视频、语音、文本等序列结构数据。某个时刻的输出可能和前面时刻的输入相关。此外,这些序列结构数据的长度一般是不固定的。而前馈神经网络要求输入和输出的维数都是固定的,不能任意改变。当处理序列数据时,前馈神经网络就无能为力了。在前馈神经网络模型中,连接存在于层与层之间,每层的结点之间是无连接的。

2017-01-07 18:55:15 360

原创 深度模型的优化(一)——梯度下降法

深度模型的优化§梯度下降法及其变种这里主要解释BGD、SGD、MBGD的区别。1 批量梯度下降法(Batch Gradient Descent)批量梯度下降法,是梯度下降法最常用的形式,具体做法也就是在更新参数时使用所有的样本来进行更新,最后的参数更新公式如下:由于假设我们有个样本,这里求梯度的时候就用了所有个样本的梯度数据。具体算法描述:

2017-01-07 11:16:45 532

原创 深度学习的正则化(二)

深度学习的正则化2 参数正则化的权重衰减是最常见的一种形式,我们还可以使用其他的方法惩罚模型参数的大小。另一种选择是使用正则化。对模型参数的正则化形式定义为:即各个参数的绝对值之和。接着我们讨论正则化对简单线性回归模型的影响,与分析正则化时一样不考虑偏置参数。我们尤其感兴趣的是找出和正则化之间的差异。与权重衰减类似,权重衰减的强度也可以通过缩放惩罚项的超参数控制。因此,正则化的目标函数如下给出

2017-01-06 11:43:39 362

原创 深度学习的正则化(一)

深度学习的正则化§参数范数惩罚正则化在深度学习的出现前就已经应用了数十年。线性模型,如线性回归和逻辑回归可以使用简单、直接有效的正则化策略。许多正则化方法通过对目标函数添加了一个参数范数惩罚,限制模型(如神经网络、线性回归或逻辑回归)的学习能力。我们将正则化后的目标函数记为:其中是权衡范数惩罚项和标准目标函数相对贡献的超参数。将设为0就是没有正则化。越大的,对应于越多的正则化惩罚。当我们的训练算法最小化正则化后的目标函数时,它会降低原始目标关于训练数据的误差并同时减小参数的规模(或在某些衡量下参

2017-01-06 10:33:32 974

原创 反向传播和其他微分方法(五)

反向传播和其他微分方法§实例:用于MLP训练的BP作为一个例子,我们利用反向传播算法来训练多层感知器。这里,我们考虑具有单个隐藏层的一个非常简单的多层感知机。为了训练这个模型,我们将使用小批量(minibatch)随机梯度下降算法。反向传播算法用于计算单个minibatch上的代价的梯度。具体来说,我们使用训练集上的一组minibatch实例,将其规范化为一个设计矩阵以及相关联的类标签的向量。网络计算隐藏特征层。为了简化表示,我们在这个模型中不使用偏置。假设我们的图语言包含relu操作,该操作可以对表

2017-01-05 19:52:02 445

原创 反向传播和其他微分方法(四)

反向传播和其他微分方法§一般化的BP反向传播算法非常简单。为了计算某个标量对图中它的一个祖先的梯度,我们首先观察到对的梯度由=1给出。我们然后可以计算对图中的每个父节点的梯度,通过现有的梯度乘以产生的操作的Jacobi矩阵。我们继续乘以Jacobi矩阵,以这种方式向后穿过图,直到我们到达。对于从出发可以经过两个或更多路径向后行进而到达的任意节点,我们简单地对该节点来自不同路径上的梯度进行求和。更正式地,图G中的每个节点对应着一个变量。为了实现最大的一般化,我们将这个变量描述为一个张量。张量通常可以具有

2017-01-05 18:31:19 433

原创 反向传播和其他微分方法(三)

反向传播和其他微分方法§全连接MLP中BP的计算为了阐明反向传播的上述定义,让我们考虑一个与全连接的多层MLP相关联的特定图。算法3首先给出了前向传播,它将参数映射到与单个训练样例(输入,目标)即相关联的监督损失函数,其中是当提供输入时神经网络的输出。算法4随后说明了将反向传播应用于该图所需的相关计算。算法3和算法4是简单而直观的演示。然而,它们专门针对特定的问题。之后我们会介绍现在的软件实现所基于的一般形式的反向传播,它可以通过明确地操作用于表示符号计算的数据结构,来适应任何计算图。

2017-01-05 16:32:38 426

原创 反向传播和其他微分方法(二)

反向传播和其他微分方法§微积分中的链式法则微积分中的链式法则(为了不与概率中的链式法则相混淆)用于计算复合函数的导数。反向传播是一种计算链式法则的算法,使用高效的特定运算顺序。设是实数,和是从实数映射到实数的函数。假设并且。那么链式法则是说我们可以将这种标量情况进行扩展。假设,,是从到的映射,是从到的映射。如果并且,那么

2017-01-05 14:00:08 492

原创 反向传播和其他微分方法(一)

反向传播和其他微分方法§引入当我们使用前馈神经网络接收输入并产生输出时,信息通过网络向前流动。输入提供初始信息,然后传播到每一层的隐藏单元,最终产生输出。这称之为前向传播(forward propagation)。在训练过程中,前向传播可以持续向前直到它产生一个标量代价函数。反向传播(back propagation)算法,经常简称为backprop,允许来自代价函数的信息通过网络向后流动,以便计算梯度。计算梯度的解析表达式是很直观的,但是数值化地求解这样的表达式在计算上可能是昂贵的。反向传播算法使用

2017-01-05 10:12:05 515

原创 结构设计(二)

结构设计§通用近似性质和深度线性模型,通过矩阵乘法将特征映射到输出,顾名思义,仅能表示线性函数。它具有易于训练的优点,因为当使用线性模型时,许多损失函数会导出凸优化问题。不幸的是,我们经常想要学习非线性函数。乍一看,我们可能认为学习非线性函数需要为我们想要学习的那种非线性专门设计一类模型族。幸运的是,具有隐藏层的前馈网络提供了一种通用近似框架。具体来说,通用近似定理(universal approximation theorem)表明,一个前馈神经网络如果具有线性输出层和至少一层具有任何一种激活函数(

2017-01-04 22:19:45 315

原创 结构设计(一)

结构设计§引入神经网络设计的另一个关键点是确定它的结构。结构(architecture)一词是指网络的整体结构:它应该具有多少单元,以及这些单元应该如何连接。大多数神经网络被组织成称为层的单元组。大多数神经网络结构将这些层布置成链式结构,其中每一层都是前一层的函数。在这种结构中,第一层由下式给出:

2017-01-04 21:05:01 358

原创 隐藏单元(四)

隐藏单元§其他隐藏单元也存在许多其他种类的隐藏单元,但它们并不常用。一般来说,很多种类的可微函数都表现得很好。许多未发布的激活函数与流行的激活函数表现得一样好。为了提供一个具体的例子,在MNIST数据集上使用测试了一个前馈网络,并获得小于1%的误差率,这可以与更为传统的激活函数获得的结果相媲美。在新技术的研究与开发期间,通常会测试许多不同的激活函数,并且会发现许多标准方法的变体表现非常好。这意味着,通常新的隐藏单元类型只有在被明确证明能够提供显著改进时才会发布。新的隐藏单元类型如果与已有的隐藏单元表现

2017-01-04 20:46:36 371

原创 隐藏单元(三)

隐藏单元§Logistic Sigmoid与双曲正切函数在引入整流线性单元之前,大多数神经网络使用logistic sigmoid激活函数或者是双曲正切激活函数这些激活函数紧密相关,因为。我们已经看过sigmoid单元作为输出单元用来预测二元变量取值为1的概率。与分段线性单元不同,sigmoid单元则大部分定义域内都饱和——当取绝对值很大的正值时,它们饱和到一个高值,当取绝对值很大的负值时,它们饱和到一个低值,并且仅仅当接近0时它们才对输入强烈敏感。sigmoid单元的广泛饱和性会使得基于梯度

2017-01-04 18:26:56 410

原创 隐藏单元(二)

隐藏单元§整流线性单元及其扩展整流线性单元使用激活函数。整流线性单元易于优化,因为它们和线性单元非常类似。线性单元和整流线性单元的唯一区别在于整流线性单元在其一半的定义域上输出为零。这使得只要整流线性单元处于激活状态它的导数都能保持较大。它的梯度不仅大而且一致。修正操作的二阶导数几乎处处为0,并且在整流线性单元处于激活状态时它的一阶导数处处为1。这意味着,相比于引入二阶效应的激活函数,它的梯度方向对于学习来说更加有用。

2017-01-04 18:00:32 272

原创 隐藏单元(一)

隐藏单元§引入到目前为止,我们集中讨论了神经网络的设计选择,这对于使用基于梯度的优化方法来训练的大多数参数化机器学习模型都是通用的。现在我们转向一个前馈神经网络独有的问题:该如何选择隐藏单元的类型,这些隐藏单元用在模型的隐藏层中。隐藏单元的设计是一个非常活跃的研究领域,并且还没有许多明确的指导性理论原则。

2017-01-04 16:39:28 1837

原创 基于梯度的学习

基于梯度的学习设计和训练神经网络与使用梯度下降训练其他的任何机器学习模型并没有太大不同。通常一个机器学习算法需要指明数据集、一个模型族、一个代价函数和一个优化过程。我们看到线性模型和神经网络的最大区别在于神经网络的非线性导致大多数我们感兴趣的损失函数都成为了非凸的。这意味着神经网络的训练通常使用迭代的、基于梯度的优化,仅仅使得代价函数达到一个非常小的值;而不是用于训练线性回归模型的线性方程求解器,或者是用于训练逻辑回归或者SVM的具有全局收敛保证的凸优化算法。凸优化从任何一种初始参数出发都会收敛(仅仅是

2017-01-04 15:07:03 1355

原创 实例:学习XOR

为了使前馈网络更加具体,我们首先从一个前馈网络充分发挥作用的例子说起:学习XOR函数。XOR函数(“异或”逻辑)是两个二进制值和的运算。当这些二进制值中恰好有一个为1时,XOR函数返回值为1,其余情况下为0。XOR函数提供了我们想要学习的目标函数。我们的模型给出了一个函数并且我们的学习算法会不断更新参数来使得尽可能接近。

2017-01-03 18:35:09 1083

原创 深度前馈网络简介

深度前馈网络(deep feedforward network),也叫做前馈神经网络(feedforward neural network)或者多层感知机(multilayer perceptron, MLP),是典型的深度学习模型。前馈网络的目标是近似某个函数。例如,对于分类器,将输入映射到一个类别。前馈网络定义了一个映射,并且学习参数的值,使它能够得到最佳的函数近似。

2017-01-03 16:07:48 688

Spring RESTful简单实例

利用Spring对RESTful Web Service进行简单的实现demo。

2016-08-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除