神经网络相关名词解释

这篇文章的目的是把之前概念理解的名词用公式记忆一下。

1. 正则化

1.0 过拟合

这是正则化主要解决的问题。
过拟合现象主要体现在accuracy rate和cost两方面:
1.模型在测试集上的准确率趋于饱和而训练集上的cost仍处于下降趋势
2.训练集数据的cost趋于下降但测试集数据的cost却趋于饱和或上升

1.1 L2正则化

L2正则化就是在代价函数后面再加上一个正则化项:

C_0代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,权衡正则项与C_0项的比重。另外还有一个系数1/2,1/2经常会看到,主要是为了后面求导的结果方便,后面那一项求导会产生一个2,与1/2相乘刚好凑整。

L2正则化项是怎么避免overfitting的呢?我们推导一下看看,先求导:

可以发现L2正则化项对b的更新没有影响,但是对于w的更新有影响:

在不使用L2正则化时,求导结果中w前系数为1,现在w前面系数为 1−ηλ/n ,因为η、λ、n都是正的,所以 1−ηλ/n小于1,它的效果是减小w,这也就是权重衰减(weight decay)的由来。当然考虑到后面的导数项,w最终的值可能增大也可能减小。

另外,需要提一下,对于基于mini-batch的随机梯度下降,w和b更新的公式跟上面给出的有点不同:

对比上面w的更新公式,可以发现后面那一项变了,变成所有导数加和,乘以η再除以m,m是一个mini-batch中样本的个数。

到目前为止,我们只是解释了L2正则化项有让w“变小”的效果,但是还没解释为什么w“变小”可以防止overfitting?一个所谓“显而易见”的解释就是:更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合刚刚好(这个法则也叫做奥卡姆剃刀),而在实际应用中,也验证了这一点,L2正则化的效果往往好于未经正则化的效果。

当然,对于很多人(包括我)来说,这个解释似乎不那么显而易见,所以这里添加一个稍微数学一点的解释(引自知乎):

过拟合的时候,拟合函数的系数往往非常大,为什么?如下图所示,过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。

而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。

1.2 L1正则化

在原始的代价函数后面加上一个L1正则化项,即所有权重w的绝对值的和,乘以λ/n(这里不像L2正则化项那样,需要再乘以1/2,具体原因上面已经说过。)

同样先计算导数:

上式中sgn(w)表示w的符号。那么权重w的更新规则为:

比原始的更新规则多出了η * λ * sign(w)/n这一项。当w为正时,更新后的w变小。当w为负时,更新后的w变大——因此它的效果就是让w往0靠,使网络中的权重尽可能为0,也就相当于减小了网络复杂度,防止过拟合。

另外,上面没有提到一个问题,当w为0时怎么办?当w等于0时,|W|是不可导的,所以我们只能按照原始的未经正则化的方法去更新w,这就相当于去掉η*λ*sign(w)/n这一项,所以我们可以规定sign(0)=0,这样就把w=0的情况也统一进来了。(在编程的时候,令sign(0)=0,sign(w>0)=1,sign(w<0)=-1)

2. 梯度下降 GD

2.1 梯度下降 GD

在迭代问题中,每一次更新w的值,更新的增量为ηv,其中η表示的是步长,v表示的是方向

要寻找目标函数曲线的波谷,采用贪心法:想象一个小人站在半山腰,他朝哪个方向跨一步,可以使他距离谷底更近(位置更低),就朝这个方向前进。这个方向可以通过微分得到。选择足够小的一段曲线,可以将这段看做直线段,那么有:

其中η表示的是步长,v表示的是方向,而梯度下降的精髓是:

通过上边的例子可以看出,只要找到了后边这项的最小值即可,因此当vT与Δ的方向相反时,该值最小,因此,最优的V的值的求法如下:

(v=-E/||E||,这个式子代表:使得向量v的长度=1)

显然上边解决了方向问题,但是还存在步长问题,步子太小的话,速度太慢;过大的话,容易发生抖动,可能到不了谷底。

