感知器与多层感知机
感知器 (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)
Excellence, is not an act, but a habit.
作者:子厚.
出处:http://www.cnblogs.com/aios/
本文版权归作者和博客园共有,欢迎转载、交流、点赞、评论,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。