为什么三层感知器能够解决任意区域组合的分类问题(不同隐层数的感知器的分类能力) categories: - ML (2)

为什么三层感知器能够解决任意区域组合的分类问题(不同隐层数的感知器的分类能力) categories: - ML

所以,两层感知器的结构为:

为什么三层感知器能够解决任意区域组合的分类问题(不同隐层数的感知器的分类能力) categories: - ML

隐层的结点第一个结果为通过g1映射得到,第二个为通过g2得到

为什么两层感知器的分类能力有限?

为什么三层感知器能够解决任意区域组合的分类问题(不同隐层数的感知器的分类能力) categories: - ML

由上图,我们假设区域中的点,如
(000,001,011)这三个区域

为什么三层感知器能够解决任意区域组合的分类问题(不同隐层数的感知器的分类能力) categories: - ML

我们可以先将区域中的点,通过y1,y2,y3三条直线映射到
000,001,....111(没有101),总共7个区域,前面我们是通过g1,g2映射到了平面上面的点,现在我们变成了三维,因此映射到了正方体的顶点,如果我们想将(000,001,011)这三个点与其余四个点分开的话,我们可以画出正方体,并且标出点,如下图所示:

为什么三层感知器能够解决任意区域组合的分类问题(不同隐层数的感知器的分类能力) categories: - ML

我们很容易找到一个平面将他分开,因此只需要两层感知器就可以实现分类

从y1 y2 y3到z需要让决策面为 z: y1 + y2 - y3 -1/2即可

x y1 y2 y3 z
x1,x2   0   0   0   0  
x1,x2   0   0   1   0  
x1,x2   0   1   0   1  
x1,x2   0   1   1   0  
x1,x2   1   0   0   1  
x1,x2   1   1   0   1  
x1,x2   1   1   1   1  

网络结构如下图所示:

为什么三层感知器能够解决任意区域组合的分类问题(不同隐层数的感知器的分类能力) categories: - ML

如果我们想将(000,111,110)中区域的点与其他区域分开,我们会怎么办呢?
区域图如下:

为什么三层感知器能够解决任意区域组合的分类问题(不同隐层数的感知器的分类能力) categories: - ML

我们也会先将点映射到正方体的三个顶点,然后我们画出000,111,110三个点,我们会发现,我们没有办法用一个平面将000,111,110三个点与其他区域分开,我们需要两个平面才能解决这个问题,因为我们需要添加一层隐藏层,因为我们遇到了线性不可分问题
所以,两层感知器的分类能力是有限的
下面我将讨论如何使用三层感知器来实现(000,111,110)中区域的点与其他区域分开

为什么三层感知器能够解决任意区域组合的分类问题?

与xor问题一样,我们会将

000 与其余6个区域分开

111 与其余6个区域分开

110 与其余6个区域分开
这样我们就会得到z1,z2,z3,再将z1,z2,z3输入感知器,我们只要将000与其他(100,010,001)分开即可 z: z1 + z2 + z3 -1/2

x y1 y2 y3 z1 z2 z3 z
x1,x2   0   0   0   1   0   0   1  
x1,x2   0   0   1   0   0   0   0  
x1,x2   0   1   0   0   0   0   0  
x1,x2   0   1   1   0   0   0   0  
x1,x2   1   0   0   0   0   0   0  
x1,x2   1   1   0   0   1   0   1  
x1,x2   1   1   1   0   0   1   1  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyfgj.html