神经网络相关名词解释
神经网络相关名词解释
这篇文章的目的是把之前概念理解的名词用公式记忆一下。
1. 正则化
1.0 过拟合
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
- HardTanh
- HardShrink
- SoftShrink
- SoftMax
- SoftMin
- SoftPlus
- SoftSign
- LogSigmoid
- LogSoftMax
- Sigmoid
- Tanh
- ReLU
- ReLU6
- PReLU
- RReLU
- ELU
- LeakyReLU
- SpatialSoftMax
- AddConstant
- MulConstant
转载于:https://www.cnblogs.com/QinHaotong/p/9574025.html
神经网络相关名词解释相关推荐
- 第五章(1.1)深度学习——神经网络相关名词解释
一.前言 很多人认为深度学习很枯燥,大部分情况是因为对深度学习的学术词语,特别是专有名词很困惑,即便对相关从业者,亦很难深入浅出地解释这些词语的含义. 人工智能,深度学习,机器学习-无论你在做什么,如 ...
- 人工智能相关名词解释(参考王万良教授《人工智能导论》以及网络博客)
人工智能相关名词解释(参考王万良教授<人工智能导论>以及网络博客) 1.机器学习:机器学习是一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已 ...
- 名词解释_写字楼租赁相关名词解释
对于租赁写字楼的租户来说,那些繁琐的合同是很令人头疼的.有时候连最基础的一些问题还没得到解决,就要面对一堆复杂的文书,会使租赁写字楼的租户开始迟疑.那么在这里我们给大家科普一下关于写字楼租赁你需要知道 ...
- 虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释
虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释 租用空间.网站服务器相关名词解释 什么是域名服务器? 域名服务器(Domain Name Server, ...
- 创新创业名词解释_(完整word版)“大众创业万众创新”相关名词解释总汇
. . "大众创业万众创新"相关名词解释总汇 "大众创业,万众创新"的背景 从国际形势上看, 一方面受国际经济情况不容乐观局面的影 响,世界经济发展放缓,国际经 ...
- GWAS相关名词解释及基础知识储备[长期更新]
转载自GWAS综述(生信文献阅读俱乐部精选) 相关名词解释 Genome-wide association studies(关联分析):扫描遗传标记,通常是单核苷酸多态性(SNPs),使用统计学相关的 ...
- 创新创业名词解释_“大众创业万众创新”相关名词解释总汇
- 1 - "大众创业万众创新"相关名词解释总汇 "大众创业,万众创新"的背景 从国际形势上看, 一方面受国际经济情况不容乐观局面的影 响,世界经济发展放缓,国 ...
- 【eMMC学习记录】emmc相关名词解释和基础概念
名词解释 NAND Flash:半导体闪存 HDD:机械硬盘 FW:固件 Peak Power:峰值功率 Active Power:读写功耗 Idle Power:空闲功耗 standby/sleep ...
- 计算机系统结构结构相关名词解释,体系结构复习题
名词解释: 1.计算机系统结构:计算机体系结构包括指令集结构.计算机组成和计算机 实现三个方面的内容. 2.CISC:CISC是指采用一整套计算机指令进行操作的计算机.而后又出现 了精简指令集计算机, ...
最新文章
- js 控制选中文字
- TS流解析之PAT表格解析
- 基于面向服务体系架构(SOA)和面向资源体系架构(ROA)的业务组件模型
- 神经网络迭代次数的线性累加现象
- ajax请求返回结果进入success还是error
- Presto 日期和时间函数
- ssm酒店预订系统(ssm酒店管理系统民宿预订)ssm酒店客房预订系统宾馆JSP客房预订系统
- 猪场超级管家 v4.0 免费
- matinee和matin区别_法语小灶 | an和année, jour和journée有什么区别?
- 如何知道计算机显卡内存,电脑显卡是什么 怎么查显卡显存【图文】
- smb.php如何使用,win10smb1协议怎么开
- magicmatch java_签名图片一键批量生成 使用Java的Webmagic爬虫实现
- 造成503 service unavailable常见的原因以及解决方法
- HSV颜色分割,RGB与HSV颜色空间的关系
- mysql中的left和right
- MLDN —— Java学习圣经
- countdown软件测试死亡时间真假,countdown软件测试死亡时间真的吗?怎么回事
- 某大学ipv6和ipv4结合的校园网规划设计
- Python超简单零基础树莓派摄像头车牌识别(使用开源openalpr)笔记
- 计算机服务启动按钮显示灰色,win10系统自带还原按钮显示灰色无法还原的详细办法...
热门文章
- (0028)iOS 开发之Xcode使用技巧
- fastjson查找指定键值_分布式键值存储 etcd
- 除了iframe还有什么方法加载第三方网页_IE9常见问题的解决方法
- MapRdeuceYarn的工作机制(YarnChild是什么)
- java中如何实现两个值互换
- 大型运输行业实战_day14_1_webserivce简单入门
- 树莓派(Raspberry Pi 3) centos7使用yum命令报错File /usr/bin/yum, line 30 except KeyboardInterrupt, e:...
- arguments.length
- 再谈移动端Web屏幕适配
- debian安装emacs23