您的位置:首页 > 其它

CS229学习笔记之广义线性模型

2017-12-12 21:24 295 查看
之前我们介绍了线性回归问题,其符合正态分布:y∣x;θ∼(μ,σ2);也介绍了二元分类问题(逻辑回归),其符合伯努利分布:y∣x;θ∼Bernoulli(ϕ)。而实际上这些模型都是一个更为广泛的模型族的特例,这个模型族被称为广义线性模型(Generalized Linear Models).

指数族

为了引出广义线性模型,我们首先需要介绍指数族分布。我们称一个分布属于指数分布族如果它可以被表示成如下形式:

p(y;η)=b(y)exp(ηTT(y)−a(η))(6)

这里,η被称为分布的自然参数(或者称为典范参数);T(y)被称为充分统计量,通常T(y)=y;a(η)被称为对数分割函数;e−a(η)本质上是一个归一化常数,确保概率p(y;η)和为1。

当选定T,a,b时,我们就得到了一种以η为参数的分布。下面我们来证明伯努利和高斯分布属于指数分布族。

伯努利分布的证明

伯努利分布可以表示为:

p(y;ϕ)=ϕy(1−ϕ)1−y=exp(ylogϕ+(1−y)log(1−ϕ))=exp((log(ϕ1−ϕ))y+log(1−ϕ))

因此,自然参数 η=log(ϕ1−ϕ)(这里自然参数不是向量,所以其转置不变),有趣的是,从该式可以导出ϕ=11+e−η,这正是我们熟悉的 sigmoid 函数!之后我们推导逻辑回归是广义线性模型时会再提到这个。现在,我们可以得到:

T(y)a(η)b(y)=y=−log(1−ϕ)=log(1+eη)=1

这表明通过设定适当的 T,a,b ,伯努利分布可以写成等式 (6) 的形式,即其属于指数族分布。

高斯分布的证明

之前我们推导线性回归时得出了σ的值对θ的选择没有影响,所以为了简化推导,这里设定σ2=1,于是我们有:

p(y;μ)=12π‾‾‾√exp(−12(y−μ)2)=12π‾‾‾√exp(−12y2)⋅exp(μy−12μ2)

因此,通过如下选择,我们可以证明高斯分布属于指数族分布。

ηT(y)a(η)b(y)=μ=y=μ2/2=η2=(1/2π‾‾‾√)exp(−y2/2)

其实,还有许多其他的分布属于指数族,比如多项式分布、泊松分布(单位时间内随机事件发生的次数的概率分布)伽马分布(连续非负随机变量的分布)等。

构建广义线性模型

首先,广义线性模型的构建需要基于以下三条假设:

y∣x;θ 符合以 η 为参数的指数族分布;

给定 x,我们的目标是预测 T(y) 的理想值,而在大多数的案例中,T(y)=y,这意味着我们的假设 h 应该满足h(x)=E[y∣x](可以从期望的定义上来进行理解)

自然参数 η 和 输入 x 满足线性关系 η=θTx (如果 η 是向量,那么 ηi=θTix )

基于上面三条假设,我们就利用广义线性模型来优雅地解决问题。下面,我们将用GLMs来推导线性回归和逻辑回归的假设函数。

线性回归

线性回归的目标变量(在 GLM 术语集中也称为反应变量)满足高斯分布:y∣x;θ∼(μ,σ2)(这里μ与x相关),根据之前推导的结果,我们有:

hθ(x)=E[y|x;θ]=μ=η=θTx

第一个等式来源于假设2,第二个等式是高斯分布的性质;第三个等式是之前推导过高斯分布属于指数族分布的条件;最后一个等式则来源于假设3。

注意:当反应变量满足泊松分布时,与线性回归不同,应考虑构建泊松回归模型来对问题建模,这里不作展开,可以参考wiki百科

逻辑回归

这里我们考虑二元分类问题,则反应变量的条件分布满足伯努利分布:y∣x;θ∼Bernoulli(ϕ),而之前我们在证明伯努利分布属于指数族分布时已经推导出了ϕ=11+e−η,因此,与线性回归类似,我们有:

hθ(x)=E[y|x;θ]=ϕ=11+e−η=11+e−θTx

上式证明了为什么逻辑回归的假设函数是sigmod函数,当反应变量满足伯努利分布时,这是广义线性模型的定义导出的结果。

此外,我们将表示分布均值(期望)与自然参数η关系的函数 g(η)=E[T(y);η] 称为正则响应函数(canonical response function), 将其反函数称为正则关联函数(canonical link function). 因此,高斯分布的正则响应函数即为其本身,伯努利分布的正则响应函数即为逻辑回归的假设函数。

softmax回归

如果对于分类问题,y可以取k个值(k>2),那么这就是一个多元分类问题。此时反应变量的条件概率分布模型为多项分布

下面让我们推导出多项分布数据的广义线性模型。在这之前,需要首先将多项式分布表示为指数族分布。

假设多项式分布有k个输出,一般我们应该定义k个参数 ϕ1,…ϕk 来表示每个输出的概率,但这其实存在冗余,因为第k个输出的概率可以用其他k-1个输出的概率来表示(概率之和必定为1)。因此,我们只定义k-1个参数ϕ1,…ϕk−1 ,其中 ϕi=p(y=i;ϕ),则ϕk=1−∑k−1i=1ϕi,注意其并不是一个参数,而是由 ϕ1,…ϕk−1 确定的。

