神经元模型
+神经网络定义:具有适应性的简单单元组成的广泛并行互联网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。是机器学习与神经网络这两个学科的交叉部分。
+神经元模型:一种简单单元,M-P神经模型如下图:
+具体描述:神经元接收到来自n个其他的神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“**函数”处理以产生神经元的输出。
将许多这样的神经元按照一定的层次连接起来即为神经网络。
感知机与多层神经网络
+感知机:由两层神经元组成,输入层接受外界输入信号以后传递给输出层,输出层是M-P神经元。可以很容易的实现逻辑“或与非”,结构如下图:
一般情况下,权重
调整策略:
若感知机对训练样例(x,y)预测正确,即
+学习过程收敛
注感知机的与或非问题都是线性可分问题,可以用一个超平面将他们分开
两层感知机解决异或问题:
f函数为 sigmoid函数
|
|
|
|
|
|
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 1 | 1 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 0 | 0 |
满足
多层前馈网络:
前馈:网络拓扑结构不存在环或回路。
多层网络:一定包含隐层
神经网络的学习过程:根据训练数据来调整神经元之间的“连接权”以及每个功能的阈值。
误差逆传播算法(反向传播算法,BP算法)
给定训练集:
定义如下变量:
d:输入神经元个数
l:输出实值向量个数
q:隐层神经元个数
图示:
对训练集
则网络在
需要确定的参数:
+输入层到隐层的权值q*d个
+隐层到输出层的权值q*l个
+隐层的阈值q个
+输出层的阈值l个
更新公式:对任一参数v:
BP算法求解策略:梯度下降法
(http://blog.csdn.net/loveitlovelife/article/details/78991472)
例:对隐层到输出层的权值调整:
其中,
则:
其中:
++由2式:
++
++由于1式为sigmoid函数,且函数有如下性质f’(x)=f(x)(1-f(x)),
则:
令:
类似可得:
http://blog.csdn.net/loveitlovelife/article/details/79075076
其中:
BP算法执行以下操作:
过程:
1. 在(0,1)范围内随机初始化网络中所有连接权和阈值
2. repeat
3.
4.
5.
6.
7.
8.
9. until 达到停止条件
输出:连接权与阈值确定的多层前馈神经网络
累积误差:
若基于累积误差最小化的更新规则,则得到累积BP算法,与标准的BP算计法相比:
未解决的问题:设置隐层神经元的个数,实际应用中常用“试错法”调整。
过拟合解决办法:BP神经网络场遭遇过拟合,因此有以下两种方法解决过拟合:1.“早停(early stopping)”:当训练集误差变小,测试集误差上升时,停止训练,返回连接权和阈值;2.“正则化(regularization)”:在误差目标函数中增加用于描述网络复杂度的部分,例如连接权与权值的平方和(L2范数),此时误差目标函数为:
全局最小和局部最小
+概念:
全局最小:所有点误差函数不小于该点函数值。
局部最小:邻域误差函数值不小于该点的函数值。
+寻优过程希望找到全局最小点
在BP算法寻找最小值过程中,若误差函数的梯度在当前点为0,则达到局部极小,未达到全局最小。
+达到全局最小的策略方法(启发式,无理论保障):
1.
2.
3.
4.