我从这篇文章中读到了有关 softmax 的信息。显然,这 2 个是相似的,只是 softmax 中所有类的概率加到 1。根据他们的最后一段number of classes = 2
,softmax 减少到 LR。我想知道除了类数是2之外,LR和softmax的本质区别是什么。比如:
- 表现。
- 计算要求。
- 易于计算衍生品。
- 易于可视化。
- 凸成本函数中的最小值等。
也欢迎其他差异!
我只要求进行相对比较,以便在实施时我可以毫不费力地选择使用哪种实施方法。
我从这篇文章中读到了有关 softmax 的信息。显然,这 2 个是相似的,只是 softmax 中所有类的概率加到 1。根据他们的最后一段number of classes = 2
,softmax 减少到 LR。我想知道除了类数是2之外,LR和softmax的本质区别是什么。比如:
也欢迎其他差异!
我只要求进行相对比较,以便在实施时我可以毫不费力地选择使用哪种实施方法。
如前所述,SoftMax 是 Logistic 回归的推广。
因此:
性能:如果模型有 2 个以上的类,则无法比较。鉴于K = 2
它们是相同的。
计算要求:请解释,因为计算要求需要数据、足够的内存来保存它和足够的时间来运行。
易于计算导数:成本函数是求和,因此一旦你为一个元素做它,你就做它。
K = 10
易于可视化:嗯,即使对于类,也很容易可视化混淆矩阵。所以这里没有问题。
成本函数:成本函数是凸的。然而不是严格凸的,因此有无限数量的最小值。
我认为根据您的术语区分逻辑回归和 softmax 没有用。这是因为您不会根据性能/计算要求/导数计算的难易程度/...
事实是您使用其中一个或另一个是您的问题。
如果您需要识别猫图片与非猫图片,您将使用逻辑回归(即使使用非常复杂的神经网络,最后一步也始终是逻辑回归)。当然,您可以使用 softmax,但输出将是多余的,即一个输出将始终是一个输出减去另一个输出。
如果您需要识别猫图片、狗图片和其他图片,您将使用 softmax。请注意,为了使用 softmax,您只需要具有互斥类。互斥类意味着一个示例不能属于多个类。如果一张图片同时代表一只狗和一只猫怎么办?在这种情况下,它应该被标记为其他图片。如果你想避免这些,你可以再使用一个类来表示猫和狗的图片。
但是,如果你想识别猫、狗、鸟、鱼、船、房子等,你需要包含的混合类的数量会增长得非常快。当您处理非互斥类时,您应该使用多任务学习。在这种情况下,输出的总和不再是 1。在最简单的情况下,您可以将多任务学习视为共享 NN,其中最后一步由多元逻辑回归完成。在更复杂的情况下,最后一步可以通过不同的 softmax 和逻辑回归的组合来完成。
综上所述: