神经网络
什么是神经网络,最简单的神经网络是线性组合wx+bwx+bwx+b,加激活函数ϕ(wx+b)\phi(wx+b)ϕ(wx+b),就构成一个神经元,多个神经元构成一层网络,多层网络就是深度学习,神经网络。
神经网络计算了属于每个类的概率,选择概率最大的就是应该属于的那个类。总结就是,神经网络计算的是p(y∣x)p(y|x)p(y∣x),即对于输入xxx,计算属于每个类的概率,选择概率最大的那个类。
如何选择下一层神经元的个数捏?This is really a fantistic job. I don’t know now.
CNN,RNN都是是神经网络的一种。
激活函数
神经网络的激活函数,使得神经网络可以处理非线性问题。
如果不能选择合适的激活函数,很难看到优化效果。
常用的激活函数有:
反正切函数:tanh(z)tanh(z)tanh(z)
sigmoid函数:g(z)=11+e−zg(z)=\frac{1}{1+e^{-z}}g(z)=1+e−z1
relu: g(z)=max(z,0)g(z)=max(z,0)g(z)=max(z,0)
不知道名字是怎么起的,大家都这么叫,那就这么叫吧!选择这些函数作为激活函数是因为这些函数是可导的,且导数容易获得,这在反向传输计算权重的时候是很重要的。同时可导的函数具有很多优良的性质。网络加深是,反向传输会导致梯度爆炸、梯度消失的问题,这时候relu可以有效的避免这个问题,因为relu的导数是1和0。