【探讨】如何理解BP神经网络是黑箱模型

目录

一、BP神经网络简介

1.1 什么是BP神经网络

1.2 如何更具体地理解BP神经网络

二、 为什么说BP神经网络是黑箱模型

2.1 什么是黑箱模型

2.2 什么是非黑箱模型

2.3 为什么说BP神经网络是黑箱模型

三、BP神经网络的“黑箱”误区

3.1 误区1.黑箱是什么都不知道

3.2 误区2 所有神经网络都是黑箱

3.3 误区3 黑箱就是缺点

四、总结


  本文部分图片来自《老饼讲解-机器学习》

一、BP神经网络简介

1.1 什么是BP神经网络

BP神经网络是一种多层前馈神经网络,其特点是通过误差逆向传播算法进行训练。这种网络在1986年由Rumelhart和McClelland为首的科学家提出,是应用最广泛的神经网络模型之一。BP神经网络具有任意复杂的模式分类能力和优良的多维函数映射能力,解决了简单感知器不能解决的异或(Exclusive OR, XOR)和一些其他问题。从结构上讲,BP网络具有输入层、隐藏层和输出层;从本质上讲,BP算法就是以网络误差平方为目标函数、采用梯度下降法来计算目标函数的最小值。

BP神经网络的结构图如下:

1.2 如何更具体地理解BP神经网络

如果理解起来比较抽象,不妨看一个简单且常用的三层BP神经网络,它的结构如下:

它的模型表达式如下:

1.3 如何构建一个BP神经网络

在matlab实现一个BP神经网络如下:

x1 = [-3,-2.7,-2.4,-2.1,-1.8,-1.5,-1.2,-0.9,-0.6,-0.3,0,0.3,0.6,0.9,1.2,1.5,1.8];   % x1:x1 = -3:0.3:2;
x2 = [-2,-1.8,-1.6,-1.4,-1.2,-1,-0.8,-0.6,-0.4,-0.2,-2.2204,0.2,0.4,0.6,0.8,1,1.2]; % x2:x2 = -2:0.2:1.2;
y  = [0.6589,0.2206,-0.1635,-0.4712,-0.6858,-0.7975,-0.8040,...
          -0.7113,-0.5326,-0.2875 ,0,0.3035,0.5966,0.8553,1.0600,1.1975,1.2618];    % y: y = sin(x1)+0.2*x2.*x2;

inputData  = [x1;x2];      % 将x1,x2作为输入数据
outputData = y;            % 将y作为输出数据
setdemorandstream(88888);%指定随机种子,这样每次训练出来的网络都一样。

%使用用输入输出数据(inputData、outputData)建立网络,
%隐节点个数设为3.其中隐层、输出层的传递函数分别为tansig和purelin,使用trainlm方法训练。

net = newff(inputData,outputData,3,{'tansig','purelin'},'trainlm');

%设置一些常用参数
net.trainparam.goal = 0.0001;               % 训练目标:均方误差低于0.0001
net.trainparam.show = 400;                  % 每训练400次展示一次结果
net.trainparam.epochs = 15000;              % 最大训练次数:15000.
[net,tr] = train(net,inputData,outputData); % 调用matlab神经网络工具箱自带的train函数训练网络

simout = sim(net,inputData);                % 调用matlab神经网络工具箱自带的sim函数得到网络的预测值
figure;                                     % 新建画图窗口窗口
t=1:length(simout);
plot(t,y,t,simout,'r')                      % 画图,对比原来的y和网络预测的y

 运行结果:

关于更多的BP神经网络的介绍可以参考老饼的文章:

老饼|BP神经网络icon-default.png?t=N7T8https://www.bbbdata.com/nn

二、 为什么说BP神经网络是黑箱模型

2.1 什么是黑箱模型

黑箱模型是指一些其内部规律还很少为人们所知的现象,如生命科学、社会科学等方面的问题。由于因素众多、关系复杂,这些模型可简化为灰箱模型来研究。黑箱模型是环境预测工作中应用较多的一类模型,它是根据输入—输出关系建立起来的,反映了有关因素间的一种笼统的直接因果关系。用于环境预测的黑箱模型,只涉及到开发活动的性质、强度与其环境后果之间的因果关系。如果未来的变化超出一定的范围,用这类模型的可靠性明显下降。黑箱模型本身不能表述过程。若能得到较多符合实际要求的数据时,应用黑箱模型进行环境预测还是适合的。特别是涉及到开发活动对环境中化学过程、生物过程、社会经济过程等的影响时,限于研究水平往往采用这种模型。

