logistic回归为什么采用sigmoid函数——从广义线性函数推导

Logistic回归基本形式

回归形式如下:
y = 1 1 + e − β T X y=\frac{1}{1+e^{-\beta^TX}} y=1+eβTX1

我们知道,当y正态分布时,有 y = β T X y=\beta^TX y=βTX。但这只适用于y是个连续变量。当y是一个0-1变量,就不再服从正态分布。

对于二值变量,一般认为服从二项分布,即伯努利分布,y的概率分布函数服从:
f ( y , p ) = p y ( 1 − p ) 1 − y f(y,p)=p^{y}(1-p)^{1-y} f(y,p)=py(1p)1y,其中y=1发生的概率为p。

为什么采用sigmoid函数?

对于二值因变量,是否可以继续使用线性函数表示y和x之间的关系?取决于研究的需求。

在计量经济学中,若仅仅要对y和x之间的关系进行拟合,则使用LPM模型,即仍采用线性回归中的 y = β T X y=\beta^TX y=βTX,也是一种可行措施,只是这样会违背高斯马尔科夫定理中的残差项正态性与同方差性,从而影响参数估计量的方差,从而影响假设检验的准确性。

而在机器学习中,一般要解决的问题是根据x的值对y做预测。用LPM模型的问题是预测的Y可能会超出其实际的(0,1)区间,因此不能用这个模型。

一个直观的解决方式是,构造一个函数g(y),使 g ( y ) ⊂ ( 0 , 1 ) g(y)\sub(0,1) g(y)(0,1)

一般机器学习讲logistic回归的教材由此会得出结论,需要采用sigmoid函数形式: g ( y ) = 1 1 + e − y g(y)=\frac{1}{1+e^{-y}} g(y)=1+ey1。但满足上述条件的函数形式很多,为什么一定要采取sigmoid函数形式呢?

对此,网上有很多说法,最常说的是这是从广义线性模型中推导出来的。但这种说法其实并不很准确。实际上这种函数形式并不是推导出来的,仅仅是构造出来的。

首先,若要令 g ( y ) ⊂ ( 0 , 1 ) g(y)\sub(0,1) g(y)(0,1) g ( y ) g(y) g(y)确实可以取多种不同的函数,不仅可以是sigmoid,也可以是正态分布函数的累积分布函数等。使用后者就构造出了计量经济学中常用的probit模型。也就是说,只要这个 g ( y ) g(y) g(y)满足以下条件:值域 ⊂ ( 0 , 1 ) \sub(0,1) (0,1);连续且存在反函数即可用来构造二值因变量模型。logistic回归仅为其中的一种。

那么,logistic回归为何在机器学习中经常提及呢?它有什么好的性质呢?简单的说,是因为它能让对模型的估计过程最简单。

广义线性模型

为何要提出?

可以认为,最开始提出的模型是线性回归模型。但可以发现,很多问题并不能用线性回归解决。因此,要对线性模型做一个扩展。一个自然的思路是,对线性函数中的每个y值找一个非线性函数上的映射g(y)。这样,当g(y)=y时,该模型就是线性回归模型(一个好的扩展模型应当可以包含之前的基础模型)。我们知道,描述一个变量,最重要的就是确定它的分布函数,那么,是不是对于所有分布形式的y,我们都可以找到一个这样的映射呢?

首先,对于大部分实际问题,y也就大概这几种分布:Gaussian(normal), Bernoulli, binomial, Poisson, gamma等。因此,我们可以先集中讨论这些常见分布的映射。

指数分布族

R. A. Fisher提出了一个将这些常见分布形式统一的分布函数,又称为“指数分布族”,形式如下:
在这里插入图片描述

其中, θ \theta θ是函数中的canonical parameter(也有版本称为natural parameter), ϕ \phi ϕ是函数中的dispersion parameter。有的分布函数,如Bernoulli分布,只有一个natural parameter,则简化式就是把上式中含 ϕ \phi ϕ的两项都去掉。

指数分布族的重要性在于,这个一般分布函数的均值和方差与其中的某项有着固定的关系。因此,当某个分布函数化成这个一般形式后,就可以直接得出其均值和方差。

