打字猴:1.70053791e+09
1700537910    Z = − Z1− Z2+1
1700537911
1700537912   0 
1700537913
1700537914   1 
1700537915
1700537916   0 
1700537917
1700537918   0 
1700537919
1700537920   0 
1700537921
1700537922   1 
1700537923
1700537924   0 
1700537925
1700537926   0 
1700537927
1700537928   1 
1700537929
1700537930   1 
1700537931
1700537932   0 
1700537933
1700537934   0 
1700537935
1700537936 问题2 如果只使用一个隐层,需要多少隐节点能够实现包含n元输入的任意布尔函数?
1700537937
1700537938 难度:★★★☆☆
1700537939
1700537940 分析与解答
1700537941
1700537942 包含n元输入的任意布尔函数可以唯一表示为析取范式(Disjunctive Normal Form,DNF)(由有限个简单合取式构成的析取式)的形式。先看一个n=5的简单示例
1700537943
1700537944
1700537945
1700537946
1700537947 (9.2)
1700537948
1700537949 在式(9.2)中,最终的输出Y可以表示成由6个合取范式所组成的析取范式。该函数可由包含6个隐节点的3层感知机实现,如图9.2所示。
1700537950
1700537951
1700537952
1700537953
1700537954 图9.2 用多层感知机实现由6个合取范式组成的析取范式
1700537955
1700537956
1700537957 首先证明单个隐结点可以表示任意合取范式。考虑任意布尔变量假设Xi,若它在合取范式中出现的形式为正(Xi),则设权重为1;若出现的形式为非(i),则设权重为−1;若没有在合取范式中出现。设权重为0;并且偏置设为合区范式中变量的总数取负之后再加1。可以看出,当采用ReLU激活函数之后,当且仅当所有出现的布尔变量均满足条件时,该隐藏单元才会被激活(输出1),否则输出0,这与合取范式的定义的相符的。然后,令所有隐藏单元到输出层的参数为1,并设输出单元的偏置为0。这样,当且仅当所有的隐藏单元都未被激活时,才会输出0,否则都将输出一个正数,起到了析取的作用。
1700537958
1700537959 我们可以使用卡诺图表示析取式,即用网格表示真值表,当输入的合取式值为1时,则填充相应的网格。卡诺图中相邻的填色区域可以进行规约,以达到化简布尔函数的目的,如图9.3所示,由图可见,有W、X、Y、Z共4个布尔变量,WX的取值组合在纵轴显示,YZ的取值组合在横轴显示。7个填色网格最终可规约为3个合取式,故该函数可由包含3个隐节点的3层感知机实现:
[ 上一页 ]  [ :1.70053791e+09 ]  [ 下一页 ]