Logistic函数的简单理解

问题:为什么会有这个函数,他的物理意义,应用场景,发现(发明)背景,解决的问题都是什么?

回答:

统计学角度

Logisitc模型是广义线性模型中的一类。常用于分类。在业界有相关广泛的应用。常见的如信用评分模型,用于判定某个人的违约概率。

  1. 动机——logit变换
    在现实生活中,有时候需要探究某一事件A发生的概率PPP与某些因素X=(X1,X2,X3...Xp)X=(X1,X2,X3...Xp)X=(X1,X2,X3...Xp)之间的关系。考虑到很多情况下,在P=0P=0P=0或P=0P=0P=0附近,PPP对XXX的变化并不敏感,即这附近,XXX需要发生很大的变化才能引起PPP的微弱改变。如,“农药的剂量为X的情况下,杀死害虫的概率P”之间,就具有这种关系。因此,我们要构造这么一个关于P的函数θ(P)\theta(P)θ(P),使得它在P=0或P=1附近,P的微小变化对应的较大改变,同时,要尽可能简单。于是,自然有了如下构造的特性
    ∂θ(P)∂P=1P+11−P\frac{\partial \theta(P)}{\partial P}=\frac{1}{P}+\frac{1}{1-P}∂P∂θ(P)​=P1​+1−P1​
    于是
    θ(P)=ln⁡(P1−P)\theta(P)=\ln \left(\frac{P}{1-P}\right) θ(P)=ln(1−PP​)
    θ(P)\theta(P)θ(P)就是logi变换。

  2. 模型——Logistic回归
    为了建立因变量P与自变量X之间的合理变动关系,一个很自然的假设就是线性关系。即
    P=X′βP=X^{\prime} \beta P=X′β
    但是正如前面所说的,某些情况下,在P=0或P=1附近,P对X的变化并不敏感,即这附近,X需要发生很大的变化才能引起P的微弱改变,而上式简单的线性关系是不能反映这一特征的。这个时候,我们构造的θ(P)\theta(P)θ(P)就派上用场了,于是有了
    ln⁡P1−P=X′β\ln \frac{P}{1-P}=X^{\prime} \beta ln1−PP​=X′β
    由ln⁡(P1−P)=XTβ⟹P1−P=eXTβ⟹P=eXTβ1+eXTβ\ln \left(\frac{P}{1-P}\right)=\boldsymbol{X}^{T} \boldsymbol{\beta} \Longrightarrow \frac{P}{1-P}=e^{\boldsymbol{X}^{T} \boldsymbol{\beta}} \Longrightarrow P=\frac{e^{\boldsymbol{X}^{T} \beta}}{1+e^{X^{T} \boldsymbol{\beta}}} ln(1−PP​)=XTβ⟹1−PP​=eXTβ⟹P=1+eXTβeXTβ​
    于是上式等价于
    P=eX′β1+eX′βP=\frac{e^{X^{\prime} \beta}}{1+e^{X^{\prime} \beta}} P=1+eX′βeX′β​
    这就是LogisticLogisticLogistic回归模型。

生活应用

我们先说一个实现生活中的例子。在现实生活中,我们发现有些规律性的变化,比如:农药杀虫,用药量越大,杀虫的概率越大。但是,随着农药用量越来越大,杀虫概率增长越来越慢,最后增长速率慢慢接近为0。最后,就算您使用的全球海水总量的农药来杀虫,总有虫子是死不了的。上述现象可以得出一个结论,就是当一个事情发生的概率 和 影响这个事情发生的因素之间存在一种关系,如图:

横坐标为农药计量,纵坐标为杀虫概率
上图反应的就是因素的值无限放大 或 缩小的过程中,概率越接近于0,1时,因素对概率的影响越小。

根据上述结论(如上面举得农药杀虫的例子),在 P=0P=0P=0 或 P=1P=1P=1 附近,使得 PPP 对 XTθX^{T} \thetaXTθ的变化并不敏感(即 XXX变化很大, PPP变化很微小)。

因此,我们的目标函数g(P)g(P)g(P)是一个在 P=0P=0P=0 或 P=1P=1P=1 附近,PPP的微小变化,对应XTθX^{T} \thetaXTθ(即 g(P)g(P)g(P) )的较大变化;同时g(P)g(P)g(P) 要足够简单。

从g(P)g(P)g(P)变化入手,想到了求导。

