逻辑回归(下): Sigmoid 函数的发展历史

背景

闲来无事翻了一下之前买的一个机器学习课程及之前记录的网络笔记,发现遇到公式都是截图,甚至是在纸上用笔推导的。重新整理一遍之前逻辑回归函数的学习笔记,主要是为了玩一下 LaTex 语法,写公式挺有意思的。

整理之前三篇笔记汇总如下:

  1. 逻辑回归(上):函数求导过程自推 LaTex 语法
  2. 逻辑回归(中):数学公式学习笔记 LaTeX 版
  3. 逻辑回归(下): Sigmoid 函数的发展历史

逻辑回归 S 曲线的发展历史

Sigmoid 这个S 形是怎么发展的呢?又怎么想到用它来做分类的呢?罗马不是一天建成的,Sigmoid 函数也不是一天形成的。逻辑回归的历史相当悠久,迄今大概已经有200年。它的前身,则在18世纪就已经出现了。

18世纪,随着工业革命的深入;世界经济、科技的发展;美洲的发现,以及随之而来的大移民和北美人口迅猛增长......各个学科对于统计学的工具性需求越来越强烈。到了19世纪,为了研究人口增长以及化学催化反应与时间的关系,人们发明了逻辑函数。

指数函数

这个大家都不陌生,这就是传说中增长最快的曲线,它的数学表达式为:
f ( x ) = a x f(x)=a^x f(x)=ax

最初,学者们将人口(或化合物)的数量与时间的函数定义为 W ( t ) W(t) W(t), t t t 代表时间变量, W ( t ) W(t) W(t) 代表总量,用指数函数表示为:
W ( t ) = a e b t ,其中 a , e , b 均为模型参数, t 为模型变量。 W(t)=ae^{bt},其中 a,e,b 均为模型参数,t 为模型变量。 W(t)=aebt,其中a,e,b均为模型参数,t为模型变量。

该函数在坐标系中的表现为:

用该模型为一个国家的人口进行建模,已经被证明在一个国家新建早期人口增长状况是复合该模型的。马尔克斯的人口论中讲述的「在没有任何外界阻碍的情况下,人口将以几何级增长」正是基于指数模型。

我还想到了各种投资理论提倡的复利、非线性增长等,也是基于这个模型。

对该函数求微分,就可以得到增长率函数:
W ′ ( t ) = d W ( t ) d t W^{'}(t)=\frac{dW(t)}{dt} W′(t)=dtdW(t)

修正指数函数

19世纪早期,开始有数学家、统计学家质疑上述模型:任何事物,如果真的按照几何级数任意增长下去,都会达到不可思议的数量。

然而,在自然界中,并没有什么东西是在毫无休止地增长的。当一种事物数量越来越多以后,某种阻力也会越来越明显地抑制其增长。

比利时数学家 Verhulst 给出了一个新的模型:

W ′ ( t ) = b W ( t ) − g ( W ( t ) ) W'(t)=bW(t)-g(W(t)) W′(t)=bW(t)−g(W(t))

其中, g ( W ( t ) ) g(W(t)) g(W(t))是以 W ( t ) W(t) W(t)为自变量的函数,它代表随着总数增长出现的阻力。

Verhulst 尝试了几种不同的阻力函数后,发现 g(W(t)) 是 W(t) 的平方形式时,新模型显示了它的逻辑性。对人口增长率公式修正,取 g ( ( W ( t ) ) = b ( W ( t ) ) 2 L g((W(t))=\frac{b(W(t))^2}{L} g((W(t))=Lb(W(t))2,其中 L 为 W(t) 的上限,增长率函数为:

W ′ ( t ) = b W ( t ) − b ( W ( t ) ) 2 L = b W ( t ) ( 1 − W ( t ) L ) \begin{align} W^{'}(t)&=bW(t)-\frac{b(W(t))^2}{L}\newline &=bW(t)(1-\frac{W(t)}{L})\newline \end{align} W′(t)=bW(t)−Lb(W(t))2=bW(t)(1−LW(t))

这个公式将增长率表现为总量 W(t)、极限值L、总量和极限值之间的差比之间的关系。

令 P ( t ) = W ( t ) L P(t)=\frac{W(t)}{L} P(t)=LW(t),使用商的求导公式 u = W ( t ) , v = L u=W(t),v=L u=W(t),v=L 计算该函数的微分:
P ′ ( t ) = W ′ ( t ) ∗ L + 0 ∗ L L 2 = W ′ ( t ) L 2 = W ′ ( t ) L \begin{align} P^{'}(t)&=\frac{W^{'}(t)*L+0*L}{L^2}\newline&=\frac{W^{'}(t)}{L^2}\newline &=\frac{W^{'}(t)}{L} \end{align} P′(t)=L2W′(t)∗L+0∗L=L2W′(t)=LW′(t)

将公式 (2)代入公式(5)中,可以得到:
P ′ ( t ) = W ′ ( t ) L = b W ( t ) L ( 1 − W ( t ) L ) = b P ( t ) ( 1 − P ( t ) ) \begin{align} P^{'}(t)&=\frac{W^{'}(t)}{L} \newline&=\frac{bW(t)}{L}(1-\frac{W(t)}{L}) \newline&= bP(t)(1-P(t)) \end{align} P′(t)=LW′(t)=LbW(t)(1−LW(t))=bP(t)(1−P(t))

P ′ ( t ) = b P ( t ) ( 1 − P ( t ) ) P'(t)=bP(t)(1-P(t)) P′(t)=bP(t)(1−P(t)),这是一个一阶自治微分方程,导数是自身的函数,结合前面 逻辑回归(上):函数求导过程自推 LaTex 语法 的推导结果,可知,这里 P(t) 就是逻辑回归函数:
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1

模型含义

意义:当一个物种迁入到一个新生态系统中后,其数量会发生变化。假设该物种的起始数量小于环境的最大容纳量,则数量会增长。该物种在此生态系统中有天敌、食物、空间等资源也不足(非理想环境),则增长函数满足逻辑斯谛方程,图像呈S形,此方程是描述在资源有限的条件下种群增长规律的一个最佳数学模型。

相关推荐
林开落L10 分钟前
前缀和算法习题篇(上)
c++·算法·leetcode
远望清一色11 分钟前
基于MATLAB边缘检测博文
开发语言·算法·matlab
tyler_download13 分钟前
手撸 chatgpt 大模型:简述 LLM 的架构,算法和训练流程
算法·chatgpt
封步宇AIGC19 分钟前
量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
人工智能·python·机器学习·数据挖掘
m0_5236742120 分钟前
技术前沿:从强化学习到Prompt Engineering,业务流程管理的创新之路
人工智能·深度学习·目标检测·机器学习·语言模型·自然语言处理·数据挖掘
SoraLuna33 分钟前
「Mac玩转仓颉内测版7」入门篇7 - Cangjie控制结构(下)
算法·macos·动态规划·cangjie
我狠狠地刷刷刷刷刷36 分钟前
中文分词模拟器
开发语言·python·算法
鸽鸽程序猿36 分钟前
【算法】【优选算法】前缀和(上)
java·算法·前缀和
九圣残炎42 分钟前
【从零开始的LeetCode-算法】2559. 统计范围内的元音字符串数
java·算法·leetcode
YSRM1 小时前
Experimental Analysis of Dedicated GPU in Virtual Framework using vGPU 论文分析
算法·gpu算力·vgpu·pci直通