在Logistic回归中,sigmoid函数真的很重要吗?

时间:2014-02-02 05:59:48

标签: machine-learning statistics logistic-regression

我实现了二元Logistic回归分类器。只是为了玩,周围我用tanh取代了sigmoid函数(1/1 + exp(-z))。结果完全相同,具有相同的0.5分类阈值,即使tanh在{-1,1}范围内,而sigmoid在{0,1}范围内。

我们使用sigmoid函数是否真的很重要,或者像tanh一样可以使用任何可微分的非线性函数吗?

感谢。

2 个答案:

答案 0 :(得分:5)

你是否也改变了训练中的功能,或者你只是使用相同的训练方法然后将sigmoid改为tanh?

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

sigmoid: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

答案 1 :(得分:0)

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