为什么我们需要逻辑回归中的 sigmoid 函数?

数据挖掘 机器学习 逻辑回归
2022-02-26 14:06:00

逻辑回归中使用逻辑 sigmoid 函数的目的是什么?为什么它需要成为假设函数 h(x) 的一部分?

据我了解,逻辑 sigmoid 函数给出了某个输入向量 x 包含在标签 y 的类 C1 中的概率。在二元类的情况下,如果 h(x) >= 0,5,我们说 x 属于一个类,否则它属于另一个。在逻辑回归模型中,我们的假设函数 h(x) 的形式为 g(p^T * x),其中 p 是参数向量(p^T 是转置),g 是 sigmoid 函数。

由于逻辑 sigmoid 的 y 截距为 0.5,所以说 h(x) >= 0.5 与说 p^T * x >= 0 是一样的。

我的意思是为什么我们需要逻辑 S 型函数来定义一些阈值来分离类?为什么不让假设函数具有 h(x) = p^T * x 的形式,并声称如果 p^T * x >= 0 则 y = 1?为什么用逻辑 sigmoid 使事情不必要地复杂化?

1个回答

如果您将假设函数定义为h(x) = p^T * x,并声称y = 1 if p^T * x >= 0,您会使事情变得更加复杂。

这是因为在训练期间您必须计算函数的导数h(x)现在,您的函数可能会导致梯度爆炸或消失,具体取决于您的输入和初始化。

Logistic Sigmoid 解决了这个问题,它也有一个很好的梯度g(x)(1 - g(x))因此,sigmoid 实际上简化了计算,而不是使事情复杂化。