您的位置:首页 > 理论基础 > 计算机网络

sigmoid

2016-04-11 21:14 459 查看

sigmoid 函数

sigmoid函数是一个良好的阈值函数

特点:

连续,光滑

严格单调

关于(0,0.5)中心对称

对阈值函数有一个良好的近似

原函数:f(x) = 1/[1+e^(-x)]

其导数:f’(x)=f(x)*[1-f(x)]



选择使用Sigmoid的原因

以下内容转自知乎

sigmoid这个函数实质上是以分类为目的出现的。

传统的回归直接给出具体值,而当某些情况我们想知道某件事发生的概率时,这个函数就有用了:其将数值限定在0~1之间,从而将原有数值转化为概率–这个从其函数形式可以看到。

然后,之所以“用”这个函数,实质上并不是拿来用,而是经过推导得到的。

见《机器学习导论》长久以前推导过,思路应该是如下(细节出错望见谅):

假设y = p(C1|x) 1-y = p(C2|x) 则可用y的对数比率 logit(y)来得到判定的概率,即logy/1-y > 0则选择C1, 这样 限定这是两个共享协方差矩阵的正态类,再使用贝叶斯规则 :

logit(P(C1|x)) = …. = w * x + w0

则 log p(C1|x) / 1-p(C2|x) = w * x + w0

得到p(C1|x) = sigmoid(w * x + w0) = 1 / (1 + exp[-(w*x + w0)])

就是这样推导得到的, 然后再看最终的结论, 是不是发现 其与基本的线性回归不同就在于使用一个S形函数,将原来的数值转换到0~1之间,这样更加容易看到数值的意义。

逻辑斯蒂 判别式!注意这点,其不是对类条件密度p(x|C1)建模,而是对其比率建模。假设对数似然比线性 即:

logp(x|C1) / p (x|C2) = w *x + w0

再使用贝叶斯规则,像之前那样来整理推导得到:

y = p(C1|x) = 1 / (1 + exp[-(w*x + w0)]) 作为对于p(C1|x)的估计

这样看,使用sigmoid函数是推导得到的,有了这货以后 广告点击率估计就再也不愁了,谁知道哪位大牛提出来的,反正吾等采用就好了…..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息