softmax 回归和逻辑回归之间有什么区别(类数为 2 时除外)?

人工智能 机器学习 比较 逻辑回归 softmax回归
2021-10-31 09:51:58

我从这篇文章中读到了有关 softmax 的信息显然,这 2 个是相似的,只是 softmax 中所有类的概率加到 1。根据他们的最后一段number of classes = 2,softmax 减少到 LR。我想知道除了类数是2之外,LR和softmax的本质区别是什么。比如:

  • 表现。
  • 计算要求。
  • 易于计算衍生品。
  • 易于可视化。
  • 凸成本函数中的最小值等。

也欢迎其他差异!

我只要求进行相对比较,以便在实施时我可以毫不费力地选择使用哪种实施方法。

2个回答

如前所述,SoftMax 是 Logistic 回归的推广。

因此:

  1. 性能:如果模型有 2 个以上的类,则无法比较。鉴于K = 2它们是相同的。

  2. 计算要求:请解释,因为计算要求需要数据、足够的内存来保存它和足够的时间来运行。

  3. 易于计算导数:成本函数是求和,因此一旦你为一个元素做它,你就做它。

  4. K = 10易于可视化:嗯,即使对于类,也很容易可视化混淆矩阵。所以这里没有问题。

  5. 成本函数:成本函数是凸的。然而不是严格凸的,因此有无限数量的最小值。

我认为根据您的术语区分逻辑回归和 softmax 没有用。这是因为您不会根据性能/计算要求/导数计算的难易程度/...

事实是您使用其中一个或另一个是您的问题。

如果您需要识别猫图片与非猫图片,您将使用逻辑回归(即使使用非常复杂的神经网络,最后一步也始终是逻辑回归)。当然,您可以使用 softmax,但输出将是多余的,即一个输出将始终是一个输出减去另一个输出。

如果您需要识别猫图片、狗图片和其他图片,您将使用 softmax。请注意,为了使用 softmax,您只需要具有互斥类。互斥类意味着一个示例不能属于多个类。如果一张图片同时代表一只狗和一只猫怎么办?在这种情况下,它应该被标记为其他图片如果你想避免这些,你可以再使用一个类来表示猫和狗的图片。

但是,如果你想识别猫、狗、鸟、鱼、船、房子等,你需要包含的混合类的数量会增长得非常快。当您处理非互斥类时,您应该使用多任务学习。在这种情况下,输出的总和不再是 1。在最简单的情况下,您可以将多任务学习视为共享 NN,其中最后一步由多元逻辑回归完成。在更复杂的情况下,最后一步可以通过不同的 softmax 和逻辑回归的组合来完成。

综上所述:

  • 如果您需要使用非互斥类,请使用multitask learning最终,您将在多任务学习中使用 softmax 回归和/或逻辑回归。
  • 如果您需要使用两个以上互斥类,请使用softmax 回归
  • 如果您只需要使用两个排他类,请使用逻辑回归