Generalized Linear Models
在线性回归模型的推导中,我们用到了高斯分布;逻辑回归模型的介绍中用到了伯努利分布,今天我们将讲到,这两中分布都是在一个更广义的模型里面——Generalized Linear Models。
我们在建模的时候,关心的目标变量 y y y 可能服从很多种分布。像线性回归,我们会假设目标变量 y y y 服从正态分布;而逻辑回归,则假设服从伯努利分布。在广义线性模型的理论框架中,则假设目标变量 y y y 则是服从指数族分布 ,正态分布和伯努利分布都属于指数族分布,因此线性回归和逻辑回归可以看作是广义线性模型的特例。
构建GLMs
考虑一个分类或回归问题,我们希望将某个随机变量 y y y 的值预测为 x x x 的函数。为了推导GLM,我们有以下三个假设:
- y ∣ x ; θ ∼ E x p o n e n t i a l F a m i l y ( η ) y | x; \theta \sim ExponentialFamily(\eta) y∣x;θ∼ExponentialFamily(η) ,i.e. 给定 x x x 和 θ \theta θ , y y y 的分布遵循带参数为 η \eta η 的指数族分布。
- 给定 x x x ,我们的目标是要预测 T ( y ) T(y) T(y) 的期望值,大多数情况下 T ( y ) = y T(y) = y T(y)=y ,那么我们实际上要找一个已知的函数 h ( x ) h(x) h(x) ,使得 h ( x ) = E [ y ∣ x ] h(x)=E[y| x] h(x)=E[y∣x] 。(线性回归和逻辑回归中的 h θ ( x ) h_{\theta}(x) hθ(x) 也是满足这个条件的,比如逻辑回归中, h θ ( x ) = p ( y = 1 ∣ x ; θ ) = 0 ∗ p ( y = 0 ∣ x ; θ ) + 1 ∗ p ( y = 1 ∣ x ; θ ) = E [ y ∣ x ] ) h_{\theta}(x) = p(y=1|x;\theta) = 0*p(y=0|x;\theta) + 1*p(y=1|x;\theta) = E[y|x]) hθ(x)=p(y=1∣x;θ)=0∗p(y=0∣x;θ)+1∗p(y=1∣x;θ)=E[y∣x])
- 自然参数 η \eta η 和 x x x 是线性相关的, η = θ T x \eta = \theta^T x η=θTx 。如果 η \eta η 是向量, η i = θ i T x \eta_i = \theta_i^Tx ηi=θiTx
这三个假设将使我们能够得到一种非常优雅的学习算法,即GLM,它具有许多理想的属性,如易于学习。 此外,所得到的模型通常非常有效地对 y y y 上的不同类型的分布进行建模; 例如,我们将很快可以知道逻辑回归和普通最小二乘都属于GLM的特例。
(1) 普通最小二乘法
为了表明普通最小二乘是GLM模型族的一个特例,假设目标变量
y
y
y 也称为GLM术语中的响应变量)是连续的,并且我们将
y
y
y 对
x
x
x 的条件分布建模为高斯分布
N
(
μ
,
σ
2
)
N(\mu,\sigma^2)
N(μ,σ2)。(这里
μ
\mu
μ 可能取决于
x
x
x 。)因此我们有:
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ h_{\theta}(x) …
第一个等式是由假设2得到的,第二个等式是因为
y
∣
x
;
θ
∼
N
(
μ
,
σ
2
)
y|x;\theta \sim N(\mu,\sigma^2)
y∣x;θ∼N(μ,σ2) ,第三个等式是由第一个假设得到的,第四个等式是由假设3得到的。
(2) 逻辑回归
假设我们只对二进制分类感兴趣,so
y
∈
{
0
,
1
}
y \in \{0,1 \}
y∈{0,1} 。因为
y
y
y 是二进制值,所以我们自然而然地选择伯努利分布族作为
y
∣
x
y|x
y∣x 的分布,
y
∣
x
;
θ
∼
B
e
r
n
o
u
l
l
i
(
ϕ
)
y|x;\theta \sim Bernoulli(\phi)
y∣x;θ∼Bernoulli(ϕ) 。因为伯努利分布属于指数族分布,所以有
ϕ
=
1
1
+
e
−
η
\phi = \frac{1}{1+e^{-\eta}}
ϕ=1+e−η1
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ h_{\theta}(x) …
(3) Softmax回归
Let’s look at one more example of a GLM.假设现在分类问题不再是讨论是(y=1)或否(y=0)的问题,而是可以分为 k k k 类,即 y ∈ 1 , 2 , … , k y \in {1,2,\dots,k} y∈1,2,…,k
假设
y
y
y 服从推广的伯努利分布,总共有
k
k
k 个类别,用
k
−
1
k-1
k−1 个参数
ϕ
1
,
ϕ
2
,
…
,
ϕ
k
−
1
.
(
ϕ
k
=
1
−
∑
i
=
1
k
−
1
ϕ
i
)
\phi_1,\phi_2,\dots,\phi_{k-1}. \quad (\phi_k = 1- \sum\limits_{i=1}^{k-1}\phi_i)
ϕ1,ϕ2,…,ϕk−1.(ϕk=1−i=1∑k−1ϕi) 代表
y
y
y 属于每一类的概率。接着,我们要把y的分布写成指数分布族的形式。首先,先考虑伯努利分布的表达式为
p
(
y
;
ϕ
)
=
ϕ
y
(
1
−
ϕ
)
1
−
y
p(y;\phi) = \phi^y(1-\phi)^{1-y}
p(y;ϕ)=ϕy(1−ϕ)1−y
这是
y
y
y 只有2个分类的情况。现在
y
y
y 有k个情况。我们引入一个示性函数
1
{
.
}
1\{.\}
1{.}
s
.
t
.
1
{
T
r
u
e
}
=
1
,
1
{
F
a
l
s
e
}
=
0
s.t. \quad 1\{True\} = 1, 1\{False\} = 0
s.t.1{True}=1,1{False}=0
那么这时候
y
y
y 服从分布
p
(
y
;
ϕ
)
=
ϕ
1
1
{
y
=
1
}
ϕ
2
1
{
y
=
2
}
…
ϕ
k
1
{
y
=
k
}
p(y;\phi) = \phi_1^{1\{y=1\}}\phi_2^{1\{y=2\}}\dots\phi_k^{1\{y=k\}}
p(y;ϕ)=ϕ11{y=1}ϕ21{y=2}…ϕk1{y=k}
我们把它写成指数分布族的形式:
KaTeX parse error: No such environment: eqnarray* at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲*̲}̲ p(y,\phi) &=& …
⇒
\Rightarrow
⇒
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ b(y) = 1 \\ \e…
这时候,
T
(
y
)
T(y)
T(y) 是一组
k
−
1
k-1
k−1 维的向量,不再是
y
y
y,如下所示:
KaTeX parse error: No such environment: eqnarray* at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲*̲}̲ T(1) =\begin{b…
构建
h
θ
(
x
)
h_{\theta}(x)
hθ(x) :
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ h_{\theta}(x) …
再用自然参数
η
\eta
η 来表示
ϕ
\phi
ϕ
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ e^{\eta_i} &=&…
将式(22)代入式(19)得:
ϕ
i
=
e
η
i
∑
j
=
1
k
e
η
j
\phi_i = \frac{e^{\eta_i} }{\sum\limits _{j=1}^k e^{\eta_j}}
ϕi=j=1∑keηjeηi
最后,用特征的线性组合去表示自然参数
KaTeX parse error: No such environment: eqnarray* at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲*̲}̲ \eta_1 &=& \th…
$$
\begin{eqnarray}
h_{\theta}(x)
&=&
\begin{bmatrix}
\phi_1 \
\phi_2 \
\vdots \
\phi_{k-1} \
\end{bmatrix}
\begin{bmatrix}
\frac{e^{\eta_1} }{\sum\limits _{j=1}^k e^{\eta_j}} \
\frac{e^{\eta_2} }{\sum\limits _{j=1}^k e^{\eta_j}} \
\vdots \
\frac{e^{\eta_k} }{\sum\limits _{j=1}^k e^{\eta_j}} \
\end{bmatrix} \
&=&
\begin{bmatrix}
\frac{e{\theta_1T x} }{\sum\limits _{j=1}^k e{\theta_jT x}} \
\frac{e{\theta_2T x} }{\sum\limits _{j=1}^k e{\theta_jT x}} \
\vdots \
\frac{e{\theta_kT x} }{\sum\limits _{j=1}^k e{\theta_jT x}} \
\end{bmatrix}
\end{eqnarray}
$$
那么就建立了假设函数,最后就获得了最大似然估计
ℓ
(
θ
)
=
∑
i
=
1
m
l
n
p
(
y
(
i
)
∣
x
(
i
)
;
θ
)
=
∑
i
=
1
m
l
n
∏
l
=
1
k
(
e
θ
l
T
x
(
i
)
∑
j
=
1
k
e
θ
j
T
x
(
i
)
)
1
{
y
(
i
)
=
l
}
\ell (\theta) = \sum\limits_{i=1}^m ln p(y^{(i)}|x^{(i)};\theta) \\ =\sum\limits_{i=1}^m ln \prod\limits_{l=1}^k (\frac{e^{\theta_l^T x^{(i)}} }{\sum\limits _{j=1}^k e^{\theta_j^T x^{(i)}}} )^{1\{y^{(i)} = l\}}
ℓ(θ)=i=1∑mlnp(y(i)∣x(i);θ)=i=1∑mlnl=1∏k(j=1∑keθjTx(i)eθlTx(i))1{y(i)=l}
对该式子可以使用梯度下降算法或者牛顿方法求得参数
θ
\theta
θ 后,使用假设函数
h
h
h 对新的样例进行预测,即可完成多类分类任务。对于互斥的多分类问题,这种模型比较合适,而对于非互斥的多分类问题,构建
k
k
k 个one-vs-all逻辑回归模型更为合适。