为了将多项分布表示为指数族分布,我们首先定义 T(y)∈ℝk−1 如下:

T(1)=⎡⎣⎢⎢⎢⎢⎢⎢100⋮0⎤⎦⎥⎥⎥⎥⎥⎥,T(2)=⎡⎣⎢⎢⎢⎢⎢⎢010⋮0⎤⎦⎥⎥⎥⎥⎥⎥,T(3)=⎡⎣⎢⎢⎢⎢⎢⎢001⋮0⎤⎦⎥⎥⎥⎥⎥⎥,⋯T(k−1)=⎡⎣⎢⎢⎢⎢⎢⎢000⋮1⎤⎦⎥⎥⎥⎥⎥⎥,T(k)=⎡⎣⎢⎢⎢⎢⎢⎢000⋮0⎤⎦⎥⎥⎥⎥⎥⎥,

与之前不同,T(y) 与 y 并不相等,T(y) 是一个 k-1 维的向量而非一个实数。我们将用 (T(y))i 来表示向量 T(y) 的第 i 个元素。

下面我们将再介绍一个有用的操作符:1{⋅},其运算法则为:

1{True}=1,1{False}=0

例如:

1{2=3}=0,1{3=5−2}=1

因此,我们可以得到如下等式:

(T(y))i=1{y=i}

即只有当 y=i 时,第 i 个元素才为1,其他都为0。

进一步可以得到:

E[(T(y))i]=P(y=i)=ϕi

因为求期望时,只有当 y=i 时,乘积不为0。

基于上述结论,我们可以将多项分布表示为指数族分布:

p(y;ϕ)=ϕ1{y=1}1ϕ1{y=2}2⋯ϕ1{y=k}k=ϕ1{y=1}1ϕ1{y=2}2⋯ϕ1−∑k−1i=11{y=i}k=ϕ(T(y))11ϕ(T(y))22⋯ϕ1−∑k−1i=1(T(y))ik=exp((T(y))1log(ϕ1)+(T(y))2log(ϕ2)+⋯+(1−∑i=1k−1(T(y))i)log(ϕk))=exp((T(y))1log(ϕ1/ϕk)+(T(y))2log(ϕ2/ϕk)+⋯+(T(y))k−1log(ϕk−1/ϕk)+log(ϕk))=b(y)exp(ηTT(y)−a(η))

其中:

ηa(η)b(y)=⎡⎣⎢⎢⎢⎢⎢log(ϕ1/ϕk)log(ϕ1/ϕk)⋮log(ϕk−1/ϕk)⎤⎦⎥⎥⎥⎥⎥=−log(ϕk)=1

上述推导表明了多项分布属于指数族分布,并得到了关联函数如下(前面已经证明了期望值即为 ϕi ):

ηi=logϕiϕk

类似地,我们定义 ηk=log(ϕk/ϕk)=0。下面我们将推导出响应函数

eηiϕkeηiϕk∑i=1keηi=ϕiϕk=ϕi=∑i=1kϕi=1(7)

这表明 ϕk=1/∑ki=1eηi,将其代回(7)式,即可得到响应函数为:

ϕi=eηi∑kj=1eηj

这个将 η 映射到 ϕ 的函数又被称为softmax(柔性最大值)函数。

根据之前的假设3,我们有 ηi=θTix (i=1,…,k−1) ,其中 ϕ1,…,ϕk−1∈ℝn+1,为了方便,我们定义ϕk=0,这样 ηk=ϕTkx=0,因此,我们的模型给出y的条件分布如下:

p(y=i∣x;θ)=ϕi=eηi∑kj=1eηj=eθTix∑kj=1eθTjx

这个模型可以应用于多元分类问题(y∈{1,…k}),被称为 softmax 回归,它是逻辑回归的推广。

综上,我们的假设函数为:

hθ(x)=E[T(y)∣x;θ]=E⎡⎣⎢⎢⎢⎢⎢1{y=1}1{y=2}⋮1{y=k−1}x;θ⎤⎦⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢ϕ1ϕ2⋮ϕk−1⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢eθT1x∑kj=1eθTjxeθT2x∑kj=1eθTjx⋮eθTk−1x∑kj=1eθTjx⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

该假设函数给出了y 取每个可能的值的条件概率(i=1,…,k),其中 p(y=k∣x;θ) 由 1−∑k−1i=1ϕi 得到。

最后,我们来讨论 softmax 回归的参数拟合。与之前类似,如果我们有一个训练集 {(x(i),y(i));i=1,…,m},希望学习出这个模型的参数 θi,我们首先会给出其对数似然函数:

ℓ(θ)=∑i=1mlogp(y(i)∣x(i);θ)=∑i=1mlog∏l=1k⎛⎝⎜⎜eθTlx(i)∑kj=1eθTjx(i)⎞⎠⎟⎟1{y(i)=l}

下面我们就可以通过最大似然分析求出参数 θ,使用梯度上升或牛顿方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: