您的位置:首页 > 理论基础 > 计算机网络

神经网络中的activation function到底扮演什么样的角色

2016-05-24 17:26 567 查看
参考Quora

为python作者Sebastian Raschka的回答

要回答这个问题,首先从线性回归(Linear Regression)说起,然后过度到逻辑回归(Logistic Regression),最后,过度到神经网络(Neural Network)

线性回归(Linear Regression)

所谓线性回归问题,就是针对某一个问题(例如:房价的预测问题),利用训练样本求解一个线性模型,然后利用这个线性模型去预测新的数据所对应的结果

例如:线性回归模型如下

net(x)=b+x1w1+x2w2+...xnwn=z{net}(x) = b + x_1w_1 + x_2w_2 + ... x_nw_n=z

逻辑回归问题(Logistic Regression)

将线性分类模型中的输出zz输入到一个非线性激活函数中:



这个activation function返回的是一个概率值(某一个样本属于类1的概率):P(y=1|x)P(y=1 | x)

接下来,在这个activation function后面添加一个step function,例如:



也就是说,如果activation function的输出大于0.5,就认为输入的样本属于类1,从而实现了分类

这个分类过程可以用下图来表示



逻辑回归模型是一个线性模型(虽然它使用了非线性activation function),因为它的分类面是线性的,下图给出了利用逻辑回归模型进行分类的一个例子:



可以看到,因为样本是线性可分的,所以逻辑回归模型的效果很好;

但当样本不是线性可分时,逻辑回归模型就没那么好的性能了,如下图所示的例子,样本为非线性可分,逻辑回归模型效果就不是很好了



那么,一个非线性分类器就是一个很好的选择了!例如:MLP!

Multi-layer neural network

下图是利用一个仅含有一个隐藏层的神经网络进行分类得到的结果,可以看到,MLP实现了非线性分类面的获取



下图是一个简单的MLP的结构,



该网络有:

三个输入单元:x0=1x_0 = 1 for the bias unit, and x1x_1 and x2x_2 for the 2 features (即二维坐标系中的点)

隐藏层含有200个neurons,分别带有一个activation function(图中只画出了3个)

输出层含有一个单元(是一个概率值)

总结来说:

逻辑回归分类器虽然具有非线性激活函数,但该模型仍旧是权值的线性组合,所以说,逻辑回归分类器是一个”generalized” linear model

activation function的角色:通过对网络的加权输入(weighted inputs)进行非线性组合产生非线性分类面

To sum it up, the logistic regression classifier has a non-linear activation function, but the weight coefficients of this model are essentially a linear combination, which is why logistic regression is a “generalized” linear model. Now, the role of the activation function in a neural network is to produce a non-linear decision boundary via non-linear combinations of the weighted inputs.

常用的激活函数如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: