机器学习算法(例如分类器)在这里通过确定输入属于不同类别的概率来对输入数据进行统计建模。对于任意数量的类,通常会在模型中附加一个 softmax 层,因此输出将具有设计的概率属性:
y⃗ =softmax(a⃗ )≡1∑ie−ai×[e−a1,e−a2,...,e−an]
0≤yi≤1 for all i
y1+y2+...+yn=1
这里,a是softmax层之前的层的激活。
这对于两个类是完全有效的,但是,一个也可以使用一个神经元(而不是两个),因为它的输出满足:
0≤y≤1 for all inputs.
如果应用转换(用于反向传播目的的可微/平滑)映射,则可以确保这一点a到y从而满足上述条件。sigmoid 函数符合我们的标准。它没有什么特别之处,除了简单的数学表示,
sigmoid(a)≡σ(a)≡11+e−a
有用的数学属性(微分,介于 0 和 1 之间等)、计算效率和具有正确的斜率,这样更新网络的权重将在输出中产生微小但可测量的变化,以用于优化目的。
结论
我不确定@itdxer 显示softmax 和sigmoid 的推理是否有效,但他选择1 个神经元而不是二元分类器的2 个神经元是正确的,因为需要更少的参数和计算。由于“这是多余的”,我还因使用两个神经元作为二元分类器而受到批评。