机器学习笔记:激活函数

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习笔记:激活函数相关的知识,希望对你有一定的参考价值。

1 激活函数综述

激活函数:对输入信号进行线性/非线性变换

为什么激活函数要是非线性函数

        如果不用激活函数,在这种情况下你每一层节点的输入都是上层输出的线性函数,很容易验证,无论你神经网络 有多少层,输出都是输入的线性组合,与没有隐藏层效果相当。那么网络的逼近能力就相当有限。

        正因为上面的原因,我们决定引入非线性函数作为激活函 数,这样深层神经网络表达能力就更加强大(不再是输入的线性组合,而是几乎可以逼近任 意函数)

3 激活函数举例

3.1 softmax

一般最后一个输出层可能用它来归一化

经过softmax后每一个单元取值都是介于0和1之间的概率值 ,且和为1——>这是变换后可被解释成概率的基本前提。

选择概率值最大的类别作为最终的分类结果(对于多分类问题来说)

3.2 tanh

和sigmoid类似 ,也是将(-∞,∞)压缩到一个有限的空间中。

和sigmoid不一样的地方是,sigmoid 压缩至[0,1],tanh压缩至(-1,1)

 3.3 sigmoid

将所有结果压缩到[0~1]上——可以用来进行二元分类,σ(x)表示了一个类的概率

 3.4 ReLU(线性整流单元)

  • 便于计算
  • 可以解决梯度衰减和梯度爆炸问题(斜率是1)

 小于0的输出值,经过激活函数之后,输出为0,那么这些值我们可以去除:变成一个细长的线性网络

        但这并不是说明通过relu之后,我们得到了一个线性模型,因为随着input的不同,模型是一直在变的(经过后,那些神经元有值是变化的。也就是说,relu连接的边会发生变化)

3.4.1 relu的变体

 3.5 Maxout

 relu是特殊的maxout,相当于一个虚拟神经元的输出肯定为0,然后进行比较,看保留哪个

 

 maxout对应的分段函数有几段,取决于一次性比较几个输出

 3.5.1 maxout的训练

每一次给定不同的input,连接的边都是不一样的,训练的方式也自然不同。(每一次只更新目前连着的这些参数)

但因为不同的input对应不同的连接方式,所以每个weight实际上都会被train到(CNN中的max pooling的训练方式同理)

以上是关于机器学习笔记:激活函数的主要内容,如果未能解决你的问题,请参考以下文章

机器学习笔记:形象的解释神经网络激活函数的作用是什么?

机器学习笔记:梯度消失

《深入浅出图神经网络》GNN原理解析☄学习笔记神经网络基础

深入浅出图神经网络|GNN原理解析☄学习笔记神经网络基础

学习打卡03可解释机器学习笔记之CAM类激活热力图

学习打卡03可解释机器学习笔记之CAM类激活热力图