模式识别:BP神经网络算法

1、BP神经网络分类器

1.1 BP算法基本原理

神经网络结构大概如下图1-1:

                                                                                                  图1-1

包括输入层,隐层和输出层。包含一层隐层的神经网络称为浅层神经网络,即SNN。包含多层隐层的神经网络称为深度神经网络,即DNN。理论上说单隐层神经网络可以逼近任何连续函数(只要隐层的神经元数足够多)。但从数学表达能力上,多隐层的神经网络工程效果更好。但过多的隐层和神经元节点,会带来过拟合问题。不要试图通过降低神经网络参数量来减缓过拟合,用正则化或者dropout。

1.2 神经网络之传递函数(激活函数)

对输入进行非线性变换,常用的传递函数,也是本实验所使用的,即S函数(sigmoid): f(x)=\frac{1}{1+e^{-x}}

其作用在每个隐层与输出层。正如大脑中的神经网络,并非所有的外界信号都能引起我们强烈的反应。S函数的作用往往会对信号进行相应的筛选,放有用的信号通过神经元,将无用的信号压缩为零。对于通过的信号,控制其以多大的程度通过 。

1.3 算法公式推导

神经网络之BP算法:正向传播求损失,反向传播回传误差。根据误差信号修正每层的权重 与偏置

以3层感知器为例,来进行BP算法推导。其结构如图1-2:

                                                                                                      图1-2

计算某一层的第j个单元,i和k分别为其前层和后层的单元,O_j代表本层输出,net_j为输入。

j的输入: net_j=\sum_{i}w_{ij}O_i

j的输出:O_j=f(net_j)

输出层误差: E=\frac{1}{2}(d-O)^2=\frac{1}{2}\sum_{k=1}(d_k-O_k)^2

误差展开至隐层 :E=\frac{1}{2}\sum_{k=1}^{n3}[d_k-f(net_k)]^2=\frac{1}{2}\sum_{k=1}^{n3}[d_k-f(\sum_{j=1}^{n2}w_{jk}O_j)]^2

展开至输入层 :

  • 10
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值