单层感知机与多层前馈神经网络

来源:互联网 发布:银河历险记3 mac破解 编辑:程序博客网 时间:2024/05/21 10:16
单层感知机:
感知机是一个二元分类的线性模型。它采用海维赛德(Heaviside)阶跃函数作为激活函数。
海维赛德阶跃函数: x为‘门限值,如0.5’,y=0,否则y=1. 程序说法是: x<0.5?0:1
从神经元细胞借鉴的‘门限’和‘权重和’的概念是建模的关键。
向量xw的点积--》海维赛德阶跃函数(作为激活函数)--》分类0,1
XW+b, b为偏好。如果b为负,样本X一定,为使结果仍为0.5,要求W更大。
所以调整b可以调整决策边界。
输入X并不影响b,b通过感知学习算法获得。
单层感知机--》多层感知机。
单层感知机:输入--》(X点乘W)+b--》海维赛德阶跃函数--》分类结果
output = H(Wi · Ai + b),  H指海维赛德阶跃函数
感知学习算法:功能类拟于前面的更新函数,调整权重W和偏好b.
如果样本没有被线性划分,感知学习算法不会中止。
W初始化为小随机值或0.
XOR逻辑是线性不可分的。
x1 x2 y
0  0  0
0  1  1
1  0  1
1  1  0
早期感知机的限制:不能处理XOR等非线性问题,多层感知机可以。
单层感知机为什么不能分类线性问题,证明见:http://blog.csdn.net/panda07100/article/details/38580993
由于这个限制,导致AI第一次冬天,1974–1980,直到后来的反向传播算法。
单层感知机小结:
output = H(Wi · Ai + b),  H指海维赛德阶跃函数




多层感知机(多层前馈神经网络):
联系:多层感知机的每个神经元都‘类似’一个单层感知机。
区别:激活函数不再局限于海维赛德阶跃函数,因而形成现在广泛使用的神经元。单层感知机只有一个神经元,多层感知机有多个神经元。
人工神经元对输入的选择与过滤:
1. 连接权重weight: 指输入与神经元之间的连接权重。如果为0,则过滤掉该输入值。
2. 激活函数:如果激活值为0,则过滤掉所有输入。
input_sumi = Wi · Ai + b
ai = g( Wi · Ai + b), g指一个一般的激活函数。
激活值:也简称为激活,指输出值ai,这里容易与g的输入值混淆。
设激活函数为sigmoid激活函数:g (z) = 1/(1 + e−z),那么多层感知器就是逻辑回归logistic regression。
参见:http://blog.csdn.net/vagrantabc2017/article/details/77649673 中‘逻辑回归Logistic Regression’的说明。
通常,一层中的所有神经元的激活函数都是一样的。
权重w:线,或箭头,表示连接强度。
偏好b: 作用:不管input如何,因为有b,总有一些神经元被激活;允许网络尝试新的解释或行为。与w类似,在学习过程中被不断调整。
激活函数f: 统管神经元。
输入的传播是前向传播。
很多激活函数的值域是[-1,1]或[0,1].
如果激活函数输出了非0值到下一个神经元,称为‘被激活’。
激活函数是研究深度学习的一个重要部分。
与生物神经元的比较:
输入: 通过树突dendrites输入
点乘: 通过细胞体求和
激活函数:通过轴突完成激活函数
参见:http://blog.csdn.net/vagrantabc2017/article/details/77684112
前馈神经网络架构:
1. 一个输入层:有几个features,就有几个神经元,如x1,x2,x3。
2. 多个隐藏层:全连接(经典方式),是处理非线性分类的关键。
3. 一个输出层:可以是回归,也可以是分类,由输出层的激活函数的类型决定。常见的输出层激活函数是softmax或sigmoid激活函数。
softmax: 结果分为互斥的几类,输出归属这些类的分布。
sigmoid:为每一个类别输出一个概率。
4. 层之间的连接:在全连接中,连接指前一层所有神经元到后一层所有神经元的连接权重。使用反向传播学习算法找最优解。