深度学习----Deep Learning
文章平均质量分 52
UESTC_C2_403
如果大家对博客内容有什么建议或者问题,可以在博客下面留言哦,谢谢大家!
展开
-
深度学习权重初始化的原则
深度学习权重的初始化的太小,那信号将会在每层传递时逐渐缩小导致难以产生作用,如果权重初始化的太大,那信号将在每层间传递逐渐放大导致发散和失效,根据深度学习大牛的理论说明列,权重应该是满足均值为0,方差为2除以两层神经元个数之和,就是权重链接的那两层。满足的分布就是均匀分布或者高斯分布。例如:import tensorflow as tf;import numpy as np;impor原创 2017-05-30 15:22:18 · 2997 阅读 · 0 评论 -
参数(parameters)和超参数(hyperparameters)
在机器学习或者深度学习领域,参数和超参数是一个常见的问题,个人根据经验给出了一个很狭隘的区分这两种参数的方法。参数:就是模型可以根据数据可以自动学习出的变量,应该就是参数。比如,深度学习的权重,偏差等超参数:就是用来确定模型的一些参数,超参数不同,模型是不同的(这个模型不同的意思就是有微小的区别,比如假设都是CNN模型,如果层数不同,模型不一样,虽然都是CNN模型哈。),超参数一般就是根据原创 2017-08-20 14:36:58 · 59257 阅读 · 2 评论 -
损失函数(Loss function)和代价函数(成本函数)(Cost function)的区别与联系
1.损失函数(Loss function)是定义在单个训练样本上的,也就是就算一个样本的误差,比如我们想要分类,就是预测的类别和实际类别的区别,是一个样本的哦,用L表示2.代价函数(Cost function)是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均,有没有这个平均其实不会影响最后的参数的求解结果。注意:定义的方式不同哦,两者是相辅相成原创 2017-08-18 21:26:37 · 26454 阅读 · 0 评论 -
Batch Normalization
转自:http://blog.csdn.net/shuzfan/article/details/507238771.BN的动力作者认为:网络训练过程中参数不断改变导致后续每一层输入的分布也发生变化,而学习的过程又要使每一层适应输入的分布,因此我们不得不降低学习率、小心地初始化。作者将分布发生变化称之为 internal covariate shift。大家应该都知道,我们一转载 2017-08-18 10:27:14 · 1174 阅读 · 2 评论 -
机器学习中常见的几种归一化方法以及原因
在机器学习中,数据归一化是非常重要,它可能会导致模型坏掉或者训练出一个很奇怪的模型,为了让机器学习的模型更加适合实际情况,需要对数据进行归一化处理。1.机器学习中常用的归一化方法:2. 不同归一化方法分析:线性变换和极差法(线性归一化)将原始数据线性化的方法转换到[0 1]的范围,该方法实现对原始数据的等比例缩放。通过利用变量取值的最大值和最小值(或者最大值)将原始数据转换原创 2017-07-22 20:19:39 · 40772 阅读 · 5 评论 -
三种梯度下降的方式:批量梯度下降、小批量梯度下降、随机梯度下降
在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD、随机梯度下降法SGD、小批量梯度下降法MBGD,并且都有不同的优缺点。下面我们以线性回归算法为例子来对三种梯度下降法进行比较。1. 线性回归假设 特征 和 结果 都满足线性。即不大于一次方。这个是针对 收集的数据而言。收集的数据中,每一个分量,就可以看做一个特征数据。每个特征至少对应一个未知的原创 2017-07-10 11:11:41 · 37844 阅读 · 10 评论 -
BP神经网络
反向传播算法又称BP算法(Back Propagation) 使用sigmoid函数(这是一个激励函数,对于不同的情况可以使用不同的激励函数,为了讲解方便,这里就采用这个激励函数来说明问题,其他的激励函数可以参考:http://blog.csdn.net/uestc_c2_403/article/details/73431428)的感知器来搭建一个多层神经网络,为简单起见,此处我原创 2017-07-10 09:25:50 · 14143 阅读 · 3 评论 -
F-散度(F-divergence)
在概率统计中,f散度是一个函数,这个函数用来衡量两个概率密度p和q的区别,也就是衡量这两个分布多么的相同。1.f散度的定义p和q是同一个空间中的两个概率密度函数,它们之间的f散度可以用如下方程表示:f函数满足两个条件:f函数是一个凸函数,并且f(1)=0。2.f散度的特例如果f(x)=xlogx,那就是KL散度。如果是f(x)=-logx,那就表示reverse KL散原创 2017-07-16 18:25:31 · 15485 阅读 · 0 评论 -
利用CNN实现手写体识别
用TensorFlow实现CNN代码#-*- coding:utf-8 -*-import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_data/", one_hot=True)# 产生随机变量,符转载 2017-06-03 08:04:55 · 2426 阅读 · 0 评论 -
深度学习的Batch Normalization
转载:http://blog.csdn.net/shuzfan/article/details/507238771-Motivation作者认为:网络训练过程中参数不断改变导致后续每一层输入的分布也发生变化,而学习的过程又要使每一层适应输入的分布,因此我们不得不降低学习率、小心地初始化。作者将分布发生变化称之为 internal covariate shift。大家应该都知转载 2017-06-15 10:16:16 · 864 阅读 · 0 评论 -
深度学习的激励函数
1.sigmoid函数:导数为:。这个数值不会超过0.25.。通过sigmoid函数计算的函数值在0~1之间,如果神经网络的层数很多,如果每一层的激励函数采用sigmoid函数,就会产生梯度弥散的问题。因为利用BP函数更新参数的时候,会乘以它的导数,所以会一直减小。并且在比较大或者比较小的时候,会产生饱和效应,导致神经元类似与死亡。2.tanh函数导数:。tanh函原创 2017-06-18 15:43:08 · 8912 阅读 · 3 评论 -
KL散度(Kullback-Leibler Divergence)
今天开始来讲相对熵,我们知道信息熵反应了一个系统的有序化程度,一个系统越是有序,那么它的信息熵就越低,反之就越高。下面是熵的定义 如果一个随机变量的可能取值为,对应的概率为,则随机变量的熵定义为 有了信息熵的定义,接下来开始学习相对熵。熵是随机变量不确定性的度量,不确定性越大,熵就越大,如果是常量,就是零。不原创 2017-07-10 15:04:48 · 10086 阅读 · 1 评论 -
dropout的解释
转载于以下链接:http://blog.csdn.net/stdcoutzyx/article/details/49022443理解dropout开篇明义,dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。dropou转载 2017-06-17 15:57:49 · 1369 阅读 · 0 评论 -
RNN和LSTM网络
转载:http://www.jianshu.com/p/9dc9f41f0b29Recurrent Neural Networks人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。传统的神经网络并不能做到这点,转载 2017-06-17 10:37:12 · 1757 阅读 · 0 评论 -
机器学习中训练集、验证集(开发集)、测试集如何划分
1.传统的机器学习领域中,由于收集到的数据量往往不多,比较小,所以需要将收集到的数据分为三类:训练集、验证集、测试集。也有人分为两类,就是不需要测试集。比例根据经验不同而不同,这里给出一个例子,如果是三类,可能是训练集:验证集:测试集=6:2:2;如果是两类,可能是训练集:验证集=7:3。因为数据量不多,所以验证集和测试集需要占的数据比例比较多。2.在大数据时代的机器学习或者深度学习领域中原创 2017-08-31 14:17:58 · 18210 阅读 · 0 评论