![深度学习从0到1](https://wfqqreader-1252317822.image.myqcloud.com/cover/588/39479588/b_39479588.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.7 单层感知器分类案例
题目:假设我们有4个2维的数据,数据的特征分别是(3,3),(4,3),(1,1),(2,1)。(3,3)和(4,3)这两个数据的标签为1,(1,1)和(2,1)这两个数据的标签为-1。构建神经网络来进行分类。
思路:我们要分类的数据是二维数据,所以只需要2个输入节点(一般输入数据有几个特征,我们就设置几个输入神经元),我们可以把神经元的偏置值也设置成一个输入节点,使用3.2.3小节中的方式,这样我们需要3个输入节点。
输入数据有4个:(1,3,3),(1,4,3),(1,1,1),(1,2,1)。
数据对应的标签:(1,1,-1,-1)。
初始化权值w1,w2,w3:取0~1的随机数。
学习率lr(learning rate):设置为0.1。
激活函数:sign函数。
我们可以构建一个如图3.7所示的单层感知器。
![](https://epubservercos.yuewen.com/3560BA/20637463908664506/epubprivate/OEBPS/Images/41193_57_1.jpg?sign=1739343563-23IPPTUhBUTB4Q0oD6j6RQ5sb0F6afPp-0-490302e5067b27de1bd1443e7b9d8e5a)
图3.7 单层感知器
如代码3-3所示为单层感知器应用案例。
代码3-3:单层感知器应用案例
![](https://epubservercos.yuewen.com/3560BA/20637463908664506/epubprivate/OEBPS/Images/41193_57_2.jpg?sign=1739343563-kyaQGi62Grp4O5fAEI4kajBFHtznScqc-0-2aa31ed3f3f314b70ca67e17b4361a31)
![](https://epubservercos.yuewen.com/3560BA/20637463908664506/epubprivate/OEBPS/Images/41193_58_1.jpg?sign=1739343563-xQp8pbRCHiQy5T5l3UisFGDqB0w5zLoU-0-e552429cc5443c34766f2248ea1b7cbc)
![](https://epubservercos.yuewen.com/3560BA/20637463908664506/epubprivate/OEBPS/Images/41193_59_1.jpg?sign=1739343563-JBEcn7mAoLLncZMZMLfRlQZfcRVGnHDI-0-64f1a54cccb2ed64aac54153ab6acdca)
运行结果如下:
![](https://epubservercos.yuewen.com/3560BA/20637463908664506/epubprivate/OEBPS/Images/41193_59_2.jpg?sign=1739343563-k2zRgVWP14iGUIHNKiQAczsMc7jUzV1U-0-2dfa39c1bd10d654e857907358009440)
因为权值的初始化使用的是随机的初始化方式,所以每一次训练的周期和画出来的图可能都是不一样的。这里我们可以看到单层感知器的一个问题,虽然单层感知器可以顺利地完成分类任务,但是使用单层感知器来做分类的时候,最后得到的分类边界距离某一个类别比较近,而距离另一个类别比较远,并不是一个特别理想的分类效果。图3.8中的分类效果应该才是比较理想的分类效果,分界线在两个类别比较中间的位置。
![](https://epubservercos.yuewen.com/3560BA/20637463908664506/epubprivate/OEBPS/Images/41193_60_1.jpg?sign=1739343563-yXawILLfsdtVkPleGwowHFo1GSQvhdtj-0-7a08ea35a954e0ca965f0a7fdb7fe199)
图3.8 单层感知器比较理想的分类边界