如果我从多类切换到多标签分类,为什么我需要在最后一层使用sigmoid函数而不是softmax?
发布于 2017-08-07 19:47:59
从理论上讲,对于给定的输入,softmax的总和为1。这在每个输入只有一个类的情况下是有意义的,即目标向量总和为1。
但是,在每个输入有多个类的情况下,输出总和为每个输入的标签数。在这种情况下,您想知道您的输入具有给定类的可能性的百分比。这是由sigmoid函数完成的。Sigmoid为您提供了一个介于0和1之间的值,这些值在单个输入的不同类之间是独立的。
还有其他函数提供0到1之间的值(例如0.5*(tanh(x) + 1)),但sigmoid已被证明在实践中工作良好,因此用于多标签分类。
https://stackoverflow.com/questions/45545671
复制相似问题