机器学习—选择激活函数
可以为神经网络中的不同神经元选择激活函数,我们将从如何为输出层选择它的一些指导开始,事实证明,取决于目标标签或地面真相标签y是什么,对于输出层的激活函数,将有一个相当自然的选择,然后看看激活函数的选择,也适用于神经网络的隐藏层。
可以为神经网络中的不同神经元选择不同的激活函数,在考虑输出层的激活函数时,往往是一个相对自然的选择,取决于地面真相标签Y的具体目标是什么,如果正在处理一个分类问题,其中y为0或1,所以一个二进制分类问题,那么Z状结肠激活功能几乎总是最自然的选择,因为神经网络学习预测y=1的概率,就像逻辑回归。如果你在研究二进制分类问题,在输出层使用Z状结肠,如果解决一个回归问题,可以选择不同的激活函数,例如,如果试图预测明天的股票价格将如何变化,与今天的股价相比,它可以上升也可以下降,所以在这种情况下,y是一个数字,可以是正的,也可以是负的,在这种情况下,建议使用线性激活函数,G或Z可以具有正值或负值,使用线性激活函数,最后如果y只能取非负值,比如,你预测的房价永远不会是负值,那么最自然的选择就是Relu激活功能,因为此激活函数只接受非负值,即零值或正值,因此,当选择用于输出层的激活函数时,通常取决于标签Y是什么,你想预测,会有一个很自然的选择,对于神经网络的输出层也是如此。
对于神经网络的隐藏层,Relu激活函数是迄今为止许多人训练神经网络的最常见的选择,尽管最初用Z状结肠激活函数描述了神经网络,事实上,在神经网络发展的早期历史中,人们在许多地方使用z状结肠激活功能,这个领域已经发展到更经常地使用relu,而Z状结肠几乎从来没有,除了一个例外,确实在输出层中使用了Z状结肠激活函数。
如果比较一下Relu和Z状结肠激活函数,Relu的计算速度更快一点,因为它只需要计算(0,z)的最大值,而Z状结肠需要取一个指数,然后取一个逆,以此类推,所以效率有点低,更重要的是,Relu函数只在图的一部分变得平坦,左边这里完全是平的,Z状结肠激活功能,在两个地方变平,在图的左边,它平移到图的右边,如果用梯度下降来训练神经网络,当你有一个函数在很多地方都是平坦的,梯度下降会很慢,梯度下降优化了WB的成本函数J,而不是优化激活功能,但是激活函数是计算中的一部分,这导致在wb的成本函数j中有更多的位置,也是平的,坡度小,学习速度慢,研究人员发现,使用relu激活函数可以使你的神经网络学习得更快一点,如果你想决定隐藏层使用什么激活功能,Relu激活功能已经成为迄今为止最常见的选择。
总结一下,对于输出层,使用Z状结肠,如果有二进制分类问题,线性,如果y是一个可以具有正值或负值的数,或者使用relu,如果y只能取正值或零正值或非负值,对于隐藏的图层,只使用relu作为默认激活函数,在张量流中,与其说激活等于Z状结肠,对于隐藏的图层,要求TensorFlow使用relu激活函数,然后对于输出层,它使用Z状结肠激活功能,但是如果使用线性激活函数,该函数显示了它的语法。
有了这组更丰富的激活函数,将会很好的建立比上一次更强大的神经网络,仅使用Z状结肠激活功能。