在逻辑回归中,Sigmoid函数真的重要吗?

我实现了一个二元逻辑回归分类器。出于试验,我用tanh函数(双曲正切函数)替换了Sigmoid函数(1 / (1 + exp(-z)))。结果完全相同,分类阈值仍然是0.5,尽管tanh的取值范围是{-1,1},而Sigmoid的取值范围是{0,1}。

我们使用Sigmoid函数真的重要吗?还是说像tanh这样的任何可微的非线性函数都可以使用?

谢谢。


回答:

你在训练过程中也更改了函数,还是只是使用了相同的训练方法,然后将Sigmoid改成了tanh?

我认为很可能发生的情况如下。请看一下Sigmoid和tanh的图表:

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

我们可以看到,在tanh的情况下,y = 0.5的值大约在x = 0的情况下出现。而在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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注