ML—广义线性模型(GLM)

华电北风吹
最后修改日期 2015/11/3

本文基于逻辑回归解释GLM,并将GLM推广到基于最小二乘的线性回归和Softmax回归。

一、指数分布族(ExponentialFamily)。
如果一个分布函数可以写成如下的形式
p(y,η)=b(y)eηTT(y)a(η)(1-1)
η :自然参数,标准参数,规范参数
T(y) :充分统计量
a(η) :对数分函数
其中, T,a,b 确定了参数为 η 的一种分布函数。

例如,在基于伯努利分布 Bernouli(ϕ) 的逻辑回归中,假设 p(y=1;ϕ)=ϕ,p(y=0;ϕ)=1ϕ ,对于不同的 ϕ 我们得到不同的伯努利分布函数,这就是伯努利分布族。下面我们可以推导一下,证明伯努利分布~ Bernouli(ϕ) 满足式(1-1)。
p(y;ϕ)=ϕy(1ϕ)1y
     =eylogϕ+(1y)log(1ϕ)
     =eylogϕ1ϕ+log(1ϕ)
     (1-2)
对比式(1-1)可得
η=logϕ1ϕ
T(y)=y
a(η)=log(1ϕ)
b(y)=1
(1-3)
二、GLM的三个假设
1、什么是线性模型?
习惯上,满足下面三条
y=xβ+ϵ
E(ϵ)=0
cov(ϵ,ϵ)=σ2Inn
(2-1)
2、什么是广义线性模型?
广义线性模型需要满足y关于x的条件概率和模型设定三个假设:
1) y|x;θ ~ ExponentialFamily(η) 对于给定的 x θ , y 的分布服从参数为 η 的指数分布族
2) 对于给定的 x ,目标是预测给定 x T(y) 的期望。
3) 自然参数 η 和输入 x 是线性关系: η=θTx (如果 η 是向量,那么 ηi=θTix )。

3、结合逻辑回归来对三个GLM假设的说明
为了逻辑的清晰,我稍微修改一下对于三个假设的解释顺序
3.1 假设3的解释
对于假设3,意味着在任何出现 η 的地方,我们都需要用 η=θTx 或者 ηi=θTix 替换。
回到公式(1-3),我们可以得到
ϕ=11+eη(2-2)
根据假设3, η=θTx ,可以进一步的得到
ϕ=11+eθTx(2-3)

3.2 假设2的解释
主要是说GLM的输出。输出的 hθ(x)=E[T(y)|x]
对于逻辑回归,由公式(1-3)的 T(y)=y 。所以有
hθ(x)=E[y|x]=ϕ1+(1ϕ)0=ϕ(2-4)
即对于输入 x ,逻辑回归的输出是 ϕ ,结合公式(2-3)可得
hθ(x)=ϕ=11+eθTx(2-5)

3.3 假设1的解释
注意这里的 θ η 。针对逻辑回归,将公式(2-4)带入公式(1-2)的第一行,得到
p(y;ϕ)=ϕy(1ϕ)1y=hθ(x)y(1hθ(x))1y=p(y|x;θ)(2-6)
前面公式(1-2,1-3)已经证明 p(y;ϕ) 属于 ExponentialFamily(η)
而概率分布 p(y|x;θ) 是由 p(y;ϕ) 根据GLM假设3推导出来的。

三、GLM参数求解
对于训练样本 (x1,y1),(x2,y2),...,(xm,ym) ,似然函数为
L(θ)=mi=1p(yi|xi;θ)=mi=1hθ(xi)yi(1hθ(xi))1yi(3-1)
后面只需要对公式(3-1)进行求解,得到使似然函数达到极大值时对应的 θ 即可。

四、GLM扩展—最小二乘法
讲最小二乘法之前先来看看高斯分布的指数分布族变换推导
y|x ~ N(μ,σ2) ,我们考虑简单情况 σ2=1 所以有下式
p(y,μ)=12πexp(12(yμ)2)
     =12πexp(12y2)exp(μy12μ2)
     (4-1)
可得到如下表达式:
η=μ
T(y)=y
a(η)=12μ2=12η2
b(y)=12πexp(12y2)
(4-2)
接下来,根据GLM的三个假设可以得到
hθ(x)=E[y|x;θ]
     =μ
     =η
     =θTx
     (4-3)
