深入理解**函数
为什么需要非线性**函数?
说起神经网络肯定会降到神经函数,看了很多资料,也许你对**函数这个名词会感觉很困惑, 它为什么叫**函数?它有什么作用呢?
看了很多书籍上的讲解说会让神经网络变成很丰富的算法, 还有的会说让神经网络的表达能力更强大了, 是不是很笼统,看到这些不要烦躁,要有耐心。
国内学习深度学习,我看多最好的课程,能看的明白的还是吴恩达的课程,单同学对于一些英语水平比较低的同学, 学起来可能会比较吃力,即时有字幕可能还是回错过一些关键点,而且学习起来会比较枯燥。这里我还是推进结合一些比较详细的Ng教授的课程笔记来看。这样看起来会比较详细,也更容易理解。
言归正传还是看看为什么要有**函数?来证明一下:
现在我们去掉**函数g
令 :
- (1)
- (2)
将式子(1)代入式子(2)中,则:
- (3)
简化多项式
如果你是用线性**函数或者叫恒等激励函数,那么神经网络只是把输入线性组合在输出。
在深度网络中, 即有很多层隐藏层, 如果你使用线性**函数或者没有使用一个**函数,那么无论你的神经网络有多少层一直在做的只是计算性函数,所以不如直接去掉所有隐藏层。
总结: 不能再隐藏层线性**函数,可以使用ReLU 或者tanh。
非线性**函数对于神经网络十分关键。