1700508478
11.9.4 非线性分类
1700508479
1700508480
神经网络最强大的地方在于它对复杂的线性不可分问题的处理能力,这是SVM无法企及的,也是神经网络最大的优势。在深度神经网络(深度学习)领域,通过对网络进行合理的设计,通常能够对音乐、图像、视频等模式识别领域的分类有比较好的召回率和准确率。
1700508481
1700508482
为什么深度神经网络有这么好的非线性分类能力呢?我们来看看样本通过网络的时候究竟发生了什么。
1700508483
1700508484
如图11-44所示,在一个二维空间中有一个六角形,如果要用普通的线性0, 1分类器对这样一个“不规则”图形做分类,是无论如何都找不到一条(一个)可以把空间恰好分为两部分的直线(超平面)的——一部分是组成六角形的部分,另一部分不是组成六角形的部分。这种情况下的BP网络应该怎么设计呢?
1700508485
1700508486
1700508487
1700508488
1700508489
图11-44 非线性分类
1700508490
1700508491
我们可以考虑设计一个3层的神经网络(如图11-45所示),输入层只有2个神经元,分别接收x和y的坐标值。隐含层有2层,在物理上可以解释为拟合出l1到l6各自的表达式,以及相互之间的“与”或“非”关系。输出层有1层,用来最终输出0(否)或1(是)。
1700508492
1700508493
1700508494
1700508495
1700508496
图11-45 3层BP网络
1700508497
1700508498
这样一个六角形区域中的点应该怎样表示呢?
1700508499
1700508500
设6个超平面的表达式分别为l1(x, y)、l2(x, y)、l3(x, y)、l4(x, y)、l5(x, y)和l6(x, y),则这个六角形可以转化成中心的1个正六边形和旁边的6个正三角形的表达式的并集,即
1700508501
1700508502
1700508503
1700508504
1700508505
能够表达这样一种关系的神经网络是很容易设计的。
1700508506
1700508507
从理论上讲,这个网络中所拥有的VC维已经足够把刚刚的非线性分类问题转换成线性分类和“与”或“非”判断的问题组合了。单个神经元的工作方式是线性分类器的工作方式,这个观点刚刚已经讨论过了,那么“与”或“非”计算是怎么实现的呢?
1700508508
1700508509
对于一个有2个维度输入的神经元来说,“与”运算的构造要达到如表11-8所示的效果。
1700508510
1700508511
表11-8 与运算
1700508512
1700508513
维度1输入 维度2输入 输出 1 1 1 1 0 0 0 1 0 0 0 0 那么,分别构造一个w和一个b,使其满足上面这个约束,其实也很容易。取w=[20,20],b=-30(取法不止1种)。
1700508514
1700508515
1700508516
带入,会得到如表11-9所示的结果。
1700508517
1700508518
1700508519
表11-9 输入与输出(1)
1700508520
1700508521
1700508522
维度1输入 维度2输入 输出 1 1 10 1 0 -10 0 1 -10 0 0 -30 对这样的结果,通过Sigmoid激励函数很容易得到与期望一致的1和0的输出结果。
1700508523
1700508524
同样,构造一个“或”关系计算也很容易,如表11-10所示。
1700508525
1700508526
表11-10 或运算
[
上一页 ]
[ :1.700508477e+09 ]
[
下一页 ]