Part 3 Generalized Linear Models(广义线性模型)

在Part1和Part2我们见到了回归模型和分类模型。在回归的例子中,我们假设了高斯分布,也就是

广义线性模型的假设 广义线性模型实例_指数分布族


广义线性模型的假设 广义线性模型实例_广义线性模型的假设_02

。在分类的例子中我们选择了伯努利分布,也就是

广义线性模型的假设 广义线性模型实例_指数分布族_03

:

广义线性模型的假设 广义线性模型实例_伯努利分布_04

这两个例子都是由广义线性模型推导出来的。接下来还会描述GLM家族中其他模型在前面两个问题中是如何应用的。

1. The exponential family(指数分布族)

在介绍广义线性模型之前,我们要先了解一下指数分布族。

指数分布族是指可以表示为指数形式的概率分布,指数形式的概率分布如下:

广义线性模型的假设 广义线性模型实例_伯努利分布_05

(1)其中η叫做natural parameter(自然参数)或者 canonical parameter(典范参数),

广义线性模型的假设 广义线性模型实例_指数分布族_06

是sufficient statistic(充分统计量),通常

广义线性模型的假设 广义线性模型实例_指数分布族_06

=y,

广义线性模型的假设 广义线性模型实例_广义线性模型的假设_08

是 log partition function,

广义线性模型的假设 广义线性模型实例_高斯分布_09

从本质上是正规化常数,使

广义线性模型的假设 广义线性模型实例_指数分布族_10

对y的求和或者积分为1.

当参数a、b、T都固定的时候,就定义了一个以η为参数的函数族。当我们改名η就可以得到这个家族中的各不同的分布。

1.1将伯努利分布表示成指数分布形式:

伯努利分布是对0,1问题进行建模的分布,上一篇博客可以提到可以表示为:

广义线性模型的假设 广义线性模型实例_伯努利分布_11

进一步推导:

广义线性模型的假设 广义线性模型实例_高斯分布_12

(2)

若:

广义线性模型的假设 广义线性模型实例_广义线性模型_13

(注意这里的φ和sigmoid function 形式很相似,这是因为逻辑模型对问题的前置概率估计是伯努利分布)

广义线性模型的假设 广义线性模型实例_广义线性模型_14

(3)

把(3)带入(2)即和(1)的形式相同。即通过对a,b,T的适当的取值,将伯努利分布表示成指数分布形式。

1.2 将高斯分布表示成指数分布形式:

我们回顾一下,在推导线性回归模型的时候,

广义线性模型的假设 广义线性模型实例_伯努利分布_15

的取值对最终选择的

广义线性模型的假设 广义线性模型实例_伯努利分布_16

并无影响。所以我们可以对

广义线性模型的假设 广义线性模型实例_伯努利分布_15

选取任意值,为了方便推导,下面使

广义线性模型的假设 广义线性模型实例_高斯分布_18

。所以我们的高斯分布为:

广义线性模型的假设 广义线性模型实例_广义线性模型_19

(4)

之后使:

广义线性模型的假设 广义线性模型实例_高斯分布_20

(5)

把(5)带入(4)即和(1)的形式相同。即通过对a,b,T的适当的取值,将高斯分布表示成指数分布形式。

1.3 其他分布:

实际上,大部分分布都可以表示成指数分布形式:

广义线性模型的假设 广义线性模型实例_指数分布族_21

(上面引用于:)

2. Constructing GLMs(构建广义线性模型)

假设你想构建一个模型,用来评估店内在给定时间内的客流量y,基于的特征x有店内促销,近期光管,天气等。我们知道泊松分布(Poisson distribution)在预测游客数量方面能建立很好的模型,因为泊松分布也是指数家族分布的一员,所以我们在这里提供一个构建广义线性模型的方法来解决上述的问题。

下面是GLM的三个假设:

1. 

广义线性模型的假设 广义线性模型实例_广义线性模型的假设_22

:给定样本X和固定参数θ,样本分类y服从指数家族分布的某个分布;2.给定一个样本x,我们的目标函数应该为

