Part 3 Generalized Linear Models(广义线性模型)
在Part1和Part2我们见到了回归模型和分类模型。在回归的例子中,我们假设了高斯分布,也就是:。
这两个例子都是由广义线性模型推导出来的。接下来还会描述GLM家族中其他模型在前面两个问题中是如何应用的。
1. The exponential family(指数分布族)
在介绍广义线性模型之前,我们要先了解一下指数分布族。
指数分布族是指可以表示为指数形式的概率分布,指数形式的概率分布如下:
(1)
其中η叫做natural parameter(自然参数)或者 canonical parameter(典范参数),是sufficient statistic(充分统计量),通常=y,是 log partition function,从本质上是正规化常数,使对y的求和或者积分为1.
当参数a、b、T都固定的时候,就定义了一个以η为参数的函数族。当我们改名η就可以得到这个家族中的各不同的分布。
1.1将伯努利分布表示成指数分布形式:
伯努利分布是对0,1问题进行建模的分布,上一篇博客可以提到可以表示为:
进一步推导:
若:
(注意这里的φ和sigmoid function 形式很相似,这是因为逻辑模型对问题的前置概率估计是伯努利分布)
把(3)带入(2)即和(1)的形式相同。即通过对a,b,T的适当的取值,将伯努利分布表示成指数分布形式。
1.2 将高斯分布表示成指数分布形式:
我们回顾一下,在推导线性回归模型的时候,的取值对最终选择的并无影响。所以我们可以对选取任意值,为了方便推导,下面使。所以我们的高斯分布为:
之后使:
把(5)带入(4)即和(1)的形式相同。即通过对a,b,T的适当的取值,将高斯分布表示成指数分布形式。
1.3 其他分布:
实际上,大部分分布都可以表示成指数分布形式:
(上面引用于:https://blog.csdn.net/stdcoutzyx/article/details/9207047)
2. Constructing GLMs(构建广义线性模型)
假设你想构建一个模型,用来评估店内在给定时间内的客流量y,基于的特征x有店内促销,近期光管,天气等。我们知道泊松分布(Poisson distribution)在预测游客数量方面能建立很好的模型,因为泊松分布也是指数家族分布的一员,所以我们在这里提供一个构建广义线性模型的方法来解决上述的问题。
下面是GLM的三个假设:
1. :给定样本X和固定参数θ,样本分类y服从指数家族分布的某个分布;
2.给定一个样本x,我们的目标函数应该为;(后者表示该分布的期望)
3.使
下面对如何构建广义线性模型举个例子方便大家更好的理解。
2.1 多分类回归模型(Softmax regression)在广义线性模型下的推导
当我们所预测的y是连续的但不仅仅是两个值而是K个值,也就是的时候,(比如说我们想把邮件分成三类:垃圾邮件,个人邮件,工作邮件),我们一般用多项式分布推导的GLM解决多类分类问题:
下面图片来自https://blog.csdn.net/stdcoutzyx/article/details/9207047
为了使多项式能满足指数家族分布,我们先定义T(y),:
和之前的两个例子不同,这里我们并没有使T(y)=y,T(y)目前在这里是K-1维的向量,而不是个实际的数值。我们下面会用来表示T(y)矢量的第i个元素。
(在这里我们插入一个小片段,认识一个有用的符号1{·}:
1{·}:;
ex: : 2=3为False,所以原式=0.)
所以我们上边那个长长的T(y)表示形式可以写成
(只有在T(y)中元素i=y的时候T(y)=1,其他情况T(y)=0。)
而此时
所以多项分布(总概率为各个概率之积)转为指数分布:
此时:
到此为止我们就完成了多项分布向指数分布的转化。
由式子(3)中的η:
累加:
将(5)带入(4)得多项式分布的期望:
(此时η和φ的映射被称为softmax function)(6)
之后我们根据GLM的第三个假设,,把(6)带入(1)得:
这个可以解决多类分类的模型被叫做softmax regression。这是逻辑回归的概括。
我们的输出:
换句话说,我们的假设会输出对每个类别的评估概率。
2.2 参数拟合 parameter fitting
即如何根据假设函数h 求得θ。选择的还是最大似然的方法。
最大似然函数:
取对数:
将(7)带入即可。
之后再用梯度上升法或者牛顿法求得L的最大值即可完成softmax regression求解。
总结:
1.根据第一个假设得到η和φ的关系;
2.根据第三个假设,用θT·x代替η;
3.根据第二个假设目标函数h(x)就是期望,并且和φ有关。根据前面两个假设得到的式子用θT·x和h(x)的关系。(对比逻辑模型和线性模型,会发现这个推出来的和我们之前假设的目标函数惊人的一样)
在此推荐两个博客:
https://blog.csdn.net/sinat_37965706/article/details/69204397
https://blog.csdn.net/stdcoutzyx/article/details/9207047
希望对大家的理解有帮助。