Andrew Zhang
Tianjin Key Laboratory of Cognitive Computing and Application
Tianjin University
Nov 3, 2015
本文主要讲解我对GLM的理解,并将GLM推广到逻辑回归,线性回归和Softmax回归理论中。
一、指数分布族(ExponentialFamily)
如果一个分布密度函数可以写成如下的形式
p(y,η)=b(y)eηTT(y)−a(η)(1-1)
其中, η 被称为自然参数,标准参数或者规范参数; T(y) 被称为充分统计量;而 a(η) 一般被称为对数分函数。 T,a,b 确定了参数为 η 的一种分布函数。
二、GLM的三个假设
1、线性模型的假设
线性模型有如下三条假设
y=xβ+ϵ
E(ϵ)=0
cov(ϵ,ϵ)=σ2In∗n
(2)
2、广义线性模型的三条假设
广义线性模型需要满足y关于x的条件概率和模型设定三个假设:
假设一: y|x;θ ~ ExponentialFamily(η) 对于给定的 x 和 θ , y 的分布服从参数为 η 的指数分布族
假设二:对于给定的 x ,目标是预测给定 x 下 T(y) 的期望
假设三:自然参数 η 和输入 x 是线性关系: η=θTx (如果 η 是向量,那么 ηi=θTix )
3、对GLM三个假设的说明
3.1 假设1的解释
假设一讲的是广义线性模型的核心。广义线性模型广体现在 y 服从的是一个指数分布族。简单来说,就是对于所有的样本 y 服从的是同一个分布,只不过不同样本之间这个分布的参数不同。例如若所有样本的 y 都是伯努利分布,则不同的样本分别对应与 x 相关的 ϕ (逻辑回归),若若所有样本的 y 都是正态分布,则不同的样本分别对应与 x 相关的 μ (最小二乘)。。。。。
3.2 假设2的解释
主要是说GLM的输出。输出的 hθ(x)=E[T(y)|x] 。
3.3 假设3的解释
对于假设3,意味着在任何出现 η 的地方,我们都需要用 η=θTx 或者 ηi=θTix 替换,以此转化为关于输入 x 的线性关系。
三、GLM参数求解
对于GLM模型参数 θ 的求解,一般都要利用极大似然估计,求解出使得采样样本取得最大概率的参数 θ 。
对于训练样本 (x1,y1),(x2,y2),...,(xm,ym) ,似然函数为
L(θ)=∏mi=1p(yi|xi;θ)(3)
后面只需要对公式(3)进行求解,得到使似然函数达到极大值时对应的 θ 即可。
四、GLM—逻辑回归
在逻辑回归中,假设类别标签服从伯努利分布 Bernouli(ϕ) ,即 p(y=1;ϕ)=ϕ,p(y=0;ϕ)=1−ϕ ,在这里 ϕ 与 x 有关。也就是说不同的输入 x 可以得到不同的伯努利分布,这就是逻辑回归的伯努利分布族。
首先我们来推导一下,证明伯努利分布~ Bernouli(ϕ) 满足指数分布族形式(1)。
p(y;ϕ)=ϕy(1−ϕ)1−y
=eylogϕ+(1−y)log(1−ϕ)
=eylogϕ1−ϕ+log(1−ϕ)
(4-1)
对比式(1)可得
η=logϕ1−ϕ
T(y)=y
a(η)=log(1−ϕ)
b(y)=1
根据上式 η=logϕ1−ϕ ,我们可以得到
ϕ=11+e−η(4-2)
根据GLM假设3— η=θTx ,可以进一步的得到
ϕ=11+e−θTx(4-3)
公式4-3实际上说的逻辑回归中样本特征 x 与样本标签所服从的伯努利分布参数 ϕ 之间的关系。这里也解释了为什么逻辑回归要采用单极型函数。
对于指数分布族形式得到的式子 T(y)=y ,可以得到GLM模型的输出 hθ(x) 如下关系
hθ(x)=E[y|x]=ϕ∗1+(1−ϕ)∗0=ϕ(4-4)
结合公式(4-3)可得
hθ(x)=ϕ=11+e−θTx(4-5)
综上,可得逻辑回归模型的数学表达形式如下:
p(y|x;θ)=p(y;ϕ)=ϕy(1−ϕ)1−y=hθ(x)y(1−hθ(x))1−y(4-6)
后面的工作就是对于训练样本训练模型得到参数 θ ,然后对测试样本进行预测即可。逻辑回归模型训练采用极大似然估计就可以,似然函数如下,
L(θ)=∏mi=1p(yi|xi;θ)=∏mi=1hθ(xi)yi(1−hθ(xi))1−yi(4-7)
五、GLM—线性回归
对于线性回归的广义线性模型解释中,需要假设因变量 y 服从正态分布 N(μ,σ2) 。
首先还是先来看看高斯分布的指数分布族变换
令 y|x ~ N(μ,σ2) ,我们考虑简单情况 σ2=1 所以有下式
p(y;μ)=12π√exp(−12(y−μ)2)
=12π√exp(−12y2)exp(μy−12μ2)
(5-1)
对应于式子1,可得到如下表达式:
η=μ
T(y)=y
a(η)=12μ2=12η2
b(y)=12π√exp(−12y2)
根据GLM假设3— η=θTx ,可以进一步的得到
μ=η=θTx(5-2)
接下来,利用GLM的第二个假设可以得到GLM模型的输入 hθ(x) 如下关系
hθ(x)=E[y|x;θ]=μ=η=θTx(5-3)
综上可得线性回归模型的数学表达形式如下:
p(y|x;θ)=12π√exp(−(y−μ)22)=12π√exp(−(y−θTx)22)(5-4)
接下来,只需要利用极大似然法求解参数 θ 即可。如果知道线性回归概率解释的话,会发现这个就是线性回归的概率解释是一样的,很容易就转化为最小二乘形式了。
六、GLM—SoftMax回归
SoftMax可以看成是伯努利分布的扩展,伯努利是二分类,SoftMax是多分类。同理就可以得到SoftMax回归所需要的关于类别标签 y 的分布假设了—多维伯努利分布。
由于SoftMax回归稍微有点麻烦,首先来对用到的符号进行说明。
设 p(y=i)=ϕi,i=1,2,...,k,表示y属于每一个类别的概率,由于∑ki=1ϕi=1 因此对于k分类问题只需要k-1个参数,但是为了后面表示方便我们仍旧使用 ϕk这个符号,不过他不表示多维伯努利分布的模型参数,ϕk=1−∑k−1i=1ϕi 。
为了在指数分布族表示的时候更清晰,我们引入(k-1)*1维向量 T
T(1)=[1,0,0,...,0,0]T
T(2)=[0,1,0,...,0,0]T
T(k−1)=[0,0,0,...,0,1]T
……
T(k)=[0,0,0,...,0,0]T
我们用 (T(y))i 表示 T(y) 的第i个元素, 1{y=i} 返回一个0或1,表示类别是否属于i,有 (T(y))i=1{y=i} 下面就会发现这样表示会使表述很清晰。
对于SoftMax,第一步仍旧是转换为指数分布族形式
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−∑k−1i=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))
=exp(ηT(T(y))+log(ϕk))
(6-1)
其中,
η=(log(ϕ1/ϕk),log(ϕ2/ϕk),..,log(ϕk−1/ϕk))T
a(η)=−log(ϕk)
b(y)=1
有 ηi=log(ϕi/ϕk),k=1,2,...,k−1 ,这里添加一个 ηk=log(ϕk/ϕk)=0
即 ϕi=ϕkeηi
又因为 ∑ki=1ϕi=1
ϕk=1∑ki=1eηi
所以SoftMax对应的GLM一般过程第一步得到
ϕi=eηi∑ki=1eηi(6-2)
由GLM假设3的向量形式
ηi=θTix(6-3)
由于只有k-1个参数,这里仅对于 i=1,2,...,k−1 成立,为了保持一致,根据公式6-2可以令 ηk=θTkx=0 。
将公式(6-2,6-3)带公式(6-1)便可以得到Softmax回归模型的数学表达式如下
p(y|x;θ)=...(带入过程省略)(6-4)
对于模型的求解,利用训练样本求解极大似然估计即可训练模型得到模型参数 θi 。
在这里写一个简单的式子,就是模型对于属于 x 判断输出的概率计算公式如下:
p(y=i|x;θ)=ϕi=eηi∑ki=1eηi=eθTix∑ki=1eθTix(6-5)
利用GLM第二条假设可知Softmax模型的输出形式如下:
hθ(x)=E[T(y)|x;θ]
=[ϕ1,ϕ1,,...,ϕk−1]T
(6-6)
七、GLM小结
总结一下GLM会发现GLM的精髓体现在GLM的第一条假设里面。利用一个分布族来建模,对于不同的输入 x 分别对应不同的分布族参数。而模型的输出由GLM的第二条假设—模型期望来决定。而GLM的第三条假设用来确定模型的线性性质。