我实现了二进制Logistic回归分类器。只是为了玩,我用tanh代替了S型函数(1/1 + exp(-z))。结果完全相同,分类阈值为0.5,即使tanh在{-1,1}范围内,而Sigmoid在{0,1}范围内。
使用S形函数真的重要吗,或者像tanh这样的可微分非线性函数都能工作吗?
谢谢。
最佳答案
您是否还更改了训练中的功能,或者只是使用了相同的训练方法,然后将S型改变为tanh?
我认为很可能会发生以下情况。看一下S形和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
我们可以看到,在正切情况下,值y = 0.5约为x = 0.5。在S形中,x = 0.5可使我们大致y = 0.62。因此,我认为现在可能发生的事情是您的数据不包含任何落在该范围内的点,因此您得到的结果完全相同。尝试打印数据的S型值,并查看是否在0.5到0.62之间。
使用S形函数的原因是它是从概率和最大似然中得出的。尽管其他功能可能非常相似,但它们将缺乏这种概率论背景。有关详细信息,请参见http://luna.cas.usf.edu/~mbrannic/files/regression/Logistic.html或http://www.cs.cmu.edu/~tom/mlbook/NBayesLogReg.pdf
关于machine-learning - 乙状结肠功能在Logistic回归中真的重要吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21507593/