回归形式如下:
p ( y = 0 ) = 1 1 + e − β T X p(y=0)=\frac{1}{1+e^{-\beta^TX}} p(y=0)=1+e−βTX1
p ( y = 1 ) = 1 − p ( y = 0 ) = e − β T X 1 + e − β T X p(y=1)=1-p(y=0)=\frac{e^{-\beta^TX}}{1+e^{-\beta^TX}} p(y=1)=1−p(y=0)=1+e−βTXe−βTX
我们知道,当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(1−p)1−y,其中y=1发生的概率为p。
对于二值因变量,是否可以继续使用线性函数表示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+e−y1。但满足上述条件的函数形式很多,为什么一定要采取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(Y∣X)=μ; a ( ϕ ) b ′ ′ ( θ ) = v a r ( Y ∣ X ) a(\phi)b^{''}(\theta)=var(Y|X) a(ϕ)b′′(θ)=var(Y∣X)
由上述可以得到 θ = 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(1−p)1−y, ( y = 0 , 1 ) (y=0,1) (y=0,1)
由数学期望公式可以推得 E ( Y ∣ X ) = μ = p E(Y|X)=\mu=p E(Y∣X)=μ=p
将该函数化成前述指数分布族形式,将每项对应起来,由于分布函数中只有一个参数,故指数分布函数中也只保留自然参数,则有:
θ = l n ( p 1 − p ) \theta=ln(\frac{p}{1-p}) θ=ln(1−pp), b ( θ ) = l n ( 1 − p ) b(\theta)=ln(1-p) b(θ)=ln(1−p)
广义线性模型(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(Y∣X)⊂(0,1)。则有 E ( Y ∣ X ) = f ( β T X ) E(Y|X)=f(\beta^{T}X) E(Y∣X)=f(βTX),其中 f ( ⋅ ) f(\cdot) f(⋅)和 g ( ⋅ ) g(\cdot) g(⋅)互为反函数。
已知条件是二值变量的概率密度函数 p ( y ; θ ) p(y;\theta) p(y;θ) 。这是一个关于y和参数 θ \theta θ 的函数,而我们最终的目标是要构造 E ( Y ∣ X ) = f ( β T X ) E(Y|X)=f(\beta^{T}X) E(Y∣X)=f(βTX),即要将y和x联系起来。
由前述指数分布族中的内容,
θ = l n ( p 1 − p ) \theta=ln(\frac{p}{1-p}) θ=ln(1−pp)
可推出: 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(Y∣X)=p=1+e−θ1
且因为是由bern分布推导出,故一定满足 E ( Y ∣ X ) ⊂ ( 0 , 1 ) E(Y|X)\sub(0,1) E(Y∣X)⊂(0,1)
至此,一个直观的思路是,我们可以将上述步骤中的参数 θ \theta θ 令为 β T X \beta^{T}X βTX,即令 θ = η , \theta=\eta, θ=η,就可以构造出一个令 E ( Y ∣ X ) ⊂ ( 0 , 1 ) E(Y|X)\sub(0,1) E(Y∣X)⊂(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(Y∣X)=1+eβTX1
可以将这一思路进一步扩展。对于其他指数分布族的函数,当构造其link function时候,都可以令 θ = η \theta=\eta θ=η。因为前述GLM的性质, E ( Y ∣ X ) = b ′ ( θ ) E(Y|X)=b^{'}(\theta) E(Y∣X)=b′(θ),则有 E ( Y ∣ X ) = b ′ ( η ) = b ′ ( β T X ) E(Y|X)=b^{'}(\eta)=b^{'}(\beta^{T}X) E(Y∣X)=b′(η)=b′(βTX)
这样,就可以看出, b ′ ( ⋅ ) b^{'}(\cdot) b′(⋅)是link function的反函数 f ( ⋅ ) f(\cdot) f(⋅)
这样构造出的 f ( ⋅ ) f(\cdot) f(⋅)的反函数即是canonical link function。这样的函数形式可以让估计GLM中参数时的式子更简单,证明见后面内容。
对应到我们要预测的问题。如果我们要预测的Y是(0,1)之间的数值,如转化率、成交率等,那么直接用这个或其他可以使 E ( Y ∣ X ) ⊂ ( 0 , 1 ) E(Y|X)\sub(0,1) E(Y∣X)⊂(0,1)的link function就可以了,但因为我们的Y变量只能取0或者1,所以很自然的想到,可以用这个function表示一个概率。可以令p=0的概率为E(Y|X),p=1的概率为1-E(Y|X)。当然,也可以反过来,不过习惯上都是这样取的。因此也就推出了文章第一部分logistic回归的模型。
对于logistic回归模型系数进行估计,需要定一个目标函数。一个自然的思路是,我们希望当y实际值为0时,预测的p(y=0)尽可能大;当y实际值为1时,预测的p(y=1)尽可能大。
根据上述标准,可以构造这一函数,对其最大化: y i ∗ p i ( y i = 1 ∣ x i ; β ) + ( 1 − y i ) ∗ p ( y i = 0 ∣ x i ; β ) y_{i}*p_{i}(y_{i}=1|x_{i};\beta)+(1-y_{i})*p(y_{i}=0|x_{i};\beta) yi∗pi(yi=1∣xi;β)+(1−yi)∗p(yi=0∣xi;β)
对上式取对数再对所有训练集样本求和便可得到对数似然函数 l ( β ) l(\beta) l(β)。
要对该函数最大化,即对该函数加一个负号,求其极小值点即可,则求令 l ′ ( β ) = 0 l^{'}(\beta)=0 l′(β)=0时的 β \beta β。具体的求导函数和过程参考周志华的《机器学习》:
(说实话,3.27并没有手推出来。要是有小伙伴知道推导过程的可以在评论区交流一下)
对于更一般的模型,求导过程就直接引用John Fox的Applied Regression Analysis and Generalized Linear Models,逻辑仍然是一致的,不过形式复杂了一些。
还有一部分定义没截出来,式15.18中 v ( μ ) = b ′ ′ ( θ ) v(\mu)=b^{''}(\theta) v(μ)=b′′(θ)。
由前述指数分布族性质, E ( Y ∣ X ) = μ = b ′ ( θ ) E(Y|X)=\mu=b^{'}(\theta) E(Y∣X)=μ=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模型一般更多。