解决方案:距离谷底较远(位置较高)时,步幅大些比较好;接近谷底时,步幅小些比较好(以免跨过界)。距离谷底的远近可以通过梯度(斜率)的数值大小间接反映,接近谷底时,坡度会减小。设置步幅与梯度数值大小正相关。

根据上边优化完成的梯度下降算法,可以得到完整的Logistic Regression Algorithm:

值得注意的是,梯度下降法,需要同时更新θ1,θ2,...,θn,的值

2.2 随机梯度下降法 SGD

传统的随机梯度下降更新方法:

问题:每次更新都需要遍历所有data,当数据量太大或者一次无法获取全部数据时,这种方法并不可行。
解决这个问题基本思路是:只通过一个随机选取的数据(xn,yn) 来获取“梯度”,以此对w 进行更新。这种优化方法叫做随机梯度下降。

随机梯度下降的求解思路如下:

(1)上面的风险函数可以写成如下这种形式,损失函数对应的是训练集中每个样本的粒度,而上面批量梯度下降对应的是所有的训练样本:

(2)每个样本的损失函数,对theta求偏导得到对应梯度,来更新theta

(3)随机梯度下降是通过每个样本来迭代更新一次,如果样本量很大的情况(例如几十万),那么可能只用其中几万条或者几千条的样本,就已经将theta迭代到最优解了,对比上面的批量梯度下降,迭代一次需要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次。但是,SGD伴随的一个问题是噪音较BGD要多,使得SGD并不是每次迭代都向着整体最优化方向。

2.3 批量梯度下降 BGD

批量梯度下降的求解思路如下:

(1)将J(theta)对theta求偏导,得到每个theta对应的的梯度

(2)由于是要最小化风险函数,所以按每个参数theta的梯度负方向,来更新每个theta

(3)从上面公式可以注意到,它得到的是一个全局最优解,但是每迭代一步,都要用到训练集所有的数据,如果m很大,那么可想而知这种方法的迭代速度!!所以,这就引入了另外一种方法,随机梯度下降。

3. 激活函数

如果我们不运用激活函数的话,则输出信号将仅仅是一个简单的线性函数。线性函数一个一级多项式。现如今,线性方程是很容易解决的,但是它们的复杂性有限,并且从数据中学习复杂函数映射的能力更小。一个没有激活函数的神经网络将只不过是一个线性回归模型(Linear regression Model)罢了,它功率有限,并且大多数情况下执行得并不好。我们希望我们的神经网络不仅仅可以学习和计算线性函数,而且还要比这复杂得多。同样是因为没有激活函数,我们的神经网络将无法学习和模拟其他复杂类型的数据,例如图像、视频、音频、语音等。这就是为什么我们要使用人工神经网络技术,诸如深度学习(Deep learning),来理解一些复杂的事情,一些相互之间具有很多隐藏层的非线性问题,而这也可以帮助我们了解复杂的数据。

简单的说,激活函数为模型加入了非线性元素,增强了模型的理解能力。

3.1 Torch中的激活函数

Transfer functions

  1. HardTanh
  2. HardShrink
  3. SoftShrink
  4. SoftMax
  5. SoftMin
  6. SoftPlus
  7. SoftSign
  8. LogSigmoid
  9. LogSoftMax
  10. Sigmoid
  11. Tanh
  12. ReLU
  13. ReLU6
  14. PReLU
  15. RReLU
  16. ELU
  17. LeakyReLU
  18. SpatialSoftMax
  19. AddConstant
  20. MulConstant

转载于:https://www.cnblogs.com/QinHaotong/p/9574025.html