于是,我们比较容易想到这样的一个函数:d(g(P))d(P)=11−P+1P\frac{d(g(P))}{d(P)}=\frac{1}{1-P}+\frac{1}{P} d(P)d(g(P))​=1−P1​+P1​
这个等式 11−P+1P\frac{1}{1-P}+\frac{1}{P}1−P1​+P1​在 P=0P=0P=0 或 P=1P=1P=1 附近,数值是接近 ∞\infty∞,即变化很大
那么,对上式积分:g(P)=ln⁡(P1−P)g(P)=\ln \left(\frac{P}{1-P}\right) g(P)=ln(1−PP​)
又因为:g(P)=XTθg(P)=X^{T} \theta g(P)=XTθ
所以:ln⁡(P1−P)=XTθ⇒P1−P=eXTθ⇒P=eXTθ1+eXTθ=11+e−XTθ\ln \left(\frac{P}{1-P}\right)=X^{T} \theta \Rightarrow \frac{P}{1-P}=e^{X^{T} \theta} \Rightarrow P=\frac{e^{X^{T} \theta}}{1+e^{X^{T} \theta}}=\frac{1}{1+e^{-X^{T} \theta}} ln(1−PP​)=XTθ⇒1−PP​=eXTθ⇒P=1+eXTθeXTθ​=1+e−XTθ1​
所以有结论:P=11+e−XTθ=h(XTθ)P=\frac{1}{1+e^{-X^{T} \theta}}=h\left(X^{T} \theta\right) P=1+e−XTθ1​=h(XTθ)
于是logistic函数为h(x)=11+e−xh(x)=\frac{1}{1+e^{-x}} h(x)=1+e−x1​

参考来源:
link.
ID:jwtiger
ID:知乎用户
腾讯科技(深圳)有限公司 数据分析师

如何理解Logistic函数相关推荐

  1. [Machine Learning] logistic函数和softmax函数

    简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数,若有不足之处,希望大家可以帮忙指正.本文首先分别介绍logistic函数和softmax函数的定义和应用, ...

  2. 机器学习 [logistic函数和softmax函数]

    简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数,若有不足之处,希望大家可以帮忙指正.本文首先分别介绍logistic函数和softmax函数的定义和应用, ...

  3. logistic函数和softmax函数

    简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数.本文首先分别介绍logistic函数和softmax函数的定义和应用,然后针对两者的联系和区别进行了总结. ...

  4. Logistic函数的各个参数作用分析及其在电机控制中的应用

    近几天对神经网络分类器的学习中,看到了Sigmoid函数. Sigmoid函数的表达式为: 在Matlab或者Octave中可以画出函数曲线. t = -60:0.1:60; S = 1./(1+e. ...

  5. 深入理解javascript函数系列第二篇——函数参数

    前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数.本文是深入理解javascript函数 ...

  6. C++深入理解虚函数

    c++深入理解虚函数 虚函数的使用方法: (1)在基类用virtual声明成员函数为虚函数.这样就可以在派生类中重新定义此函数,为它赋予新的功能,并能方便被调用. 在类外定义虚函数时,不必在定义vir ...

  7. [转] Logistic函数

    说简单些,logistic函数其实就是这样一个函数: 这个函数的曲线如下所示: 很像一个"S"型吧,所以又叫 sigmoid曲线(S型曲线). 上面只是作为一般使用时了解的即可,但 ...

  8. 【Python】深入理解Python函数的9个黄金法则

    编程离不开函数.Python的函数除了具备传统意义上的函数特征外,又被赋予了其他一些特性,让它更灵活.更强大.这篇文章结合之前我推荐的一本Python宝书,又添加一些我的实践和理解,总结了深入理解Py ...

  9. python函数可以作为容器对象吗_正确理解Python函数是第一类对象

    正确理解 Python函数,能够帮助我们更好地理解 Python 装饰器.匿名函数(lambda).函数式编程等高阶技术. 函数(Function)作为程序语言中不可或缺的一部分,太稀松平常了.但函数 ...

最新文章

  1. C++11中头文件chrono的使用
  2. 用匈牙利算法求二分图的最大匹配
  3. 如何设计一门语言(八)——异步编程和CPS变换
  4. 像素/厘米与像素/英寸区别_像素/体素艺术入门指南
  5. oracle的基本数据类型(转载)
  6. 最新版MySQL在MacOS上的实践!
  7. JS清除字符串中重复的值
  8. 生产运维那些事儿-监控篇
  9. 普通人适合哪种O2O创业模式 O2O模式的应用价值是什么?
  10. 华为鸿蒙os下载安装,华为鸿蒙系统安装包
  11. 实现永久关闭445服务
  12. 使用数组作为函数参数
  13. [SSIS] 之十: SSIS百度详解
  14. 源代码防泄密解决方案
  15. AcWing 1028. 复制书稿 (二分)
  16. 静态网页抓取_学习笔记
  17. 日期时间选择器 DatePicker
  18. win7系统安装提示“很抱歉,程序无法在非MBR引导的分区上进行激活
  19. 自创经典情感语录:只要有绿卡我可以装傻
  20. 数据挖掘算法-时间序列

热门文章

  1. redis分布式缓存一一 帖子点赞解决方案~
  2. ESXi开启SSH功能
  3. java创建对象后花括号_java – 创建数组对象和使用花括号分配数组有什么区别?...
  4. taro+vue30
  5. 顺藤摸瓜之3D结构光原理
  6. 学习英文-学以致用【场景:请客吃饭】
  7. java实现爬山算法_python实现爬山算法的思路详解
  8. 一、文本框和按钮不对齐现象(高度得设置一样)
  9. centos7 elasticsearch6.8.3启动提示bound or publishing to a non-loopback address, enforcing bootstrap che
  10. excel拼接字符串函数