半嘴舰长瞎琢磨记录
关于人工神经网络的瞎琢磨
文号D1869266
138
0
收藏
编辑文章

《感知机:计算几何导论》中的奇偶校验与异或的关系

关键词

感知机奇偶校验异或

PerceptronParity checkXOR

在人工智能领域的经典著作《感知机:计算几何导论》中,作者通过一个单纯的感知机无法解决异或问题,由此提出奇偶校验的例子作为示范。本文将首先证明感知机无法处理异或问题,接着证明奇偶校验与异或是等价的,最后提出解决方法。

1.感知机无法处理异或问题

在前一篇文章中,通过联通问题的例子,可以知道无法通过找到一个阈值来对四个点进行划分:IMG_20260824_223713.jpg

可以发现θ5作为信号强度的阈值,无法通过上下移动将四个信号强度进行正确的划分。

感知机实际上就是在找一个超平面对空间中的点进行划分:IMG_20260824_223727.jpg

可以发现,无论如何绘制这条直线,都无法对四个点进行划分。

以下是更严格的证明。实际上,在上一篇文章中采用的就是这样的证明方法:IMG_20260824_223747.jpg

通过矛盾,从而证明无法找到一组这样的参数。如此一来,就证明了感知机无法处理异或问题。

2.奇偶校验与异或

奇偶校验是指一串由0和1构成的数组中,如果1的个数为奇数,则输出1,如果为偶数,则输出0,只需要证明对数组当中的元素使用异或运算会得到同样的结果。

异或运算满足交换律和结合律,那么就可以将数组中的元素调整为一边都是1,另一边都是0,最终的结果是看都是1的那一边,因为不论是1还是0,当其与0做异或,最终的结果取决于其是什么,与0没有关系。

接着,使用结合律将1两两为一组进行异或,计算结果都为0,如果1为奇数个,那么最终必然会有一个1剩下,那么这个数组当中将只存在一个1,其他都为0,输出结果就为1,同理,如果1为偶数个,那么数组当中的元素全部为0,最终输出就是0。

这与奇偶校验的结果是一致的,以下举了一个具体的例子:

IMG_20260824_223806.jpg

3.二阶项与两层感知机

或、与、与非,三种运算对应的公式与感知机的关系:

IMG_20260824_223831.jpg

书中提到,引入二阶项,可以使感知机能处理异或。

异或可以用与或非来表达:IMG_20260824_224114.jpg

这里的x1·x2,被称作二阶项,这就使得感知机接收的信号输入当中有x1·x2的交互信息,这就不是一个单纯的感知机了,因为这实际上就是在感知机接受信号之前,信号被另一个东西处理过了。

使用这种方法,感知机需要接收2n个信号,即使以如今的计算能力而言,这都是极为恐怖的,因为即使输入是一个10×10的低分辨率图片,感知机要处理2100个信号。如果沿着这条路发展下去,或许会出现“核技巧”。

另一种方法,就是使用两层的感知机,先对输入数据进行与非、或,再进行与:IMG_20260824_224132_edit_7976835034302603.jpg

但是用于调整多层感知机参数的可行算法没有出现,这是一条在当时更不可行的路。不过随着反向传播算法被再次发现并使用,显然这是一条更正确的路。

顺带一提,决策树也能用于解决异或问题。

1
半嘴舰长瓦图姆 作者
2个月8天前 IP:江苏
D1869285

电脑不在身边,手绘图将就着看吧1f643

想参与大家的讨论?现在就 登录 或者 注册。

主体信息
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:江苏
 文章分类
 内容统计
2026年08月
2 篇
ID: {{ user.uid }}
投诉或举报
加载中...
{{ tip }}
请选择违规类型:
{{ reason.type }}

空空如也

加载中...
回复
设为精选取消精选
评学术分
鼓励
编辑
查看历史
通过审核
移动文章
加入收藏取消收藏
退修或删除
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{ format('YYYY/MM/DD HH:mm:ss', toc) }}
回复
加入收藏取消收藏