公式(4-3)第一行根据是GLM假设2,第二行根据是高斯分布性质,第三行根据是高斯分布的指数分布族形式,最后一行根据是GLM假设3。
接下来如果要训练模型求解 θ ,利用训练样本的 x,y 求公式(4-1)的极大似然函数即可(需要利用公式(4-3)将参数 μ θ 表示)。如果要预测 x 对应的输出,直接使用公式(4-3)即可。
注:模型训练得到的似然函数最大化的公式跟线性回归里面最小二乘的概率解释相同。

五、GLM扩展—SoftMax回归
SoftMax可以看成是伯努利分布的扩展,伯努利是二分类,SoftMax是多分类,假如是k分类。
p(y=i)=ϕi,i=1,2,...,kyki=1ϕi=1 因此对于k分类问题只需要k-1个参数,但是为了后面表示方便我们仍旧使用 ϕkϕk=1k1i=1ϕi 。为了在指数分布族表示的时候更清晰,我们引入(k-1)*1维向量 T
T(1)=[1,0,0,...,0,0]T,T(2)=[0,1,0,...,0,0]T,T(k1)=[0,0,0,...,0,1]T,T(k)=[0,0,0,...,0,0]T
我们用 (T(y))i 表示 T(y) 的第i个元素,有 (T(y))i=1{y=i} 下面就会发现这样表示会使表述很清晰。

1、对于SoftMax,第一步仍旧是转换为指数分布族形式,找出参数 ϕi η 之间的关系
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)+...+(1k1i=1(T(y))i)log(ϕk))
     =exp((T(y))1log(ϕ1/ϕk)+(T(y))2log(ϕ2/ϕk)+...+(T(y))k1log(ϕk1/ϕk)+log(ϕk))
     =exp(ηT(T(y))+log(ϕk))
(5-1)
其中 η=(log(ϕ1/ϕk),log(ϕ2/ϕk),..,log(ϕk1/ϕk))T,a(η)=log(ϕk),b(y)=1
所以有 ηi=log(ϕi/ϕk)k=1,2,...,k1 ,这里添加一个 ηk=log(ϕk/ϕk)=0
ϕi=ϕkeηi
又因为 ϕk=k1i=1ϕi=1
ϕk=1ki=1ηi
所以SoftMax对应的GLM一般过程第一步得到
ϕi=eηiki=1eηi(5-2)
2、由GLM假设3的向量形式
ηi=θTix(5-3)
由于只有k-1个参数,这里仅对于 i=1,2,...,k1 成立,为了保持一致,可以令 ηk=θTkx=0
将公式(5-2,5-3)带公式(5-1)便可以得到Softmax的关于参数 θi 的条件概率公式
p(y|x;θ)=...()(5-4)
这个时候,如果有训练样本就可以根据似然函数最大化求解各个参数 θi 了,然后就可以对测试样本进行分类预测了。
3、几个结果展示
p(y=i|x;θ)=ϕi=eηiki=1eηi=eθTixki=1eθTix(5-5)
GLM在Softmax上的输出
hθ(x)=E[T(y)|x;θ]
      =[ϕ1,ϕ1,,...,ϕk1,]T
(5-6)
六、GLM小结
结合Logistic Regression和Linear Regression可以总结一下GLM会发现GLM特别简单。一句话概括就是——GLM搭建了一个初始分布参数到特征加权和的一个桥梁。
例如在LR中,y服从参数为 ϕ 伯努利分布,GLM做的就是确定 ϕ θTx 之间的关系,这个是通过伯努利分布的指数分布族形式( η )推导出来的。同理在Linear Regression中,y服从参数为 μ 的正态分布,GLM根据正态分布的指数分布族形式,发现 μ=η=θTx ,接下来在消参的时候统一将参数用推导出来的参数关于 θTx 的形式表示,就得到了广义线性模型。
总之GLM一般过程就是:
1、确定带参数的初始分布,以及他的指数分布族形式,得到初始分布中包含的参数与 η (可能是向量,跟原始分布参数个数有关)的关系
2、将 η 写成 θTx 的线性形式,得到初始分布参数关于 x 的函数,这时如果用 θTx 来求y的概率,就会发现参数变成 θ
3、根据2推导出来的计算概率的公式,得到似然函数,求极值确定参数 θ

你可能感兴趣的:(逻辑回归,广义线性模型,线性回归,softmax回归)