逻辑回归为什么要用sigmoid函数
这个问题我们要从普通线性模型与广义线性模型开始讲起,看官不要着急,慢慢的往下看。
普通线性模型与广义线性模型
普通线性模型是用模型的预测值去逼近真实标记y:
Y = ω 1 x 1 + ω 2 x 2 + ω 3 x 3 + ω 4 x 4 + . . . + ω p x p + b Y = \omega_{1}x_1 + \omega_{2}x_2 + \omega_{3}x_3 + \omega_{4}x_4 +... + \omega_{p}x_{p}+b Y=ω1x1+ω2x2+ω3x3+ω4x4+...+ωpxp+b
Y = ω T x + b Y = \omega^Tx+b Y=ωTx+b
而如果我们令预测值去逼近y的衍生物,我们就得到了广义线性模型。
g ( Y ) = ω T x + b g\left(Y\right) = \omega^Tx+b g(Y)=ωTx+b
考虑单调可微函数g,有如上广义线性模型,其中函数g称为“联系函数”(link function)。
普通线性模型
普通线性模型 (ordinary linear model) 可以用下式表示:
Y
=
β
0
+
β
1
x
1
+
β
2
x
2
+
β
3
x
3
+
β
4
x
4
+
.
.
.
+
β
p
−
1
x
p
−
1
+
ϵ
Y = \beta_{0} + \beta_{1}x_1 + \beta_{2}x_2 + \beta_{3}x_3 + \beta_{4}x_4 +... + \beta_{p-1}x_{p-1}+\epsilon
Y=β0+β1x1+β2x2+β3x3+β4x4+...+βp−1xp−1+ϵ
普通线性模型的假设主要有以下几点:
- 响应变量 Y Y Y和误差项 ϵ \epsilon ϵ正态性:响应变量 Y Y Y和误差项 ϵ \epsilon ϵ服从正态分布,且 ϵ \epsilon ϵ是一个白噪声过程,因而具有零均值,同方差的特性
- 预测量 x i x_i xi和未知参数 β i \beta_i βi的非随机性:预测量 x i x_i xi具有非随机性、可测且不存在测量误差;未知参数 β i \beta_i βi认为是未知但不具随机性的常数,值得注意的是运用最小二乘法或极大似然法解出的未知参数的估计值 β i \beta_i βi则具有正态性
- 研究对象:如前所述普通线性模型的输出项是随机变量 Y Y Y。在随机变量众多的特点或属性里,比如分布、各种矩、分位数等等,普通线性模型主要研究响应变量的均值 E [ Y ] E\left[Y\right] E[Y]
- 联接方式:在上面三点假设下,对式两边取数学期望,可得
E [ Y ] = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + β 4 x 4 + . . . + β p − 1 x p − 1 E\left[Y\right] = \beta_{0} + \beta_{1}x_1 + \beta_{2}x_2 + \beta_{3}x_3 + \beta_{4}x_4 +... + \beta_{p-1}x_{p-1} E[Y]=β0+β1x1+β2x2+β3x3+β4x4+...+βp−1xp−1
可见,在普通线性模型里,响应变量的均值
E
[
Y
]
E\left[Y\right]
E[Y]与预测量的线性组合
β
0
+
β
1
x
1
+
β
2
x
2
+
β
3
x
3
+
β
4
x
4
+
.
.
.
+
β
p
−
1
x
p
−
1
\beta_{0} + \beta_{1}x_1 + \beta_{2}x_2 + \beta_{3}x_3 + \beta_{4}x_4 +... + \beta_{p-1}x_{p-1}
β0+β1x1+β2x2+β3x3+β4x4+...+βp−1xp−1通过恒等式联接,当然也可认为通过形为
f
(
x
)
=
x
f\left(x\right) = x
f(x)=x的函数联接二者,即:
E
[
Y
]
=
f
(
β
0
+
β
1
x
1
+
β
2
x
2
+
β
3
x
3
+
β
4
x
4
+
.
.
.
+
β
p
−
1
x
p
−
1
)
=
β
0
+
β
1
x
1
+
β
2
x
2
+
β
3
x
3
+
β
4
x
4
+
.
.
.
+
β
p
−
1
x
p
−
1
E\left[Y\right] = f \left( \beta_{0} + \beta_{1}x_1 + \beta_{2}x_2 + \beta_{3}x_3 + \beta_{4}x_4 +... + \beta_{p-1}x_{p-1} \right) = \beta_{0} + \beta_{1}x_1 + \beta_{2}x_2 + \beta_{3}x_3 + \beta_{4}x_4 +... + \beta_{p-1}x_{p-1}
E[Y]=f(β0+β1x1+β2x2+β3x3+β4x4+...+βp−1xp−1)=β0+β1x1+β2x2+β3x3+β4x4+...+βp−1xp−1
广义线性模型
广义线性模型是一种应用灵活的线性模型,它认为因变量是属于指数簇分布(可以理解为一种限制),在概率统计中,若某概率分布满足下式,我们就称之属于指数簇分布:
p ( Y ∣ η ) = b ( Y ) e η T T ( Y ) − a ( η ) , η = w T x p\left(Y|\eta\right)=b\left(Y\right)e^{\eta^{T}T\left(Y\right)-a\left(\eta\right)}, \eta=w^Tx p(Y∣η)=b(Y)eηTT(Y)−a(η),η=wTx
其中
η
\eta
η称为分布的自然参数,也称为标准参数
T(y)称为充分统计量,通常T(y)=y
a
(
η
)
a\left(\eta\right)
a(η)称为对数分割函数
e
−
a
(
η
)
e^{-a\left(\eta\right)}
e−a(η)本质上是一个归一化常数,确保
p
(
Y
∣
η
)
p\left(Y|\eta\right)
p(Y∣η)概率和为1
当T(y)被固定时, a ( η ) a\left(\eta\right) a(η)、 b ( y ) b\left(y\right) b(y)就定义了一个以 η \eta η为参数的一个指数分布。我们变化 η \eta η就得到这个分布的不同分布。其中正态分布、伯努利分布、二项分布、泊松分布、多项分布等均属于指数簇分布的一种。
广义线性模型有三个假设:
- p ( y ∣ x ; θ ) p\left(y|x;\theta\right) p(y∣x;θ)服从指数簇分布
- 给定x,我们的目标是要确定T(y),即 h ( x ) = E [ T ( y ) ∣ x ] h\left(x\right)=E\left[T\left(y\right)|x\right] h(x)=E[T(y)∣x]。大多数情况下 T ( y ) = y T\left(y\right)=y T(y)=y,那么我们实际上要确定的是 h ( x ) = E [ y ∣ x ] h\left(x\right)=E\left[y|x\right] h(x)=E[y∣x]。即给定x,假设我们的目标函数是 h ( x ) = E [ y ∣ x ] h\left(x\right)=E\left[y|x\right] h(x)=E[y∣x]
- 假设自然参数 η \eta η和x是线性相关,即假设: η = θ T x \eta=\theta^Tx η=θTx
伯努利分布推导逻辑回归
现在我们希望借助广义线性模型做二分类。在二分类问题中,假设当前Y服从伯努利分布(0-1分布),形式如下:
p ( Y = y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y , y = 0 , 1 p\left(Y = y;\phi\right)=\phi^y\left(1-\phi\right)^{1-y}, y = 0,1 p(Y=y;ϕ)=ϕy(1−ϕ)1−y,y=0,1
可对其做如下推导:
p ( Y = y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y = e l n ϕ y ( 1 − ϕ ) 1 − y = e y l n ϕ + ( 1 − y ) l n ( 1 − ϕ ) = e y l n ϕ 1 − ϕ + l n ( 1 − ϕ ) \begin{aligned} p\left(Y = y;\phi\right)&=\phi^y\left(1-\phi\right)^{1-y} \\ &=e^{ln\phi^y(1-\phi)^{1-y}} \\ &=e^{yln\phi+\left(1-y\right)ln(1-\phi)} \\ &=e^{yln\frac{\phi}{1-\phi}+ln(1-\phi)} \end{aligned} p(Y=y;ϕ)=ϕy(1−ϕ)1−y=elnϕy(1−ϕ)1−y=eylnϕ+(1−y)ln(1−ϕ)=eyln1−ϕϕ+ln(1−ϕ)
对照着指数簇分布的形式:
p ( Y ∣ η ) = b ( Y ) e η T T ( Y ) − a ( η ) p\left(Y|\eta\right)=b\left(Y\right)e^{\eta^{T}T\left(Y\right)-a\left(\eta\right)} p(Y∣η)=b(Y)eηTT(Y)−a(η)
可以得到如下的关系式:
{ b ( Y ) = 1 T ( Y ) = y η = l n ϕ 1 − ϕ ϕ = e η 1 + e η a ( η ) = − l n ( 1 − ϕ ) \begin{cases} b\left(Y\right) = 1 \\ T\left(Y\right) = y \\ \eta = ln\frac{\phi}{1-\phi} \\ \phi=\frac{e^\eta}{1+e^\eta} \\ a\left(\eta\right) = -ln(1-\phi) \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧b(Y)=1T(Y)=yη=ln1−ϕϕϕ=1+eηeηa(η)=−ln(1−ϕ)
而在伯努利分布中, E [ y ∣ x ] = ϕ E\left[y|x\right] = \phi E[y∣x]=ϕ,所以有如下推导:
h θ ( x ) = E [ y ∣ x ; θ ] = ϕ = 1 1 + e − η = 1 1 + e − θ T x \begin{aligned} h_\theta\left(x\right)&=E\left[y|x;\theta\right] \\ &= \phi \\ &=\frac{1}{1+e^{-\eta}} \\ &=\frac{1}{1+e^{-\theta^Tx}} \end{aligned} hθ(x)=E[y∣x;θ]=ϕ=1+e−η1=1+e−θTx1
上面的式子原来就是sigmoid的形式啊!至此,逻辑回归为什么要用sigmoid大白于天下。原来sigmoid是推导出来的!!!!
微信扫码关注公众号,后台回复「电子书福利」,35本深度学习、机器学习、自然语言处理、算法领域的经典电子书,我们将一次性统统分享给大家!