2.2 黑箱模型与非黑箱模型的区别

一个非黑箱模型,每个参数都具有背景意义,并且X与Y之间遵循一定特性的关系。以线性回归为例,X和Y之间是线性关系,这是模型的前提,并在这基础条件下,才推导出了模型Y=WX,而模型中的W就是每个变量对Y的影响系数 。

2.3 为什么说BP神经网络是黑箱模型

BP神经网络属于典型的黑箱方法。可以从它的表达式看到,BP神经网络内部参数没有物理意义,也很难找出参数与模型输出向量之间的关系。可以纯粹的理解它就只是X,Y之间的关系的黑箱拟合。

这与BP神经网络的背景意义是有关的,因为它并非根据X与Y之间的关系而构建出来的模型,而是通过设计一个通用的模型,来学习各种各样的关系。

这就注定了BP神经网络必然属于黑箱模型。因为它越万能,就越只能黑箱。例如线性模型,必然只能拟合线性关系,S型模型,只能拟合S型关系。在设定了一定的物理背景意义的前提下,必然就限制了模型的一些形态,因此,黑箱是BP神经网络的强大,同时也是它的弱点--没有背景意义的支撑。

三、BP神经网络的“黑箱”误区

3.1 误区1.黑箱是什么都不知道

往往因为说BP神经网络是黑箱模型,就认为BP神经网络内部完全不可知。事实上,BP神经网络之所以被称为黑箱,是因为它们的内部机制通常很难解释。但这并不代表我们对它一无所知,或者毫无掌控。我们可以根据它的数学表达式进行分析,同时也可以把每一层的输出值拎出来进行分析,或者根据它的函数特性来进行分析,这些都是可控、可分析。并非一片黑。

3.2 误区2 所有神经网络都是黑箱

BP神经网络是黑箱,但并不代表所有神经网络都是纯黑箱。例如卷积神经网络,卷积层就是具有“视野”这样的意义的。所以如果一定要说,那卷积神经网络最多只能算半黑箱。但离不开黑箱是必然的,因为越强大,就注定不能限制得太死,必须预留一些“黑”的空间。

3.3 误区3 黑箱就是缺点

黑箱并不完全是缺点,因为对X与Y的关系一无所知时,我们就只能使用黑箱模型。不像线性模型,必须建立在X与Y是线性关系的基础, 黑箱使得我们可以毫不知情就能够使用模型。也正因为这一开放的优点,BP神经网络之后又拓展出了深度学习之类的“自动学习特征”这一系列的模型,减少在复杂关系下的人工处理,得以使复杂关系能够落地实施。

四、总结

BP神经网络之所以被称为黑箱,是因为它们的内部机制通常很难解释。神经网络通常由许多层神经元组成,每个神经元都执行一些数学运算,并将结果传递到下一层。这些层之间的复杂交互很难解释,因为每个神经元的作用取决于许多因素,包括其输入和其连接的其他神经元的权重。当神经网络接收输入并生成输出时,中间的过程通常很难理解。这是因为神经网络的决策是通过一系列复杂的数学运算得出的,这些运算往往涉及许多隐藏层和节点,其中每个节点都可能对最终结果产生影响。而且,神经网络的学习过程也是一个黑箱,当神经网络被训练时,会通过调整其内部参数来最小化训练数据和实际输出之间的差异,但是这些内部参数的值通常很难直接解释,因此不能很好地理解神经网络的学习过程。

因此,BP神经网络的黑箱特性使得人们难以理解其内部的工作机制和决策过程。这也是神经网络和其他机器学习模型在应用中的一个共同挑战。尽管有这些困难,但是BP神经网络在许多领域都取得了成功的应用,包括图像识别、语音识别、自然语言处理等。


写文不易,点赞收藏吧~!

  • 57
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值