探析神经网络

前言:神经网络的研究早在20世纪40年代就已经开始了,发展到今天形成了庞大的体系并且具有多学科交叉的特点。

一、神经元模型

由于神经网络具有多学科交叉的特点,所以对于神经网络的定义不一。我们采用最广泛的一种定义,即由Kohonen于1988年提出的:神经网络(neural networks)是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。

下面我们来看看经久不衰的M-P神经元模型。
在这里插入图片描述
为了便于理解,我对这个模型做一个简单的解释:n个神经元分别产生各自的输入x1、x2······xn,各自附有连接权重w1、w2······wn,输入值与接收的神经元阈值seta进行比较,通过激活函数产生输出。

常见的激活函数:

1.阶跃函数

在这里插入图片描述
在这里插入图片描述

x= linspace(0,1,101);
y = [zeros(1,50),ones(1,51)];
plot(x,y);

2.sigmoid函数

在这里插入图片描述

在这里插入图片描述

x= [-100:0.1:100];
y=1./(1+exp(-x) );
plot(x,y);

3.tanh函数

……另外激活函数还有很多这里就不一一列举了。需要指出的是单位阶跃函数是我们理想的激活函数,但由于其不是很光滑,性质不是很好,大多数情况下我们使用其他函数来代替单位激活函数。

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

为了更好地理解感知机与多层网络,我们首先可以建立逻辑与、或、非、异或、或非、与非的概念。

与:当所有输入条件同时满足1,输出1;输入条件只要有0即输出0。

或:输入条件有1即输出1;一个1也没有才输出0。

非:输出结果与输入条件取反。即0为1,1为0。

异或:对于两个输入门,输入条件相同为0,不同为1

或非:对于两个输入门,两输入条件都不为1时输出1;否则输出0。

与非:当输入条件都为1时反而输出0。

1.感知机

(1)定义

感知机由两层神经元组成,即输入层接受外界信号后加权传递给输出层。

(2)工作

我们知道在这里插入图片描述
假定f为单位阶跃函数,通过控制权重和阈值可以实现逻辑与或非运算。那么我们很容易想到,权重和阈值如何确定呢?
答案是“学习”。其实阈值可看作固定输入为-1的“哑结点”,对应的连接权重为Wn+1,这样的话“学习”就等同于对于权重的学习。遵循“知错就改”的学习规则,即:
在这里插入图片描述
在这里插入图片描述
其中η(0<η<1)成为学习率,感知机根据估计值的错误程度进行调整。

2.多层前馈神经网络

实际上,感知机仅有一层功能神经元,即仅有输出层进行激活函数处理,能力有限,对于解决异或等逻辑问题显得能力不足。

先来谈谈线性可分与非线性可分问题:
此处就不给出严密的定义了,线性可分即为用一个线性超平面可以将两类模式分开,反之即为非线性可分。

对于异或问题,有:
在这里插入图片描述
只能用两个线性超平面将两类分割,这样,我们原有的具有两层神经元的感知机就要扩展层数了,发展为多层神经网络,引入的层处于输入层和输出层之间,称为隐层,那么就有单隐层前馈网络与双隐层前馈网络。如果网络拓扑结构上不存在环或者回路,那么称之为多层前馈神经网络。

三、BP算法

要发展多层神经网络,就必须有强大的算法支撑,毕竟感知机的“知错就改”型学习规则太简单了。下面我们来看看至今为止最成功的神经网络算法——误差反向传播法。
对于具体的推导,方法不一,入手角度也不一,我用隐层到输出层的权重推导了1h,十分复杂,很容易就搞错了符号和下标。
推荐:[https://blog.csdn.net/u010858605/article/details/69857957]
关于累积BP与标准BP:
首先我们应该明确,BP算法的目标是最小化训练集上的累积误差,但标准BP算法每次只针对单个训练样例更新权重,更新显得更加频繁,处理更加复杂,时间也较长,并且不同次更新可能互相抵消。累积BP算法针对累积误差最小化,处理速度较快,但在某些问题中,累积误差减小到一定程度后难以下降,这时标准BP算法可能就取得较好的解。

四、对于某些问题的解决

1.过拟合问题

由于神经网络的功能实在是太强大了,其往往遭遇过拟合问题,指的是模型对于训练集高度拟合,但对于测试集的测试误差却不断升高。那么如何解决呢?

(1)早停

将数据集分为训练集和验证集,若训练集误差降低但验证集误差上升那么停止训练,同时返回具有最小验证集误差的连接权和阈值

(2)正则化

正则化的方法也不一,但基本思想都是一致的,即在误差目标函数中增加一个用于描述网络复杂度的部分,误差由经验误差和网络复杂度加权求和决定。
其实通俗地理解正则化就是使参数矩阵变得稀疏,淡化或忽略某些特征的影响,因而缓解了过拟合现象。

2.跳出局部最小

我们欲求寻找一组合适的参数使得误差目标函数取得全局最小,这是一个参数寻优过程。我们知道,全局最小一定是局部最小,局部最小却不一定是全局最小。有时我们可能陷入了局部最小,这个问题需要解决。

(1)模拟退火

(2)随机梯度下降

(3)遗传算法

·······
另外需要指出的是,这些算法均为启发式算法,缺乏数学保障。

五、其他常见神经网络

1.RBF网络

2.ART网络

3.SOM网络

4.Elman网络(递归神经网络)

5.级联相关网络

神经网络、机器学习、深度学习……发展实在是太快了,持续更新ing

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caiggle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值