多层感知机实现异或逻辑需要几个隐含层?


多层感知机实现异或逻辑需要几个隐含层?_第1张图片
image.png

多层感知机实现异或逻辑需要几个隐含层?_第2张图片
image.png

对于单隐层感知机,要多少隐含节点才能实现n元输入的任意布尔函数?
---

考虑二元输入,有以下五元六范式:

多层感知机实现异或逻辑需要几个隐含层?_第3张图片
image.png
多层感知机实现异或逻辑需要几个隐含层?_第4张图片
image.png

用卡诺图可以表示析取式,从而化简布尔函数:

多层感知机实现异或逻辑需要几个隐含层?_第5张图片
四元 4节点 两层

对于单隐层的感知机,最差的情况下需要多少个隐藏节点呢? -- 即求最大不可规约的卡诺图

多层感知机实现异或逻辑需要几个隐含层?_第6张图片
image.png

n元布尔函数需要个隐节点。

对于多隐层,要多少隐含节点才能实现n元输入的任意布尔函数?
--- 3(n-1)个

考虑二元输入的情况,需要 3 个额外结点可以完成次异或操作,真中隐藏层由两个节点构成,输出层需要一个结点,用来输出异或的结果并作为下一个结点的输入。 对于四元输入,包含三次异或需要 3×3=9个节点即可完成。

多层感知机实现异或逻辑需要几个隐含层?_第7张图片
二元 3节点 2层
多层感知机实现异或逻辑需要几个隐含层?_第8张图片
四元 9节点 6层 (还有优化空间)

在上面所举的例子中, n 元异或所需的 3(n-1)个结点可以对应2(n-1)个网络层(包括隐含层和输出层 )。实际上,层数可以进一步减小。考虑到四元的输入 W、 X、 Y、 Z;如果我们在同一层中计算 和, 再将二者的输出进行异或,就可以将层数从 6 降到 4。 根据二分思想 3 每层节点两两分组进行异或运算,需要的最少网络层数为 (向上取整)

你可能感兴趣的:(多层感知机实现异或逻辑需要几个隐含层?)