分类器中的S型函数

      对于了解机器学习相关知识的朋友,对一个函数肯定不陌生,没错,就是我今天要说的sigmoid(S型)函数,这个函数的图像如下:

                                                                  sigmoid

它的函数表达式为:

f(x)=11+exp(x)

       这个函数有很好的特性,它的定义域为实数域,而值域为(0,1),它的导数可以用自身的值计算出来: f(x)=f(x)(1f(x)) 。在机器学习领域里面到处可以看到它的身影,比如我们常用的 Logistic Regression以及 Softmax Regression分类器就是用它作为输出单元的响应激活函数。以及神经网络中的神经元激活函数也大多用它。为什么是这个函数呢?其实并不是人为故意选出来的,而是有严密的数学逻辑推理出来的。

       以二分类问题来说明,我们如果假设类密度符合 p(x|Ci) 高斯分布,并且具有共同的协方差矩阵,则判别式函数是线性的。即: gi(x)=wTix+wi0 ,这个不难证明。
       我们定义 y=p(C1|x),P(C2|x)=1y 。则在分类时,我们选择 C1 ,如果

y>0.5y1y>1,logy1y>0C2

logy1y 称作分对数(logit)变换或 y 的对数几率。在两个共享相同的协方差矩阵的正态类的情况下,对数几率是线性的:
logit(P(C1|x)=logP(C1|x)1P(C1|x)=logP(C1|x)P(C2|x)=logp(x|C1)p(x|C2)+logP(C1)P(C2)

                             =log(2π)d/2|Σ|1/2exp[(1/2)(xμ1)TΣ1(xμ1)](2π)d/2|Σ|1/2exp[(1/2)(xμ2)TΣ1(xμ2)]+logP(C1)P(C2)

                             =wTx+w0

其中

w=Σ1(μ1μ2)
w0=12(μ1+μ2)TΣ1(μ1μ2)

分对数的逆
logP(C1|x)1P(C1|x)==wTx+w0
是Logistic函数,也就是所谓的sigmoid(S型)函数:
P(C1|x)=sigmoid(wTx+w0)=11+exp[(wTx+w0)]

通过上述推导,大家应该看到了,在假定模式类密度服从正态分布以及协方差矩阵相同的情况下,线性判别式与基于S型函数概率分类的效果是等价的。当然即使没有这个假设,也可以使用S型函数进行概率的估计,从而进行分类。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值