为参数的某个分布。给定一个x,我们需要的目标函数为hθ(x)=E[T(y)x;θ],后者为该分布的期望。令η=θTx

其中,所有可以表示成如下形式的概率分布,都属于指数分布族:

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

在式(35)中,η成为分布的自然参数(Nature parameter);T(y)是充分统计量(Sufficient statistic),通常情况下T(y)=y。当参数a、b、T都固定的时候,久定义了一个以η为参数的函数族。

3.2、线性回归模型在广义线性模型下的推导

在上文中我们是通过对高斯分布的概率解释来获得确信的J(θ)

的,那我们就尝试着将高斯分布放在广义线性模型下推导,看看能做出来什么模型。
首先我们看向第1点,将高斯分布表示成式(35)的形式:

p(y;μ)=12πσexp((yμ)22σ2)=12πσexp(12y2)exp(μy12μ2)(36)

其中:
ηT(y)a(η)b(y)=ηT=μ=y=12μ2=12η2=12πσexp(12y2)(37)

这就正好表示成了式(35)的形式,符合了第1点假设的要求,接下来我们看向第2点,使我们的假设函数等于高斯分布的期望:
hθ(x)=E[T(y)x;θ]=E[yx;θ]=μ(38)

最后我们看向第3点,令η=θTx,又因为我们在式(37)中有η=μ,则:
hθ(x)=μ=η=θTx(39)

这就是最开始的式(2)的由来,惊不惊喜,刺不刺激。

3.3、逻辑回归模型在广义线性模型下的推导

逻辑回归的假设里是用到了伯努利分布的,我们同样地将伯努利分布放在广义线性模型下进行推导,看看是不是能得到逻辑回归的hθ(x)

,如式(22)。
还是从第一点看起,把伯努利分布表示成指数分布族的形式:

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

相应的参数为:
ηT(y)a(η)b(y)=logϕ1ϕϕ=11+eη=y=log(1ϕ)=log((1ϕ)1)=log(1+eη)=1(41)

接下来执行第二点与第三点,令假设函数hθ(x)等于伯努利函数的期望,并且令η=θTx
hθ(x)=E[T(y)x;θ]=E[yx;θ]=ϕ=11+eη=11+eθTx(42)

这就是逻辑回归的假设函数式(22)的由来了。

除了高斯分布与伯努利分布,大多数的概率分布都能表示成指数分布族的形式,如多项式分布(Multinomial),对有K个离散结果的事件建模;泊松分布(Poisson),对计数过程进行建模,如网站访问量的计数问题;指数分布(Exponential),对有间隔的证书进行建模,如预测公交车的到站时间的问题;等等,然后通过进一步的推导,就能得到各自的线性模型,这大大扩展了线性模型可解决问题的范围。

3.4、多分类回归模型(Softmax regression)在广义线性模型下的推导

3.4.1、多项式分布

接下来再来利用多项式分布进行建模,得到解决多分类问题的模型,它是逻辑回归二分类模型的扩展。
首先我们给出多项式分布的一些公式:

p(y=i)i=1kϕi=ϕi=1(43)

其中y{1,2,3,,k},又因为ϕi累加为1,我们可以只保留k1个参数:
ϕk=1i=1k1ϕi(44)

3.4.2、从两点分布出发

为了有个直观的理解,我们先来看k=2

时的情况。
此时p(y=1)=ϕ1p(y=2)=ϕ2,并且ϕ1+ϕ2=1,于是有ϕ2=1ϕ1


p(y=1)p(y=2)ϕ1+ϕ2p(yϕ1)=ϕ1=ϕ2=1ϕ2=1ϕ1=ϕ2y1ϕy12=ϕ2y1(1ϕ1)y1p(yϕ)=ϕ2y(1ϕ)y1(45)

y=1时,只取ϕ1;当y=2时,只取ϕ2,即1ϕ1,又因为只有一个参数ϕ1了,干脆就直接令ϕ1=ϕ。这与两点分布所要表达的意义是一模一样的,只不过两点分布只做二分类,就采取了取0和1的方式,使得整个式子更简洁(参考式(40)的第一行)。

3.4.3、多项式概率分布

那么在更一般的多分类问题中,其概率分布为:

p(y;ϕ)=ϕI(y=1)1ϕI(y=2)2ϕI(y=k)k(46)

这个式子所要表达的意思是,当y的值取到i的时候,只取相应的ϕi的值。因为当k的取值不同之时,ϕi的指数表示形式会不一样(如上面的例子,同是两点分布,仅是取值不同就会使得其指数表达不一样)。
为了更方便的表达,引入了上面的指示器函数(Indicator function),如果判断条件为真,输出1,反之输出0:
I{Ture}I{False}=1=0(47)

I{3=3}=1I{3=2}=0
所以,当y=1时,式(47)的第一个乘子ϕ1的指数为1,其他所有的乘子的指数全部为0,进一步推广到所有取值的情况,就起到了当y的值取到i的时候,只取相应的ϕi的值的作用。
但是这个指示器函数是一个抽象的东西,如何才能确实地实现这个作用呢?我们给出如下所示的T(y)
T(1)=1000,T(2)=0100,,T(k1)=0001,T(k)=0000(48)

这样T(y)中的某个元素可以表示成:
T(y)i=I{y=i}(49)

举例来说,当y=2时,T(2)中的第一个元素为:T(2)1=I{2=1}=0T(2)中的第二个元素为:T(2)2=I{2=2}=1,这就解决了指数上标什么时候取0什么时候取1的问题。
于是我们从式(46)中进一步得到具体的多项式分布的概率分布:
p(y;ϕ)=ϕI{y=1}1ϕI{y=2}2ϕI{y=k}k=ϕI{y=1}1ϕI{y=2}2ϕ1k1i=1I{y=i}k=ϕT(y)11ϕT(y)22ϕ1k1i=1T(y)ik(50)

3.4.4、在广义线性模型下的推导

还是从广义线性模型的第一点开始做起,将式(50)的概率分布表示成指数分布族的形式:

p(y;ϕ)=ϕT(y)11ϕT(y)22ϕ1k1i=1T(y)ik=exp(T(y)1logϕ1+T(y)2logϕ2++((1i=1k1T(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(η))(51)

我们有:
ηT(y)a(η)b(y)=logϕ1ϕklogϕ2ϕklogϕk1ϕk=48=logϕk=1(52)

观察式(52)我们可以发现,向量η的第i个元素为:
ηi=logϕiϕkeηi=ϕiϕk(53)

令其累加,得到:
i=1keηi=ki=1ϕiϕk=1ϕkϕk=1ki=1eηi(54)

ϕk带入式(53),即可得到多项式分布的期望:
ϕi=eηiki=1eηi(55)

那么接下来的第二步与第三步,令假设函数hθ(x)等于多项式分布的期望,并且令η=θTx,就显得非常地顺理成章了:
hθ(x)=E[T(y)x;θ]=Ep(y=1x;θ)p(y=2x;θ)p(y=k1x;θ)=ϕ1ϕ2ϕk1=eη1ki=1eηieη2ki=1eηieηk1ki=1eηi=eθT1xki=1eθTixeθT2xki=1eθTixeθTk1xki=1eθTix(56)

这就是softmax回归的模型了。
如果要求取参数θ,还是和线性回归与逻辑回归一样,取其log似然函数做最大似然估计,具体方法可以选择梯度法或者牛顿法。

相关文章: