Sigmoid function 的数学原理
来源:互联网 发布:网络诈骗被骗几万 编辑:程序博客网 时间:2024/06/05 08:48
Sigmoid function详解
本文阅读对象为有一定machine learing基础,并且在模型的数学含义层面有意愿探索的同学。
什么是Sigmoid function
一提起Sigmoid function可能大家的第一反应就是Logistic Regression。我们把一个sample扔进sigmoid中,就可以输出一个probability,也就是是这个sample属于第一类或第二类的概率。
还有像神经网络也有用到sigmoid,不过在那里叫activation function。
Sigmoid function长下面这个样子:
其实这个function我们只知道怎么用它,但是不知道它是怎么来的,以及底层的含义是什么。我在ATA中搜了一下并没有人解释这个问题,知乎有人解答不过都是照着教材抄一抄捞几个赞,那么我详细的解释一下,争取不要让算法工程师沦为调参工程师…
首先假设我们有两个class:class1和class2,并且给出一个sample x,我们的目标是求x属于
这个概率我们可以通过Naive Bayes很轻松的得出,也就是:
公式1:
其中
公式2:
这个公式是高中难度的,不过也解释一下:x出现的概率等于,class1出现的概率乘以class1中出现x的概率 加上 class2出现的概率乘以class2中出现x的概率。
那么就可以把公式2带入公式1的分母中:
公式3:
下面我们将等式两边同时除以分子就变成了:
公式4:
设
那么把z带入公式4就变成了:
也就是Sigmoid function
更多思考
上面已经知道sigmoid函数是从什么东西推导过来的了,那么有个问题就是,既然上面式子中只有
(x是某个sample,其中有多个feature,也就是说x是一个vector)
但是Bayes有一个限制条件就是所有的feature都必须是independent的,假如我们训练的sample中各个feature都是independent的话,那么Bayes会给我们一个很好的结果。但实际情况下这是不太可能的,各个feature之间不可能是independent的,那么bias就会非常大,搞出的model就很烂。
这个z 应该长什么样子?
我们将
上式中
其中
那么我们再回到这个公式中:
第二项我们已经求出来了,下面我们把第一项Guassian probability distribution带入:
乍一看,我滴妈简直太复杂太恶心了 :)
但是别慌,很多东西都能消掉的,我们来消一下。
首先,上面分子分母中
接着拆:
再拆:
上式中第二项
第二项化简方法一样,把下角标换成2就行了:
拆的差不多了,下面我们回到
仔细观察不难发现,上式中中括号里面第一项和第四项是可以消掉的。
并且我们可以认为
好了,为什么可以认为
好开心,又有好多东西被约掉了 :)
最后,
可以观察到,第一项有系数
我们就可以理解为x的系数其实就是sigmoid中的参数
那么在Generative model中我们的目标是寻找最佳的
但是我们已经将一连串复杂的参数和方程化简成了
实际上,在大多数情况下,这两种方法各有利弊,但是实际上Discraminative model泛化能力比Generative model还是强不少的。什么时候Generative model更好呢?
1.training data比较少的时候,需要靠几率模型脑补没有发生或的事情。
2.training data中有noise。
讲解完毕,本文每个公式都是用latex搞出来的,已校对,欢迎找茬修正。
- Sigmoid function 的数学原理
- Sigmoid Function
- Sigmoid Function
- 为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么?
- The sigmoid function
- sigmoid function vs softmax function
- Sigmoid函数的高效数字仿真实现(Efficient digital implementation of the sigmoid function)
- 为何Neural Network的Node要用Sigmoid Function?
- [Machine Learning_Andrew Ng]--Sigmoid() Function.
- Logistic Function == Sigmoid Function
- S函数 Sigmoid Function or Logistic Function
- 人工神经网络中的activation function的作用以及ReLu,tanh,sigmoid激励函数的区别
- logistic regression 多类别的分类问题 sigmoid function 判决边界
- 请问人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function?
- 人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function?
- (function ( ){...})( ) IIFE 的原理
- Sigmoid/Logistic function and softmax without overflow
- logistic 函数(logistic function)sigmoid函数
- React基于FromData+Ajax的表单提交
- linux守护进程详解及创建,daemon()使用
- hibernate学习笔记
- 基于Spring-statemachine的有限状态机(FSM)的介绍及示例
- java实现算法之MajorityElement
- Sigmoid function 的数学原理
- 欢迎使用CSDN-markdown编辑器
- 7.5 应用举例(略)
- 自顶向下,逐步求精方法
- JS (二)
- 第8章 常用实用类
- FFmpeg笔记1
- CDT: Cooperative Detection and Tracking for Tracing Multiple Objects in Video Sequences
- vim