二、神经网络
第0层是输入层,最后一层是输出层,中间是中间层或隐藏层。上图中的网络有3层神经元,实质只有两层有权重,因此称为两层网络。
1、激活函数
感知器:y=0(b+w1x1+w2x2<=0)或y=1(b+w1x1+w2x2>0)改写为
y=h(b+w1x1+w2x2),h(x)=0(x<=0)或h(x)=1(x>0)
激活函数h(x):将输入信号的总和转换为输出信号的表达式,决定如何激活输入信号的总和。
上式中的激活函数是阶跃函数,只能返回0或1,而神经网络中的激活函数常用的是sigmoid函数和ReLU函数。
1'sigmoid函数
h(x)=1/(1+exp(-x))
和阶跃函数的对比:sigmoid是平滑的函数,输出随输入发生连续的变化,因此可以返回0-1之间的实数。
和阶跃函数的相同点:输入小时,输出接近0,输入增大时输出向1靠近,即当输入信号为重要信息时,都会输出较大值,且两者输出都在0-1之间。
2'ReLU函数
h(x)=x(x>0);h(x)=0(x<=0)
输入大于0时直接输出,输入小于0时输出0
总结:激活函数只能为非线性函数,因为线性函数的问题是多个隐藏层可以用一个隐藏层实现。例如h(x)=cx作为激活函数,y(x)=h(h(h(x)))对应的三层神经网络可以用一层表示y(x)=c^3x。如果要用叠加层则必须使用非线性函数。
全部0条评论
快来发表一下你的评论吧 !