机器学习笔记【1】:什么是激活函数&该怎么选择激活函数

什么是深度学习?
什么是激活函数?
如何选择激活函数?

1.深度学习&激活函数
首先我们有一些输入数据,并且将其量化。
然后将数据输入到神经网络中,这一步基本上对输入数据逐层进行一系列的矩阵运算。
input*权重(w)+偏移(b)=output1(hj)
aj=激活函数例如sigmiod(hj)
不断重复这个过程知道网络最后一层,输出就是我们的预测结果,如下图,可以把Ok看做y^
在这里插入图片描述
我们找到预测值y^和标签y之间的差距E,如下图
在这里插入图片描述
使用这个差距E,利用权重,计算出偏导数,递归地反向传播(所以后期需要学习反向传播函数)
在这里插入图片描述
然后运用求的的值不断地更新权重
在这里插入图片描述
重复这个过程,知道误差值尽量地缩小,这就是“深度学习”----Deep learning。

2.为什么要应用激活函数?反向地再做运算和调整权重?(这点是显而易见的,为了让模型预测更加准确)
前者则是因为激活函数非常重要,它们为神经网络引入了非线性属性。
为什么激活函数好?
我们希望可以表示出神经网络中任何类型的函数,而神经网络常被看做通用函数的合拢器,意思是他们可以计算任何函数,所以我们需要方法即可以计算出线性函数又能够计算出非线性激活函数。而应用激活函数后,输入到输出的映射就会变成非线性。
我们想让函数可微(意思就是能够计算出导数),这样就能执行反向传播的优化策略,我们会找到一个非线性误差梯度来学习复杂行为。
总的来说,激活函数背后的整个原理就是模仿了

3.我们有很多激活函数,到底该如何应用哪一种?
常见:sigmoid函数、Tanh函数和ReLU函数
a:sigmoid函数(使数据0-1)0未激活 1激活
缺点:1.它会导致模型的梯度消失
2.Sigmoid函数的输出并不是以0为基准(全正或全负,梯度会往完全不同的方向优化)

b.Tanh函数(数字-1-1)区间内
输出以0为基准,优化更加容易(存在梯度消失)

c.ReLU函数(只应用于隐藏层)****
max(0,x) x小于0,值就为0,x大于0,直线斜率为1
收敛状况比Tanh函数提高了6倍
问题:部分神经元在训练中会很脆弱,甚至会死掉。
较大梯度通过该函数时,会导致梯度更新,无法激活任何数据点,那么它的梯度数据起点会一直是0

为了解决这个问题,我们又引入了LeakyReLU函数解决这个问题
在这里插入图片描述

输出层应该使用Softmax函数用于分类(因为她能生成不同类别的概率),简单理解模型如下
在这里插入图片描述
总结:使用什么激活函数?那必须是ReLU,注意学习率这类的设置
如果神经元死的太多,那就试试LeakReLU,或者Maxout

参考网址:https://www.bilibili.com/video/BV1PW411r7er

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值