自学网站建设,网页制作模板田田田田田田田田田田田田田田,国内做外卖的网站有哪些,货代怎么找客户这里写目录标题 引言sigmoid激活函数的局限1.回顾需求案例2.ReLU激活函数 常用的激活函数1.线性激活函数的解释 如何选择激活函数#xff1f;1.选择输出层的激活函数2.选择隐藏层的激活函数 选择激活函数的总结1.输出层总结2.隐藏层总结3.TensorFlow设置激活函数 激活函数多样… 这里写目录标题 引言sigmoid激活函数的局限1.回顾需求案例2.ReLU激活函数 常用的激活函数1.线性激活函数的解释 如何选择激活函数1.选择输出层的激活函数2.选择隐藏层的激活函数 选择激活函数的总结1.输出层总结2.隐藏层总结3.TensorFlow设置激活函数 激活函数多样性为什么神经网络需要激活函数1.简述2.线性激活函数的局限3.其它案例4.小结 引言
截至目前我们一直使用sigmoid激活函数构建神经网络但通过采用不同的激活函数可以提升神经网络的性能。本篇主要记录激活函数都有什么如何选择激活函数为什么神经网络要有激活函数
sigmoid激活函数的局限
1.回顾需求案例
之前的案例中T恤知名度awareness只有好和坏是一个二元分类问题。而实际上它可能不是二元的他们可能有点意识到相当意识到极度意识到或者它可能已经完全病毒式传播了因此这个神经元的激活值应该是一个任意非负数而不是仅仅在0-1。 2.ReLU激活函数
原来的sigmoid激活值范围在0-1如果想让激活值的范围更大我们可以选择ReLU修正线性单元激活函数当z小于0时输出为0当输入z大于或等于0时输出为z其数学表达式为g(z) max(0, z)。
常用的激活函数
分别为线性激活函数sigmoid激活函数ReLU激活函数
1.线性激活函数的解释
使用线性激活函数等同于没有使用激活函数因为输出只是输入的线性组合即z wx b。在课程中会提到使用线性激活函数而不是没有激活函数。如果听到其他人说没有使用激活函数他们指的是使用了线性激活函数。
如何选择激活函数
1.选择输出层的激活函数
取决于目标或真实标签y是什么有以下3种选择
1sigmoid激活函数处理分类问题时特别是二元分类问题其中目标变量y只有两个可能的值0或1sigmoid激活函数是最合适的选择。2线性回归激活函数在处理回归问题时它的目标是预测一个连续的数值例如预测明天的股价相对于今天的变化量此时建议使用线性激活函数。线性激活函数的特点是它的输出可以取任意实数值包括正数和负数。这意味着神经网络的输出可以自由地表示股价上升或下降的量无论是正值还是负值。3ReLU激活函数如果y只能取非负值且范围不是0-1例如如果你正在预测房价那永远不会是负数那么最自然的选择将是ReLU激活函数。
2.选择隐藏层的激活函数
到目前为止ReLU激活函数是最常见选择它使你的神经网络学习得更快一些。原因如下
1计算效率ReLU激活函数的计算比sigmoid函数更快。ReLU函数的计算仅涉及计算0和输入值z之间的最大值这是一个简单的操作。相比之下sigmoid函数需要进行指数运算和取倒数这在计算上更为复杂和耗时。2梯度下降的效率当使用梯度下降算法来训练神经网络时ReLU函数只有一个方向平坦而sigmoid有两个方向平坦如果一个函数平坦较多梯度下降会非常慢。
选择激活函数的总结
1.输出层总结
对于输出层如果你有一个二元分类问题使用sigmoid如果y是一个可以取正值或负值的数字使用线性或者如果y只能取正值或零正值或非负值使用ReLU。
2.隐藏层总结
然后对于隐藏层我只是使用ReLU作为默认激活函数。
3.TensorFlow设置激活函数
第一层第二层为隐藏层使用ReLU输出层可以根据需求更换激活函数。
激活函数多样性
通过使用不同的激活函数可以构建比单一使用sigmoid激活函数时更为强大和灵活的神经网络。在研究文献中除了常用的激活函数如ReLU还有其他类型的激活函数例如tanh、LeakyReLU、swish等。尽管存在多种激活函数但对于大多数应用场景本篇中介绍的激活函数已经足够。
为什么神经网络需要激活函数
1.简述
将神经网络退化为全由线性激活函数构成的形式就等于放弃了其处理非线性问题的能力使其等同于较为基础的线性回归工具违背了利用神经网络解决更复杂问题的初衷。
2.线性激活函数的局限
以一个简单的只有一个输入、一个隐藏层单元和一个输出层单元的神经网络为例当神经元都使用线性激活函数时计算过程表明最终输出是关于输入的线性函数即等同于线性回归模型的输出。这是因为线性函数的复合依然是线性函数。因此与其使用一个包含隐藏层和输出层的神经网络我们还不如直接采用线性回归模型。
3.其它案例
当神经网络的多层包括隐藏层和输出层均采用线性激活输出等同于线性回归的输出。 若隐藏层维持线性而仅输出层采用逻辑激活函数则模型相当于逻辑回归。这类神经网络并未超越逻辑回归的能力。因此神经网络的隐藏层通常不使用线性激活函数而是推荐使用ReLU等非线性激活函数。
4.小结
数激活函数对于神经网络至关重要因为它们引入非线性使网络能够学习复杂模式。如果所有层使用线性激活函数等于未使用激活函数网络就退化为线性回归无法拟合复杂的数据。因此为了使神经网络能够计算出比线性模型更复杂的特征必须使用非线性激活函数如ReLU。