广义线性模型的假设 广义线性模型实例_伯努利分布_23

;(后者表示该分布的期望)3.使

广义线性模型的假设 广义线性模型实例_广义线性模型_24

广义线性模型的假设 广义线性模型实例_广义线性模型的假设_25

下面对如何构建广义线性模型举个例子方便大家更好的理解。

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

当我们所预测的y是连续的但不仅仅是两个值而是K个值,也就是

广义线性模型的假设 广义线性模型实例_广义线性模型_26

广义线性模型的假设 广义线性模型实例_伯努利分布_27

的时候,(比如说我们想把邮件分成三类:垃圾邮件,个人邮件,工作邮件),我们一般用多项式分布推导的GLM解决多类分类问题:

下面图片来自

广义线性模型的假设 广义线性模型实例_伯努利分布_28

(1)和(2)(图中的φ和φ后边的一致)为了使多项式能满足指数家族分布,我们先定义T(y),

广义线性模型的假设 广义线性模型实例_伯努利分布_29


广义线性模型的假设 广义线性模型实例_伯努利分布_30

和之前的两个例子不同,这里我们并没有使T(y)=y,T(y)目前在这里是K-1维的向量,而不是个实际的数值。我们下面会用

广义线性模型的假设 广义线性模型实例_伯努利分布_31

来表示T(y)矢量的第i个元素。

(在这里我们插入一个小片段,认识一个有用的符号1{·}:

1{·}:

广义线性模型的假设 广义线性模型实例_广义线性模型的假设_32


ex: 

广义线性模型的假设 广义线性模型实例_伯努利分布_33

: 2=3为False,所以原式=0.)

所以我们上边那个长长的T(y)表示形式可以写成

广义线性模型的假设 广义线性模型实例_广义线性模型的假设_34

(只有在T(y)中元素i=y的时候T(y)=1,其他情况T(y)=0。)

而此时

广义线性模型的假设 广义线性模型实例_广义线性模型_35

 (一定要理解啊宝宝们:

广义线性模型的假设 广义线性模型实例_广义线性模型的假设_36


所以多项分布(总概率为各个概率之积)转为指数分布:

广义线性模型的假设 广义线性模型实例_广义线性模型_37

此时:

广义线性模型的假设 广义线性模型实例_高斯分布_38

(3)

到此为止我们就完成了多项分布向指数分布的转化。

由式子(3)中的η:

广义线性模型的假设 广义线性模型实例_伯努利分布_39

(4)

累加:

广义线性模型的假设 广义线性模型实例_伯努利分布_40

(5)

将(5)带入(4)得多项式分布的期望:

广义线性模型的假设 广义线性模型实例_广义线性模型的假设_41

(此时η和φ的映射被称为softmax function)(6)之后我们根据GLM的第三个假设,

广义线性模型的假设 广义线性模型实例_高斯分布_42

,把(6)带入(1)得:

广义线性模型的假设 广义线性模型实例_高斯分布_43

(7)

这个可以解决多类分类的模型被叫做softmax regression。这是逻辑回归的概括。

我们的输出:

广义线性模型的假设 广义线性模型实例_伯努利分布_44

换句话说,我们的假设会输出对每个类别的评估概率

广义线性模型的假设 广义线性模型实例_伯努利分布_45


2.2 参数拟合 parameter fitting

即如何根据假设函数h 求得θ。选择的还是最大似然的方法。

最大似然函数:

广义线性模型的假设 广义线性模型实例_伯努利分布_46

取对数:

广义线性模型的假设 广义线性模型实例_伯努利分布_47

将(7)带入即可。

之后再用梯度上升法或者牛顿法求得L的最大值即可完成softmax regression求解。

总结:

1.根据第一个假设得到η和φ的关系;

2.根据第三个假设,用θT·x代替η;

3.根据第二个假设目标函数h(x)就是期望,并且和φ有关。根据前面两个假设得到的式子用θT·x和h(x)的关系。(对比逻辑模型和线性模型,会发现这个推出来的和我们之前假设的目标函数惊人的一样)




希望对大家的理解有帮助。