回想一下,逻辑回归生成的小数为 0 至 1.0。例如,电子邮件分类器的逻辑回归输出值为 0.8,表明电子邮件是垃圾邮件的概率为 80%,并非垃圾邮件的概率为 20%。显然,电子邮件是垃圾邮件或非垃圾邮件的概率总和为 1.0。
Softmax 将这一想法延伸到多类别领域。也就是说,在多类别问题中,Softmax 会为各个类别分配小数概率。这些小数概率的总和必须为 1.0。与其他条件相比,这种额外的约束有助于训练更快地收敛。
例如,返回我们在图 1 中看到的图片分析,Softmax 可能会得出图片属于特定类别的可能性:
类 | Probability |
---|---|
apple | 0.001 |
熊 | 0.04 |
糖果 | 0.008 |
dog | 0.95 |
蛋 | 0.001 |
Softmax 是通过输出层前面的神经网络层实现的。Softmax 层的节点数必须与输出层的节点数相同。
图 2. 神经网络中的 Softmax 层。
Softmax 选项
请参考以下 Softmax 变体:
完整 Softmax 是我们一直以来讨论的 Softmax;也就是说,Softmax 会计算每个可能的类别的概率。
候选采样是指 Softmax 针对所有正类别标签计算概率,但仅针对负类别标签的随机样本计算概率。例如,如果我们想确定某个输入图像是小猎犬还是寻血猎犬图像,则无需为每个非狗狗样本提供概率。
当类别数量较少时,完整 Softmax 的代价很小,但当类别数量增加时,其费用极其高昂。候选采样可提高包含大量类别的问题的效率。
一个标签与多个标签
Softmax 假定每个样本都是一个类别的成员。不过,某些示例可以同时是多个类的成员。对于此类示例:
- 不得使用 Softmax。
- 您必须依赖多个逻辑回归。
例如,假设您的示例是仅包含一项内容(一块水果)的图片。Softmax 可以确定这一个项是梨、橙色、苹果等的可能性。如果您的示例是包含各种各样水果的图片,那么您必须改用多个逻辑回归。