为什么需要非线性激活函数?(why need a nonlinear activation function?)

为什么神经网络需要非线性激活函数?

事实证明:要让你的神经网络能够计算出有趣的函数,你必须使用非线性激活函数,证明如下:

这是神经网络正向传播的方程(看图中公式)

现在我们去掉函数g,然后令

,或者我们也可以令g(z)=z,这个有时被叫做线性激活函数(更学术点的名字是恒等激励函数,因为它们就是把输入值输出)。

为了说明问题我们把
,那么这个模型的输出y或仅仅只是输入特征x的线性组合。

如果我们改变前面的式子,令:

如果你是用线性激活函数或者叫恒等激励函数,那么神经网络只是把输入线性组合再输出。

(你可以理解为其实做这样的变换没有对数据和我们想要的结果有很大的改变)

我们稍后会谈到深度网络,有很多层的神经网络,很多隐藏层。

事实证明,如果你使用线性激活函数或者没有使用一个激活函数,那么无论你的神经网络有多少层一直在做的只是计算线性函数,所以不如直接去掉全部隐藏层。

在我们的简明案例中,事实证明如果你在隐藏层用线性激活函数,在输出层用sigmoid函数,那么这个模型的复杂度和没有任何隐藏层的标准Logistic回归是一样的。

在这里线性隐层一点用也没有,因为这两个线性函数的组合本身就是线性函数,所以除非你引入非线性,否则你无法计算更有趣的函数,即使你的网络层数再多也不行;

只有一个地方可以使用线性激活函数------g(z)=z,就是你在做机器学习中的回归问题(记得哦,这个是建模是考虑的)。

y 是一个实数,举个例子,比如你想预测房地产价格,y 就不是二分类任务0或1,而是一个实数,从0到正无穷。如果y 是个实数,那么在输出层用线性激活函数也许可行,你的输出也是一个实数,从负无穷到正无穷。

划重点!划重点!划重点!

总而言之,不能在隐藏层用线性激活函数,可以用ReLU或者tanh或者leaky ReLU或者其他的非线性激活函数,唯一可以用线性激活函数的通常就是输出层;




除了这种情况,会在隐层用线性函数的,除了一些特殊情况,比如与压缩有关的,那方面在这里将不深入讨论。

在这之外,在隐层使用线性激活函数非常少见。因为房价都是非负数,所以我们也可以在输出层使用ReLU函数这样你的y^都大于等于0。

理解为什么使用非线性激活函数对于神经网络十分关键,接下来我们讨论梯度下降,并在下一个笔记中开始讨论梯度下降的基础——激活函数的导数。

就是开始推导公式了,所以要注意了,还记得各个激活函数的表达式是什么么?

参考博文:
https://www.jianshu.com/p/30e28cc28bcc

非线性激活函数的作用相关推荐

  1. 神经网络中的激活函数的作用和选择

    如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是 ...

  2. 形象的解释神经网络激活函数的作用是什么

    转载自  形象的解释神经网络激活函数的作用是什么 神经网络中激活函数的作用 查阅资料和学习,大家对神经网络中激活函数的作用主要集中下面这个观点: 激活函数是用来加入非线性因素的,解决性模型所不能解决的 ...

  3. 机器学习-神经网络为什么需要非线性(激活函数)

    引言 在学习机器学习的时候,我就一直有着一个疑惑.为什么神经网络需要激活函数(Activation Function)?可能有的人会说,引入激活函数是为了给网络引进非线性.但是有没有仔细思考过,引入非 ...

  4. 激活函数的作用及选择

    线性模型的表达能力不够,无法解决非线性问题,激活函数的作用是加入非线性因素. 1.Sigmoid函数,函数表达式如下: f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^ ...

  5. 激活函数的作用是什么

    激活函数的作用 ##一.激活函数出现的原因 思考这么一个问题: 现在有一个二分类问题,我们要将下面的三角形和圆点进行正确的分类,如图1所示.我们试着用神经网络解决这个问题.跟大家说明一下,这是一个线性 ...

  6. 线性模型和非线性模型的区别,以及激活函数的作用

    线性模型和非线性模型的区别,以及激活函数的作用 线性模型和非线性模型的区别? a. 线性模型可以用曲线拟合样本,线性模型可以是用曲线拟合样本,但是分类的决策边界一定是直线的,例如logistics模型 ...

  7. 3.7 为什么需要非线性激活函数-深度学习-Stanford吴恩达教授

    ←上一篇 ↓↑ 下一篇→ 3.6 激活函数 回到目录 3.8 激活函数的导数 为什么需要非线性激活函数 (Why do you need non-linear activation function? ...

  8. 【深度学习的数学】激活函数的作用是什么?

    转载文章:神经网络激活函数的作用是什么? Donlta备注 不带激活函数的单层感知机是一个线性分类器,无法解决线性不可分(分类)问题 不带激活函数的多层感知机(带隐藏层)合并后也是一个线性分类器,也无 ...

  9. 吴恩达深度学习 —— 3.7 为什么需要非线性激活函数

    事实证明,要让神经网络能够计算出有趣的函数,必须使用非线性激活函数. 如下图所示是神经网络正向传播的方程,为什么不能直接去掉a[1]=g[1](z[1])a^{[1]}=g^{[1]}(z^{[1]} ...

  10. 花书+吴恩达深度学习(二)非线性激活函数(ReLU, maxout, sigmoid, tanh)

    目录 0. 前言 1. ReLU 整流线性单元 2. 绝对值整流线性单元 3. 渗漏整流线性单元 4. 参数化整流线性单元 5. maxout 单元 6. logistic sigmoid 单元 7. ...

最新文章

  1. PostgreSQL操作问题(转载)
  2. 有没有办法使用命令行cURL跟踪重定向?
  3. jquery获取服务器控件的值
  4. 【Java】多线程相关复习—— 线程的创建、名字、运行情况以及顺序控制(join方法) 【一】...
  5. Camel 组件之 Timer
  6. CodeForces - 1313C2 Skyscrapers (hard version)(单调栈+dp/分治)
  7. jQuery教程2---隐藏p标签内容-按钮
  8. 砂.随笔.二十.微笑
  9. docker 配置文件:/etc/docker/daemon.json
  10. [Winform] DataGridView辅助类
  11. 博世 40 亿欧元押注自动驾驶,Waymo 准备接招吧
  12. mysql按条件提取数据库_UIPath中级系列一之读取MySQL记录集
  13. head first html与css 代码_手把手教你使用Flask轻松部署机器学习模型(附代码amp;链接) | CSDN博文精选...
  14. vue,微信小程序,插件库,前端框架,PPT,工具,源码等学习网站
  15. 2012-7-05可樂词汇积累#9312;
  16. jdk版本问题导致的error: reference to query is ambiguous
  17. MATLAB 查找互素(质)对
  18. 浅谈对程序员的认识_8年编程生涯回顾:谈谈我对程序员的理解
  19. php导出数据库为excel文件,phpexcel导出数据库成excel文件
  20. 新手Git for Windows 的安装、配置 及 GitHub中项目下载

热门文章

  1. jq-ui-multiselect插件的使用
  2. 2018中国双态运维用户大会现场精彩集锦
  3. 遥感、GIS、计算机视频教程
  4. SmartUpload
  5. smartupload java_java组件smartupload实现上传文件功能
  6. 元器件及测量基础实验
  7. springboot实现语言切换
  8. 锐捷交换机虚拟化配置
  9. 12款精美的免费 HTML 网站模板下载
  10. html网页设计模板