美文网首页数据分析
00001. 在二值化问题中,为什么选择Sigmoid函数?

00001. 在二值化问题中,为什么选择Sigmoid函数?

作者: deBroglie | 来源:发表于2019-03-21 18:50 被阅读56次

从线性回归说起

对于线性回归问题,我们的模型函数根据定义自然地选择为\small{h_{\vec{\theta}}(\vec{x})=\vec{\theta}^{T}\vec{x}}而当我们考虑二值化问题时,由于目标变量只能取0或1,因此我们选择了值域在\small{[0,1]}区间的Sigmoid函数。那么什么是Sigmoid函数?以及,为什么不选择其他值域在\small{[0,1]}区间的函数呢?

Sigmoid函数

Sigmoid函数又叫做Logistic函数,或者Logistic Sigmoid函数,也被经常称作S型曲线。函数形式为\small{\begin{equation}Sigmoid(x) \equiv S(x) =\frac{1}{1+e^{-x}}, \quad x\in\mathbb{R}\end{equation}} 现在,我们的模型函数具体写为\small{h_{\vec{\theta}}(\vec{x})=S(\vec{\theta}^{T}\vec{x})=\frac{1}{1+e^{-\vec{\theta}^{T}\vec{x}}}}

指数分布族

二值化问题其实在统计上满足单次Bernoulli分布(即0-1分布),当考虑到这一分布其实是属于指数分布族时,即\small{y\sim b(1,\phi)}的分布列\small{p(y;\phi)=\phi^{y}(1-\phi)^{1-y}}可以表达为形式\small{p(y;\eta)=b(y)\exp{(\eta^{T}T(y)-a(\eta))}}时,我们可以“自然”导出Sigmoid函数:
\small{\begin{eqnarray}p(y;\phi) &= \phi^{y}(1-\phi)^{1-y}=\exp{(y\log{\phi}+(1-y)\log{(1-\phi)})} \\ &=\exp{[(\log{(\frac{\phi}{1-\phi})})y+\log{(1-\phi)}]}\end{eqnarray}}
\small{b(y)=1} \small{T(y)=y} \small{\eta=\log{(\frac{\phi}{1-\phi})}} \small{a(\eta)=-\log(1-\phi)=\log{(1+e^{\eta})}} 可以发现我们已经证明了单次Bernoulli分布属于指数分布族。而反解\small{\eta(\phi)}我们就可以得到\small{\phi=\frac{1}{1+e^{-\eta}}=S(\eta)}

这里补充一点,常用的统计分布都可以表为某种形式的指数族分布,例如二项分布,其结果与0-1分布很类似,不同点只有\small{b(y)=\text{C}_n^{y}}

另外,Sigmoid函数还有一个非常好的性质,我们选择它也有一部分这方面的原因: \small{\begin{equation} S^{'}(x) = S(x)(1-S(x)) \end{equation}}
因为这个性质可以大大降低梯度下降时的计算量。

一些会涉及到的其他概念:

广义线性模型GLMs
生成学习算法

相关文章

网友评论

    本文标题:00001. 在二值化问题中,为什么选择Sigmoid函数?

    本文链接:https://www.haomeiwen.com/subject/wkwamqtx.html