深度学习-激活函数
小白入门记录网课笔记,在这里整理一下,欢迎交流
什么是激活函数,其实在上一节“深度学习-介绍神经网络”那里有讲,实际上是一个来自神经科学的术语,它指的是一个神经元向下游其他神经元发送高输出的程度
我的理解是每层中每个神经元的一个计算结果,然后传给下一层继续计算。然后激活函数就是他的一个计算方法。
为什么需要激活函数
如果我们对神经网络中的所有节点都使用线性激活函数,这个庞大的神经网络将变得与线性回归无异,完全违背了使用神经网络的初衷,因为他无法拟合任何线性之外的模型

举一个简单的例子:带入x=2,然后输出a[1],把a[1]作为下一层的输入继续计算,计算到后面,我们可以发现,还是一个线性的。
选择激活函数
左:线性激活函数g(z)=z。有时如果你使用线性激活函数,人们会说我们没有使用任何激活函数,因为g(z)没有对z的取值做任何改变
中:sigmoid激活函数
右:ReLU,或修正线性单元
,可以取得更大的值

在考虑输出层的激活函数时,通常会根据目标或真实标签Y有一个相当自然的选择。
如果解决二分类问题,使用sigmoid函数会更好
如果你在解决一个回归问题,比如预测股票是涨还是跌,里面有正负值, 推荐选择线性激活函数
如果在预测房价,永远不可能是负数,那么最自然的选择是ReLU激活函数

隐藏层:通常的选择是ReLU
原因:
1.max计算相对于指数运算更快
2.ReLU函数只有左边平坦,但是sigmoid函数有两边平坦,梯度下降的速度更慢
softmax回归
引入-多类分类
多类分类指的是分类问题,其中你可以有超过两个可能的输出标签。
比如0-9数字的识别,5种情感的分类。
softmax回归算法,它是逻辑回归算法的一个推广,使用它你将能够进行多类分类
公式

不同类别出现的概率相加等于1
并且给出了softmax回归的公式
如何指定softmax回归的损失函数

应用
输出层得到一些结果,比如这个数字被识别为0-9数字的每个数字的概率,把输出层称为一个softmax层。
举例:0-9的数字识别


将a1,a2...an公式带到损失函数里面算,误差更小
一些拓展
多输出分类-区别于多类分类
每个图像相关联的可以有多个标签,预测结果的输出是一个向量
这与多类分类不同,这个的输出值只是其中预测到的一个类别。

如何构建一个用于多标签分类的神经网络?
- 将其视为3个完全独立的机器学习问题,分别检测车,公交,行人(不太合理)
- 训练1个项目同时检测车,公交,行人(3个2分类问题)
额外的层类型-卷积层
到目前为止,我们使用的所有神经网络层都是全连接层,其中每一层的每个神经元都从前一层的所有激活中获取输入。
卷积层:每个神经元只看到上一个神经元输出的部分
原因:1.可以增加运算速度2.需要更少的训练数据3.减少过拟合的可能性
卷积神经网络
例子:一个二维数据心电图,去判断这个病人是否有心脏病或其他可诊断的心脏疾病
现将图旋转得到100个数据,但是在第一层并不使用1个数据对应一个神经元,而是一个神经元对应多个数据,心电图的一个窗口。另外就是下一个神经元的部分数据和上个神经元有重合

有许多可以选择的
- 单个神经元应该看多大的输入窗口
- 每层应该有多少个神经元
更多推荐
所有评论(0)