【问题标题】:Does the sigmoid function really matter in Logistic Regression?sigmoid 函数在逻辑回归中真的很重要吗?
【发布时间】:2014-02-25 18:32:12
【问题描述】:

我实现了一个二元逻辑回归分类器。只是为了玩,我用 tanh 替换了 sigmoid 函数 (1 / 1 + exp(-z))。结果完全相同,分类阈值相同,均为 0.5,即使 tanh 在 {-1,1} 范围内,而 sigmoid 在 {0,1} 范围内。

我们使用 sigmoid 函数真的很重要,还是任何可微的非线性函数(如 tanh)都可以工作?

谢谢。

【问题讨论】:

    标签: machine-learning statistics logistic-regression


    【解决方案1】:

    你是不是在训练的时候也改了函数,还是只是用了同样的训练方法,然后把sigmoid改成了tanh?

    我认为很可能发生的情况如下。看看 sigmoid 和 tanh 的图:

    乙状结肠:http://www.wolframalpha.com/input/?i=plot+sigmoid%28x%29+for+x%3D%28-1%2C+1%29 tanh:http://www.wolframalpha.com/input/?i=plot+tanh%28x%29+for+x%3D%28-1%2C+1%29

    我们可以看到,在 tanh 情况下,值 y = 0.5 大约是 x = 0.5。在 sigmoid 中,x = 0.5 使我们得到大约 y = 0.62。因此,我认为现在可能发生的是您的数据不包含任何落在此范围内的点,因此您得到完全相同的结果。尝试为您的数据打印 sigmoid 值,看看是否有介于 0.5 和 0.62 之间的值。

    使用 sigmoid 函数的原因是它是从概率和最大似然推导出来的。尽管其他函数的工作方式可能非常相似,但它们将缺乏这种概率理论背景。有关详细信息,请参阅例如 http://luna.cas.usf.edu/~mbrannic/files/regression/Logistic.htmlhttp://www.cs.cmu.edu/~tom/mlbook/NBayesLogReg.pdf

    【讨论】:

    • 感谢您的精彩解释!正如您所说,我没有任何值在该范围内,因此差异并不明显。
    • lunc.cas 链接现在给出 404。
    【解决方案2】:

    函数的范围应为 {0,1},因为它表示结果的概率。

    【讨论】:

      猜你喜欢
      • 2018-01-20
      • 2015-04-06
      • 2020-03-18
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      • 2014-09-16
      • 2016-09-01
      • 1970-01-01
      相关资源
      最近更新 更多