美文网首页
sigmoid function为什么是1/{1+exp(-z)

sigmoid function为什么是1/{1+exp(-z)

作者: kuo13 | 来源:发表于2018-08-01 01:21 被阅读0次
    • 逻辑回归模型背景

    逻辑回归模型是机器学习中最常见的一种基础模型,模型为:
    f_w,b(x)=\sigma(\sum_{i}w_i \cdot x_i+b) \ \ (1) 其中比较核心是sigmoid function,也就是公式(1)的函数。
    \sigma(z)=\frac {1}{1+e^{-z}} (1)
    sigmoid function的函数图像如下图,根据该函数的特点,可以视为类1的后验概率估计p(y=1|z),也就是说如果取一个z点,通过该函数计算的结果可以作为z点属于类别1的概率大小。通常在逻辑回归二分类中,我们取值\sigma(z)>=0.5 时,y1,否则y0

    sigmoid function
    之前看书一直以为公式(1)是拍脑袋出来的,其实不然,细看之下其实有很多有趣的巧合,深感数学真是博大精深。
    • 从最大熵模型推导

    《The equivalence of logistic regression and maximum entropy models》 这篇论文推导的非常透彻,看下来收货不小,简要摘入一些易于理解的部分。

    • 首先对于字母与符号的声明如下:

    (1)x(1),x(2),...,x(m) 表示n维空间的一个样本,x(i)表示第i个样本,x(i)_j表示第i个样本的第j维的数据(因为x是一个n维向量)
    (2)y(1),y(2),...,y(m)表示 k 维空间的一个观测结果,记k1,2,…,k变化,即分类问题中的k个类别。
    (3)π(x)是学习得到的概率函数。 π(x)_u表示数据样本x属于类别u的概率,我们希望π( )具有如下性质:

        1.样本x属于类别v的概率大于0,显然概率必须大于0。即 π(x)_v>0
        2. \sum_{v=i}^{k}\pi(x)_v=1 样本x属于各个类别的概率和为1。
        3.\pi(x(i))_{y(i)} 在所有类别概率中最大。

    (4)A(u,v)是一个指示函数,当u=v时A(u,v)=1,当u≠vA(u,v)=0,如A(u,y(i))表示第i个观测结果是否为u

    • 简要推导:

    其中第(3).3中的最后一个条件等价于尽可能的让\pi(x(i)) \rightarrow y(i)\pi(x(i)) \rightarrow A(u,y(i)),理想情况为\pi(x(i))= A(u,y(i)),固有:
    \sum_{i=1}^{m}x(i)_j\pi(x(i))_u=\sum_{i=1}^{m}x(i)_jA(u,y(i)) \ \ (2)
    对所有类别及所有样本取\pi( )的熵,可以得到:
    f(v,i)=- \sum_{v=1}^{k} \sum_{i=1}^{m}\pi(x(i))_v log(\pi(x(i))_v) \ \ (3)
    得到一个优化问题:
    \begin{cases} maxf(v,i)=max\left(- \sum_{v=1}^{k} \sum_{i=1}^{m}\pi(x(i))_v log(\pi(x(i))_v) \right) \\ \pi(x)_v>0\\ \sum_{v=1}^{k}\pi(x)_v=1 \\ \sum_{i=1}^{m}x(i)_j\pi(x(i))_u=\sum_{i=1}^{m}x(i)_jA(u,y(i)) \end{cases} (4)
    利用拉格朗日对偶性求这个优化问题的对偶问题。
    L=\sum_{j=1}^n\sum_{v=1}^k\lambda_{v,j} \left(\sum_{i=1}^m\pi(x(i))_vx(i)_j-A(v,y(i))x(i)_j \right)
    +\sum_{v=1}^{k}\sum_{i=1}^{k}\beta_i(\pi(x(i))_v-1)-\sum_{v=1}^{k} \sum_{i=1}^{m}\pi(x(i))_v log(\pi(x(i))_v) ) \ (5)
    满足\beta<0,有KKT条件有:
    \frac{\partial L}{\partial {\pi(x(i))_u}} =\lambda_u \cdot x(i)+\beta_i-\log(\pi(x(i))_u)-1=0 \ \ \ (6)
    计算得到:
    \pi(x(i))_u =e^{\lambda_u\cdot x(i)+\beta_i-1} \ \ \ (7)
    将(7)式代入到\sum_{v=1}^{k}\pi(x)_v=1可知:\sum_{v=1}^{k}e^{\lambda_u\cdot x(i)+\beta_i-1}=1e^\beta=\frac{1}{\sum_{v=1}^{k}e^{\lambda_u\cdot x(i)-1}}代入(7)式计算得:
    \pi(x(i))_u =\frac {e^{\lambda_u\cdot x}}{\sum_{v=1}^{k}e^{\lambda_u\cdot x}} \ \ (8)
    即多分类问题对应的softmax函数。

    • softmax如何联系上sigmoid

    但是二分类问题时,式(8)中u自取0与1,则(8)可以改写为:
    \pi(x(i))_1 =\frac {e^{\lambda_1\cdot x}}{e^{\lambda_0\cdot x}+e^{\lambda_1\cdot x}} \ \ (9)
    将分子除分母得:
    \pi(x(i))_1 =\frac {1}{1+e^{-(\lambda_1-\lambda_0)\cdot x}} \ \ (10)
    就形成了sigmoid function。

    • 更直观的理解

    知乎上有个关于softmax到sigmoid的理解写的不错,引用如下:

    softmax->sigmoid
    • 从最根本的广义线性模型角度推导

    大神NG的lecture notes http://cs229.stanford.edu/notes/cs229-notes1.pdf上讲的比较清楚。
    首先指数分布族的标准表达式为式:
    p(y;η)=b(y)exp(η^TT(y)-a(η)) \ \ (11)
    其中,η是分布的自然参数(natural parameter)或典范参数(canonical parameter),T(y)叫做充分统计量,通常情况下T(y)=ya(η)是对数分配函数,而a、bT一般都是给定的,随着η的变化,会得到不同的分布。
    对伯努利分布的指数分布族标准表达式进行简单推导,如式(12):
    p(y;\phi)=\phi^y(1-\phi)^{1-y}=e^{y\log\phi+(1-y)\log(1-\phi)} =e^{ \left((\log{(\frac{\phi}{1-\phi}})y)+\log(1-\phi)\right )} \ (12)
    对应标准表达式式(11)可知:η=\log(\phi/(1- \phi))
    指数家族的问题可以通过GLM(广义线性模型)来解决,在给定x和参数后,y的条件概率p(y|x,θ) 需要满足下面三个假设:

    (1)y | x; θ ∼ ExponentialFamily(η).
    (2)h(x) = E[y|x]. 即给定x,目标是预测T(y)的期望,通常问题中T(y)=y
    (3)ηx之间是线性的,即η = θ^Tx

    我们知道逻辑回归二分类模型的假设前提为:逻辑回归服从伯努利分布,设y|x;θ服从伯努利分布,所以可知它的期望为\phi,根据构建GLM的第2、3条假设可反推出假设函数h(x)为:
    H_θ(x)= E[y|x; θ]= \phi=\frac1{(1+e-η)}= \frac1{(1+e^{-θ^Tx})} \ \ (13)

    • 从贝叶斯模型角度推导

    从贝叶斯模型到逻辑回归公式只要一步,真是巧妙。
    p(c_1|x)=\frac{p(x|c_1)p(c_1)}{p(x|c_1)p(c_1)+p(x|c_2)p(c_2)}
    =\frac1{1+\frac{p(x|c_2)p(c_2)}{p(x|c_1)p(c_1)}}= \frac1{1+exp(-z)}
    其中z=\ln\frac{p(x|c_2)p(c_2)}{p(x|c_1)p(c_1)}

    相关文章

      网友评论

          本文标题:sigmoid function为什么是1/{1+exp(-z)

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