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

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

指数族

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

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

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

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

伯努利分布的证明

伯努利分布可以表示为:

p(y;ϕ)=ϕy(1ϕ)1y=exp(ylogϕ+(1y)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(μy12μ2)

因此,通过如下选择,我们可以证明高斯分布属于指数族分布。
ηT(y)a(η)b(y)=μ=y=μ2/2=η2=(1/2π)exp(y2/2)

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

构建广义线性模型

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

  1. yx;θ 符合以 η 为参数的指数族分布;
  2. 给定 x ,我们的目标是预测 T(y) 的理想值,而在大多数的案例中, T(y)=y ,这意味着我们的假设 h 应该满足h(x)=E[yx](可以从期望的定义上来进行理解)
  3. 自然参数 η 和 输入 x 满足线性关系 η=θTx (如果 η 是向量,那么 ηi=θTix )

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

线性回归

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

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

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

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

逻辑回归

这里我们考虑二元分类问题,则反应变量的条件分布满足伯努利分布 yx;θ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,ϕk1 ,其中 ϕi=p(y=i;ϕ) ,则 ϕk=1k1i=1ϕi ,注意其并不是一个参数,而是由 ϕ1,ϕk1 确定的。

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

T(1)=1000,T(2)=0100,T(3)=0010,T(k1)=0001,T(k)=0000,

与之前不同, 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=52}=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ϕ1k1i=11{y=i}k=ϕ(T(y))11ϕ(T(y))22ϕ1k1i=1(T(y))ik=exp((T(y))1log(ϕ1)+(T(y))2log(ϕ2)++(1i=1k1(T(y))i)log(ϕk))=exp((T(y))1log(ϕ1/ϕk)+(T(y))2log(ϕ2/ϕk)++(T(y))k1log(ϕk1/ϕk)+log(ϕk))=b(y)exp(ηTT(y)a(η))

其中:
ηa(η)b(y)=log(ϕ1/ϕk)log(ϕ1/ϕk)log(ϕk1/ϕk)=log(ϕk)=1

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

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

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

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

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

p(y=ix;θ)=ϕi=eηikj=1eηj=eθTixkj=1eθTjx

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

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

hθ(x)=E[T(y)x;θ]=E1{y=1}1{y=2}1{y=k1}x;θ=ϕ1ϕ2ϕk1=eθT1xkj=1eθTjxeθT2xkj=1eθTjxeθTk1xkj=1eθTjx

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

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

(θ)=i=1mlogp(y(i)x(i);θ)=i=1mlogl=1keθTlx(i)kj=1eθTjx(i)1{y(i)=l}

下面我们就可以通过最大似然分析求出参数 θ ,使用梯度上升或牛顿方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值