首页 > 技术文章 > 感知器与多层感知机

aios 2018-08-27 08:46 原文

感知器 (perceptron)

神经网络中一种模拟神经元(neuron)的结构,有输入(input)、输出(output)、权重(weight)、前馈运算(feed forward)、激活函数(activation function)等部分。单层感知器能模拟逻辑与、逻辑或、逻辑非和逻辑与非等操作,但不能实现逻辑异或!

 

激活函数可以表示为:

其中 x 作为输入, w 是对应输入 x 的权重向量,b 为偏置,y是预期计算结果;通常把偏置b作为 w 中一个值,增加一个对应的模拟输入 x ,使 x 恒等于1来模拟该表达式,方便矩阵运算。

括号中的数值加和称作感知器的前馈运算,即还没有进入激活函数进行计算的结果,写作logit或者logits。

 

一个简单的单层感知器可以如下图所示:

 

 使用step-function, 感知器计算方法如下:

 

当前常用的部分的激活函数如下所示,其中阶段函数(step-function)现在基本不用了,通常使用非线性函数(真实环境就是一个非线性的):

 

多层感知机(multi-layer perceptron)/神经网络(neural network)

1. 相比于感知器,引入了隐层(hidden layer)概念;

    隐层, 不包括输入层和输出层,在输入层和输出层中间的所有N层神经元就称作隐层!通常输入层不算作神经网络的一部分,

对于有一层隐层的神经网络,叫做单隐层神经网络或二层感知机;对于第L个隐层,通常有以下一些特性:

    a) L层的每一个神经元与 L-1 层的每一个神经元的输出相连;

    b) L层的每一个神经元互相没有连接;

2. 引入了新的非线性激活函数(sigmoid/tanh等)

3. 反向传播算法(back propagation)

4. 优化算法(梯度下降,随机梯度下降,mini-batch)

推荐阅读