具体的说, b ′ ( θ ) = E ( Y ∣ X ) = μ b^{'}(\theta)=E(Y|X)=\mu b(θ)=E(YX)=μ; a ( ϕ ) b ′ ′ ( θ ) = v a r ( Y ∣ X ) a(\phi)b^{''}(\theta)=var(Y|X) a(ϕ)b(θ)=var(YX)
由上述可以得到 θ = g c ( μ ) \theta=g_{c}(\mu) θ=gc(μ),则 b ′ ( x ) b^{'}(x) b(x) g c ( x ) g_{c}(x) gc(x)互为反函数。

以y服从Bernoulli分布为例,以下是Bernoulli分布函数:
f ( y ) = p y ( 1 − p ) 1 − y f(y)=p^{y}(1-p)^{1-y} f(y)=py(1p)1y, ( y = 0 , 1 ) (y=0,1) (y=0,1)
由数学期望公式可以推得 E ( Y ∣ X ) = μ = p E(Y|X)=\mu=p E(YX)=μ=p
将该函数化成前述指数分布族形式,将每项对应起来,由于分布函数中只有一个参数,故指数分布函数中也只保留自然参数,则有:
θ = l n ( p 1 − p ) \theta=ln(\frac{p}{1-p}) θ=ln(1pp) b ( θ ) = l n ( 1 − p ) b(\theta)=ln(1-p) b(θ)=ln(1p)

广义线性模型结构

广义线性模型(GLM)是一个基于线性回归的抽象模型。

GLM由以下3个部分组成:
random component:即y的概率密度函数
linear predictor η \eta η η = β T X \eta=\beta^{T}X η=βTX
link function g ( ⋅ ) g(\cdot) g(): 将 η \eta η和y的期望值联系起来的函数, g ( E ( Y ) ) = η g(E(Y))=\eta g(E(Y))=η

后来有人对GLM进行了扩展,构造了Generalized additive models(广义相加模型),是基于非线性模型,也就是说, η \eta η不再是一个标准的线性回归模型,而是:
在这里插入图片描述

结合本文要解决的问题(为线性回归的y找一个非线性的映射),实际上我们就是要使用GLM模型的思想构造一个link function g ( ⋅ ) g(\cdot) g(),使 E ( Y ∣ X ) ⊂ ( 0 , 1 ) E(Y|X) \sub (0,1) E(YX)(0,1)。则有 E ( Y ∣ X ) = f ( β T X ) E(Y|X)=f(\beta^{T}X) E(YX)=f(βTX),其中 f ( ⋅ ) f(\cdot) f() g ( ⋅ ) g(\cdot) g()互为反函数。

构造link function的思路

已知条件是二值变量的概率密度函数 p ( y ; θ ) p(y;\theta) p(y;θ) 。这是一个关于y和参数 θ \theta θ 的函数,而我们最终的目标是要构造 E ( Y ∣ X ) = f ( β T X ) E(Y|X)=f(\beta^{T}X) E(YX)=f(βTX),即要将y和x联系起来。
由前述指数分布族中的内容,
θ = l n ( p 1 − p ) \theta=ln(\frac{p}{1-p}) θ=ln(1pp)
可推出: p = 1 1 + e − θ p=\frac{1}{1+e^{-\theta}} p=1+eθ1
结合bern分布的性质有 E ( Y ∣ X ) = p = 1 1 + e − θ E(Y|X)=p=\frac{1}{1+e^{-\theta}} E(YX)=p=1+eθ1
且因为是由bern分布推导出,故一定满足 E ( Y ∣ X ) ⊂ ( 0 , 1 ) E(Y|X)\sub(0,1) E(YX)(0,1)
至此,一个直观的思路是,我们可以将上述步骤中的参数 θ \theta θ 令为 β T X \beta^{T}X βTX,即令 θ = η , \theta=\eta, θ=η就可以构造出一个令 E ( Y ∣ X ) ⊂ ( 0 , 1 ) E(Y|X)\sub(0,1) E(YX)(0,1)的函数 f ( ⋅ ) f(\cdot) f(),即 E ( Y ∣ X ) = 1 1 + e β T X E(Y|X)=\frac{1}{1+e^{\beta^{T}X}} E(YX)=1+eβTX1

可以将这一思路进一步扩展。对于其他指数分布族的函数,当构造其link function时候,都可以令 θ = η \theta=\eta θ=η。因为前述GLM的性质, E ( Y ∣ X ) = b ′ ( θ ) E(Y|X)=b^{'}(\theta) E(YX)=b(θ),则有 E ( Y ∣ X ) = b ′ ( η ) = b ′ ( β T X ) E(Y|X)=b^{'}(\eta)=b^{'}(\beta^{T}X) E(YX)=b(η)=b(βTX)
这样,就可以看出, b ′ ( ⋅ ) b^{'}(\cdot) b()是link function的反函数 f ( ⋅ ) f(\cdot) f()
这样构造出的 f ( ⋅ ) f(\cdot) f()的反函数即是canonical link function。这样的函数形式可以让估计GLM中参数时的式子更简单,证明见下面内容。

极大似然法估计GLM

求导过程就直接引用文献,不重复造轮子了。
在这里插入图片描述
在这里插入图片描述
还有一部分定义没截出来,式15.18中 v ( μ ) = b ′ ′ ( θ ) v(\mu)=b^{''}(\theta) v(μ)=b(θ)
由前述指数分布族性质, E ( Y ∣ X ) = μ = b ′ ( θ ) E(Y|X)=\mu=b^{'}(\theta) E(YX)=μ=b(θ)。若构造的是canonical link function,则 η = θ \eta=\theta η=θ,因此15.18第二个因子可以化成 b ′ ′ ( θ ) b^{''}(\theta) b(θ)
综上,15.18可以简化为:
在这里插入图片描述
可以看到,上式的左边是一个含Y实际值式子的和,右边是含Y期望值式子的和。 μ = b ′ ( η ) \mu=b^{'}(\eta) μ=b(η),因此,实际上是解令 F ( β ) = 0 F(\beta)=0 F(β)=0的时的矩阵 β \beta β。虽然这个形式已经很简化了,但F仍然是一个非线性函数。一般需要用迭代法找出其零点。

从这里就可以看出,若构造的不是canonical link function,最终要求解的 F ( ⋅ ) F(\cdot) F()形式不会有上面这样简单,因而迭代起来速度更慢。

个人理解,这也是为什么机器学习中一般对二值因变量构造预测模型只会提logistic regression而不提probit模型的原因。但在计量经济学中,因为经济学家倾向于认为 η = β T X \eta=\beta^{T}X η=βTX中的 η \eta η呈正态分布,而probit模型中对link function的假设可以满足这一条件,因此在计量中,用Probit模型一般更多。

猜你喜欢

转载自blog.csdn.net/zhy_is_pig/article/details/108429841