神经网络相关名词解释相关推荐

  1. 第五章(1.1)深度学习——神经网络相关名词解释

    一.前言 很多人认为深度学习很枯燥,大部分情况是因为对深度学习的学术词语,特别是专有名词很困惑,即便对相关从业者,亦很难深入浅出地解释这些词语的含义. 人工智能,深度学习,机器学习-无论你在做什么,如 ...

  2. 人工智能相关名词解释(参考王万良教授《人工智能导论》以及网络博客)

    人工智能相关名词解释(参考王万良教授<人工智能导论>以及网络博客) 1.机器学习:机器学习是一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已 ...

  3. 名词解释_写字楼租赁相关名词解释

    对于租赁写字楼的租户来说,那些繁琐的合同是很令人头疼的.有时候连最基础的一些问题还没得到解决,就要面对一堆复杂的文书,会使租赁写字楼的租户开始迟疑.那么在这里我们给大家科普一下关于写字楼租赁你需要知道 ...

  4. 虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释

    虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释 租用空间.网站服务器相关名词解释 什么是域名服务器? 域名服务器(Domain Name Server, ...

  5. 创新创业名词解释_(完整word版)“大众创业万众创新”相关名词解释总汇

    . . "大众创业万众创新"相关名词解释总汇 "大众创业,万众创新"的背景 从国际形势上看, 一方面受国际经济情况不容乐观局面的影 响,世界经济发展放缓,国际经 ...

  6. GWAS相关名词解释及基础知识储备[长期更新]

    转载自GWAS综述(生信文献阅读俱乐部精选) 相关名词解释 Genome-wide association studies(关联分析):扫描遗传标记,通常是单核苷酸多态性(SNPs),使用统计学相关的 ...

  7. 创新创业名词解释_“大众创业万众创新”相关名词解释总汇

    - 1 - "大众创业万众创新"相关名词解释总汇 "大众创业,万众创新"的背景 从国际形势上看, 一方面受国际经济情况不容乐观局面的影 响,世界经济发展放缓,国 ...

  8. 【eMMC学习记录】emmc相关名词解释和基础概念

    名词解释 NAND Flash:半导体闪存 HDD:机械硬盘 FW:固件 Peak Power:峰值功率 Active Power:读写功耗 Idle Power:空闲功耗 standby/sleep ...

  9. 计算机系统结构结构相关名词解释,体系结构复习题

    名词解释: 1.计算机系统结构:计算机体系结构包括指令集结构.计算机组成和计算机 实现三个方面的内容. 2.CISC:CISC是指采用一整套计算机指令进行操作的计算机.而后又出现 了精简指令集计算机, ...

最新文章

  1. js 控制选中文字
  2. TS流解析之PAT表格解析
  3. 基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型
  4. 神经网络迭代次数的线性累加现象
  5. ajax请求返回结果进入success还是error
  6. Presto 日期和时间函数
  7. ssm酒店预订系统(ssm酒店管理系统民宿预订)ssm酒店客房预订系统宾馆JSP客房预订系统
  8. 猪场超级管家 v4.0 免费
  9. matinee和matin区别_法语小灶 | an和année, jour和journée有什么区别?
  10. 如何知道计算机显卡内存,电脑显卡是什么 怎么查显卡显存【图文】
  11. smb.php如何使用,win10smb1协议怎么开
  12. magicmatch java_签名图片一键批量生成 使用Java的Webmagic爬虫实现
  13. 造成503 service unavailable常见的原因以及解决方法
  14. HSV颜色分割,RGB与HSV颜色空间的关系
  15. mysql中的left和right
  16. MLDN —— Java学习圣经
  17. countdown软件测试死亡时间真假,countdown软件测试死亡时间真的吗?怎么回事
  18. 某大学ipv6和ipv4结合的校园网规划设计
  19. Python超简单零基础树莓派摄像头车牌识别(使用开源openalpr)笔记
  20. 计算机服务启动按钮显示灰色,win10系统自带还原按钮显示灰色无法还原的详细办法...

热门文章

  1. (0028)iOS 开发之Xcode使用技巧
  2. fastjson查找指定键值_分布式键值存储 etcd
  3. 除了iframe还有什么方法加载第三方网页_IE9常见问题的解决方法
  4. MapRdeuceYarn的工作机制(YarnChild是什么)
  5. java中如何实现两个值互换
  6. 大型运输行业实战_day14_1_webserivce简单入门
  7. 树莓派(Raspberry Pi 3) centos7使用yum命令报错File /usr/bin/yum, line 30 except KeyboardInterrupt, e:...
  8. arguments.length
  9. 再谈移动端Web屏幕适配
  10. debian安装emacs23