如何推导所述神经网络决策边界对应的方程?

决策边界详细推导过程
前置说明
本次推导对应图中的两层神经网络(输入层无计算节点,隐藏层2个神经元,输出层1个神经元),所有神经元激活函数为sigmoid,二分类决策阈值为0.5:
- 当输出y>0.5时判定为正类,y<0.5时判定为负类,决策边界对应y=0.5的所有输入点的集合
步骤1:写出前向传播计算式
先代入图中给出的所有权重参数:
- 隐藏层第一个神经元h1的输入线性组合:
z1 = -10x1 + 20x2 + 5,输出h1 = sigmoid(z1) - 隐藏层第二个神经元h2的输入线性组合:
z2 = 20x1 -10x2 +5,输出h2 = sigmoid(z2) - 输出层y的输入线性组合:
z_out = 20h1 +20h2 -30,输出y = sigmoid(z_out)
步骤2:确定决策边界的临界条件
sigmoid函数的特性为sigmoid(0) = 0.5,因此y=0.5等价于z_out=0,代入上式得:
20h1 +20h2 -30 = 0
化简得:h1 + h2 = 1.5
步骤3:分析隐藏层神经元的输出特性
sigmoid函数当输入绝对值大于3时,输出会非常接近0或1,因此我们可以对h1、h2的输出做近似分析:
- 当z1 >> 0时,h1≈1;当z1 <<0时,h1≈0;当z1=0时,h1=0.5
- 当z2 >> 0时,h2≈1;当z2 <<0时,h2≈0;当z2=0时,h2=0.5
要满足h1+h2=1.5的临界条件,只有两种可能:
- h1≈1,h2≈0.5 → 对应z2=0的情况
- h2≈1,h1≈0.5 → 对应z1=0的情况
步骤4:推导最终的决策边界方程
分别代入z1=0和z2=0化简:
- z1=0 →
-10x1 +20x2 +5 =0→ 整理得:2x2 -x1 + 0.5 = 0 - z2=0 →
20x1 -10x2 +5 =0→ 整理得:2x1 -x2 +0.5 =0
最终的决策边界就是上述两条直线组成的折线,完全匹配该神经网络的非线性分类能力。
内容的提问来源于stack exchange,提问作者Ashish Kashyap
相关产品推荐
相关产品推荐

