激活函数的作用「建议收藏」

激活函数的作用「建议收藏」激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题首先我们有这个需求,就是二分类问题,如我要将下面的三角形和圆形点进行正确的分类,如下图:利用我们单层的感知机,用它可以划出一条线,把平面分割开:上图直线是由得到,那么该感知器实现预测的功能步骤如下,就是我已经训练好了一个感知器模型,后面对于要预测的样本点,带入模型中,如果y>0,那么就说明是直线的右侧,也就…

大家好,又见面了,我是你们的朋友全栈君。

激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题

首先我们有这个需求,就是二分类问题,如我要将下面的三角形和圆形点进行正确的分类,如下图:

激活函数的作用「建议收藏」

利用我们单层的感知机, 用它可以划出一条线, 把平面分割开:

激活函数的作用「建议收藏」

上图直线是由得到,那么该感知器实现预测的功能步骤如下,就是我已经训练好了一个感知器模型,后面对于要预测的样本点,带入模型中,如果y>0,那么就说明是直线的右侧,也就是正类(我们这里是三角形),如果,那么就说明是直线的左侧,也就是负类(我们这里是圆形),虽然这和我们的题目关系不大,但是还是提一下~
好吧,很容易能够看出,我给出的样本点根本不是线性可分的,一个感知器无论得到的直线怎么动,都不可能完全正确的将三角形与圆形区分出来,那么我们很容易想到用多个感知器来进行组合,以便获得更大的分类问题,好的,下面我们上图,看是否可行:

激活函数的作用「建议收藏」

好的,我们已经得到了多感知器分类器了,那么它的分类能力是否强大到能将非线性数据点正确分类开呢~我们来分析一下:
我们能够得到

y=w_{2-1}(w_{1-11}x_{1}+ w_{1-21}x_{2}+b_{1-1} )+ w_{2-2}(w_{1-12}x_{1}+ w_{1-22}x_{2}+b_{1-2} )+w_{2-3}(w_{1-13}x_{1}+ w_{1-23}x_{2}+b_{1-3} )

哎呀呀,不得了,这个式子看起来非常复杂,估计应该可以处理我上面的情况了吧,哈哈哈哈~不一定额,我们来给它变个形.上面公式合并同类项后等价于下面公式:

y=x_{1}(w_{2-1}w_{1-11}+w_{2-2}w_{1-12} +w_{2-3}w_{1-13} )+x_{2} (w_{2-1}w_{1-21}+w_{2-2}w_{1-22} +w_{2-3}w_{1-23} )+w_{2-1} b_{1-1} +w_{2-2} b_{1-2}+w_{2-3} b_{1-3}

啧啧,估计大家都看出了,不管它怎么组合,最多就是线性方程的组合,最后得到的分类器本质还是一个线性方程,该处理不了的非线性问题,它还是处理不了。
就好像下图,直线无论在平面上如果旋转,都不可能完全正确的分开三角形和圆形点:

激活函数的作用「建议收藏」

既然是非线性问题,总有线性方程不能正确分类的地方~
那么抛开神经网络中神经元需不需要激活函数这点不说,如果没有激活函数,仅仅是线性函数的组合解决的问题太有限了,碰到非线性问题就束手无策了.那么加入激活函数是否可能能够解决呢?
在上面线性方程的组合过程中,我们其实类似在做三条直线的组合,如下图:

激活函数的作用「建议收藏」
下面我们来讲一下激活函数,我们都知道,每一层叠加完了之后,我们需要加入一个激活函数(激活函数的种类也很多,如sigmod等等~)这里就给出sigmod例子,如下图:

激活函数的作用「建议收藏」

通过这个激活函数映射之后,输出很明显就是一个非线性函数!能不能解决一开始的非线性分类问题不清楚,但是至少说明有可能啊,上面不加入激活函数神经网络压根就不可能解决这个问题~
同理,扩展到多个神经元组合的情况时候,表达能力就会更强~对应的组合图如下:(现在已经升级为三个非线性感知器在组合了)

激活函数的作用「建议收藏」

跟上面线性组合相对应的非线性组合如下:

激活函数的作用「建议收藏」

 

这看起来厉害多了,是不是~最后再通过最优化损失函数的做法,我们能够学习到不断学习靠近能够正确分类三角形和圆形点的曲线,到底会学到什么曲线,不知道到底具体的样子,也许是下面这个~

激活函数的作用「建议收藏」
那么随着不断训练优化,我们也就能够解决非线性的问题了


1.为何引入非线性的激活函数?

如果不用激活函数,在这种情况下每一层输出都是上层输入的线性函数。容易验证,无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。因此引入非线性函数作为激活函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入。

2.引入ReLu的原因

第一,采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。

第二,对于深层网络,sigmoid函数反向传播时,很容易就会出现 梯度消失 的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。

第三,ReLu会使一部分神经元的输出为0,这样就造成了 网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147956.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java有全局变量吗_java局部变量和成员变量的区别

    java有全局变量吗_java局部变量和成员变量的区别//    java全局变量危害 //    最近为了图快捷,使用了全局变量,然后就想到了一些危害//  1.线程不安全:线程中多个全局变量,修改容易冲突,需要加锁//  2.增加耦合性:修改全局变量可能会影响其他模块//  3.难以定位修改:难以定位全局变量在哪里被修改了,加大了调用难度//  4.长期占用内存:生命

    2022年8月21日
    4
  • ipset iptables_怎么把黑名单变白名单

    ipset iptables_怎么把黑名单变白名单使用ipset设置iptables(黑/白)名单一、ipset原理ipset是iptables的扩展,它允许你创建匹配整个地址集合的规则。而不像iptables只能匹配单个ip,避免维护的ip条目过多导致速度变慢,而ip集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,除了一些常用的情况,比如阻止一些危险主机访问本机,从而减少系统资源占用或网络拥塞,IPsets也具备一些新防火墙设计方法,并简化了配置。二、ipset安装1、ipset工具安装yum…

    2022年9月1日
    0
  • sqlserver中类型decimal

    sqlserver中类型decimaldecimal(18,0)18是定点精度,0是小数位数。decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从0到a之间的值。默认小数位数是0。

    2022年7月20日
    71
  • 抓包工具Charles基本用法

    抓包工具Charles基本用法我们在进行B/S架构的Web项目开发时,在前端页面与后台交互的调试的时候,通常使用在JSP中加入“debugger;”断点,然后使用浏览器的F12开发者工具来查看可能出错的地方的数据。或者使用HttpWatch来抓包分析。在开发移动端项目没有网页的情况下,就不能通过这种方式抓取数据进行分析了。这时可以使用Charles满足以上要求。Charles是一款Http代理服务器和Http监视器,当移动

    2022年5月1日
    46
  • TCP/ip详解_TCP/IP详解

    TCP/ip详解_TCP/IP详解  TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。…

    2025年7月4日
    0
  • ATA注会考试系统配置

    ATA注会考试系统配置今天跟李老师一起去配置一个考试系统,首先网络环境是这样的:教师机(控制机)接通内外网,考试机只通内网。控制机通过一个侦听程序把所有考试机联系起来,遇到的问题是侦听程序对某些主机不起作用,然后用多余的机器更换了,检查环境要求的时候,需要更新考试机的IE至8.0,还要求各种输入法的安装,于是先配置好一台,然后利用机房主机自带的同传系统进行克隆,最后进行测试。这个考试环境的配置有一…

    2022年7月14日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号