逻辑运算

感知机」是一种神经网络,由两层神经元组成,能容易地实现逻辑与逻辑或逻辑非运算,也叫阈值逻辑单元。

img-2024-04-16 16-50-18.png

逻辑与

假设感知机的激活函数单位阶跃函数;当 以及 时,观察 分别取值为 时,感知机的输出为

0 0 g(-30) 0
0 1 g(-10) 0
1 0 g(-10) 0
1 1 g(10) 1

从而实现了逻辑与运算。

逻辑或

假设感知机的激活函数为前面的阶跃函数;当 以及 时,观察 分别取值为 时,感知机的输出为

0 0 g(-10) 0
0 1 g(10) 1
1 0 g(110) 1
1 1 g(30) 1

从而实现了逻辑或运算。

逻辑非

同理也可以实现逻辑非运算。当 以及 时,观察 分别取值为 时,感知机的输出为

0 / g(10) 1
1 / g(-10) 0

感知机学习

给定数据集,权值 以及阈值 可通过学习得到。由 视作权值 ,且 。则上式中可整合成

学习方法如下:对训练样例 ,若当前感知机的输出为 ,则感知机权重 按照如下方法来调整

其中 称为学习率(learning rate),通常取一个较小的正数。

  • 若预测正确,即 ,则 不发生变化
  • 若预测错误,则根据错误程度对 进行调整。

感知机只有输出层神经元进行激活函数处理,即指拥有一层功能神经元,其学习能力非常有限。事实上,上述与、或、非问题都是线性可分的问题。

可以证明,若两类模式是线性可分的,即存在一个线性超平面能将他们分开,则感知机的学习过程一定会「收敛」(Converge)而求得适当的权重向量 。对于非线性可分问题,其学习过程将发生「振荡」(Fluctuation),得不到合适的解。

要解决非线性可分,则需要考虑使用多层功能神经元构建多层神经网络