第三部分 广义线性模型
到目前为止,我们已经见到了一个回归的例子和一个分类的例子。在回归的例子里,我们有
,在分类问题中我们有
,
和
是某些合适定义的
和
的函数。在这节中,我们将会展示这两个方法都是一个更广泛模型族的特殊情况,(这个模型)被称作广义线性模型(GLMs)。我们也会展示GLM族的其他模型如何推导得出,如何被应用到其他分类和回归问题。
8 指数族
为了走进GLMs,我们将会以定义指数族分布作为开始。我们说一类分布在指数族如果它能被写成
这样的形式。这里,
![](http://img.e-com-net.com/image/info8/22bab2f0cb594278a990002ab8d1d09c.png)
被称作分布的
自然参数(natural parameter)(也称作
典范参数(canonical parameter));
![](http://img.e-com-net.com/image/info8/72191235f9504b279207a1330e08f57a.png)
被称作
充分统计量(sufficient statistic)(对于我们考虑的分布,情况经常是
![](http://img.e-com-net.com/image/info8/915a57938143461ab1e67c8a81254258.png)
);
![](http://img.e-com-net.com/image/info8/9eae3bf6c83c4907a8938f4d0dac9116.png)
是
log 配分函数(log partition function)。
![](http://img.e-com-net.com/image/info8/406f1b62262741caa3638746b263055f.png)
本质上在归一化常数发挥了作用,确保了
![](http://img.e-com-net.com/image/info8/aebe0a74a166465c9694e1a513d4b42c.png)
分布关于
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
的和或积分是1。
一个固定的
![](http://img.e-com-net.com/image/info8/4c05104663e5460d953a9e499f522ef9.png)
定义了一个以
![](http://img.e-com-net.com/image/info8/22bab2f0cb594278a990002ab8d1d09c.png)
作为参数的分布族(集合)。当我们改变
![](http://img.e-com-net.com/image/info8/22bab2f0cb594278a990002ab8d1d09c.png)
,我们然后得到这个族中不同的分布。
我们现在证明伯努利和高斯分布式指数族分布的例子。均值为
![](http://img.e-com-net.com/image/info8/adb47995c5314b378614430d8c33f89f.png)
的伯努利分布,写作Bernoulli(
![](http://img.e-com-net.com/image/info8/adb47995c5314b378614430d8c33f89f.png)
),指定了一个
![](http://img.e-com-net.com/image/info8/1ca149b2640b404bb75d198847132b72.png)
的分布,使得
![](http://img.e-com-net.com/image/info8/148d7d4cba424232b6535163b9d6b824.png)
。当我们改变
![](http://img.e-com-net.com/image/info8/adb47995c5314b378614430d8c33f89f.png)
,我们得到不同均值的伯努利分布。我们现在证明这类通过改变
![](http://img.e-com-net.com/image/info8/adb47995c5314b378614430d8c33f89f.png)
得到的伯努利分布在指数族中;也就是,存在关于
![](http://img.e-com-net.com/image/info8/4c05104663e5460d953a9e499f522ef9.png)
的选择使得
完全变成这类伯努利分布。
我们把伯努利分布写作:
因此,自然参数
![](http://img.e-com-net.com/image/info8/75898eeba5cc4ef6b2c74e09d69936a2.png)
。有趣地是,如果我们根据
![](http://img.e-com-net.com/image/info8/22bab2f0cb594278a990002ab8d1d09c.png)
解得
![](http://img.e-com-net.com/image/info8/adb47995c5314b378614430d8c33f89f.png)
来求
![](http://img.e-com-net.com/image/info8/22bab2f0cb594278a990002ab8d1d09c.png)
的反函数,我们得到
![](http://img.e-com-net.com/image/info8/2de26cc43d48436c947276ed019b35f4.png)
。这是类sigmoid函数。为了完成伯努利分布作为一个指数族分布的公式化表述,我们也有
这证明了伯努利分布通过选择合适的
![](http://img.e-com-net.com/image/info8/4c05104663e5460d953a9e499f522ef9.png)
可以写成
的形式。
现在让我们继续考虑高斯分布。回想一下,当推导线性回归时,
![](http://img.e-com-net.com/image/info8/eb5421fdfdca4c6f9754ded5c863510a.png)
的值对我们最后对值
![](http://img.e-com-net.com/image/info8/02fe926dce6a441bba38971f3b29e2d6.png)
和
![](http://img.e-com-net.com/image/info8/da99bb0446134d7bb8df955e31f24b2c.png)
的选择无关。因此,我们可以选择一个随意的
![](http://img.e-com-net.com/image/info8/eb5421fdfdca4c6f9754ded5c863510a.png)
值,而不会改变任何事情。为了简化下面的推导,让我们令
![](http://img.e-com-net.com/image/info8/0ea81ff2e11d4395baafeb25df652478.png)
。我们然后有:
因此,我们可以看到高斯分布属于指数族,并且
还有很多其他的属于指数族的分布:多项式分布(我们稍后会看到),泊松分布(用于计数建模;也看下习题集);伽马分布和指数分布(用来建模连续的,非负的随机变量,比如时间间隔);贝塔分布和狄利克雷分布(概率分布),还有更多的;在下节中,我们将会描述一个构建模型的一般“配方”,在模型中,
(给定
和
)源自这些分布中的任何一个。
9 构造GMLs
假定你想基于某些特征
![](http://img.e-com-net.com/image/info8/1991ad575fe64bdb91ef12ee2c71ebc2.png)
,比如商店的推广、过去的广告、天气、一周的哪一天等,来构建一个模型来估计在任何给定时间内到你商店客人的数量
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
(或你网站的浏览量
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
)。我们知道泊松分布通常是一个好的构建参观者数量的模型。知道了这些,我们如何为我们的问题提出一个模型?幸运的是,泊松分布是一个指数族分布,所以我们可以应用一个广义线性模型(GLM)。在这节中,我们将会描述一个构造用来解决诸如此类问题的GLM模型的方法。
一般地说,考虑一个分类或者回归问题,在这些问题中,我们想预测一些作为
的函数的随机变量
的值。为了得到这个问题的一个GLM,我们将会做出以下三个假设,这些假设是关于给定
下的
的条件分布和我们的模型:
1.
![](http://img.e-com-net.com/image/info8/241aa1d69bb64ff1a93cfeeac039dea2.png)
。也就是,给定
![](http://img.e-com-net.com/image/info8/1991ad575fe64bdb91ef12ee2c71ebc2.png)
和
![](http://img.e-com-net.com/image/info8/2a2c815156a14b928fb35093f245adbe.png)
,
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
的分布服从某个参数为
![](http://img.e-com-net.com/image/info8/22bab2f0cb594278a990002ab8d1d09c.png)
的指数族分布。
2.给定
![](http://img.e-com-net.com/image/info8/1991ad575fe64bdb91ef12ee2c71ebc2.png)
,我们的目标是预测给定
![](http://img.e-com-net.com/image/info8/1991ad575fe64bdb91ef12ee2c71ebc2.png)
时的
![](http://img.e-com-net.com/image/info8/72191235f9504b279207a1330e08f57a.png)
的期望值。在我们大多数例子中,我们有
![](http://img.e-com-net.com/image/info8/915a57938143461ab1e67c8a81254258.png)
,所以这意味着我们通过学习好的满足
![](http://img.e-com-net.com/image/info8/689c0edf11a54bdbafea6a6f73e7a879.png)
的假设
![](http://img.e-com-net.com/image/info8/a9fdfed4d95740ec8135eed08853c7a1.png)
来得到预测值
![](http://img.e-com-net.com/image/info8/b913800dcb5941b484d1e62173dd9a94.png)
的输出值。(注意这个假设在逻辑回归和线性回归中选择
![](http://img.e-com-net.com/image/info8/3bfa18a674ce4d528173c4333b21a8e6.png)
时都是满足的,比如,在逻辑回归中,我们有
)
3.自然参数
和输入值
是线性关系:
。(或者,如果
值是一个向量,然后
)
这些假设中的第三个可能看起来是上面三个里最不合乎情理的,把它看作我们设计GLMs配方中的一个“设计选择”更好一些,而不是一个假设本身。这三个假设/设计选择将会是我们得到一类非常优雅的学习算法,也就是GLMs,它有很多令人满意的特性,比如易于学习。而且,(得到的)结果模型对不同形式的
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
的分布建模是经常非常有效的;比如,我们马上证明一下逻辑回归和普通最小二乘都可以由GMLs推导得到。
9.1 普通最小二乘
为了证明普通最小二乘是GML族的一个特殊情况,考虑这样的环境,目标变量
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
(在GML术语里也被称作
反映变量(response variable))是连续的,我们为给定
![](http://img.e-com-net.com/image/info8/1991ad575fe64bdb91ef12ee2c71ebc2.png)
下的
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
的条件分布建模为高斯分布
![](http://img.e-com-net.com/image/info8/df088d5b51184b10b654c5f068f43211.png)
。(这里,
![](http://img.e-com-net.com/image/info8/efd7efd08b944f80adfbc6592a45bc36.png)
可能依赖
![](http://img.e-com-net.com/image/info8/1991ad575fe64bdb91ef12ee2c71ebc2.png)
)。所以,我们让上面以
![](http://img.e-com-net.com/image/info8/22bab2f0cb594278a990002ab8d1d09c.png)
为参数的指数族表示成一个高斯分布。像我们之前看到的,在高斯分布作为一个指数族分布的公式化里,我们有
![](http://img.e-com-net.com/image/info8/d029855d36934bf7a5c15aafa3a69cd8.png)
。所以,我们有
第一个等式由假设2给出;第二个等式由
![](http://img.e-com-net.com/image/info8/67532a84e63d4a9f9aec835b5c5518d6.png)
得出,所以它的期望值为
![](http://img.e-com-net.com/image/info8/efd7efd08b944f80adfbc6592a45bc36.png)
。
第三个等式由假设1(我们之前的推导证明了在高斯分布作为一个指数族分布的公式化表示时有
)得出。最后一个等式由假设3得到。
9.2 逻辑回归
我们现在考虑逻辑回归。这里我们对二值分类有兴趣,所以
![](http://img.e-com-net.com/image/info8/03261a79771a403cb3b918b9964dc7fb.png)
。假定
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
是二值的,因此选择伯努利分布族来建模给定下
![](http://img.e-com-net.com/image/info8/1991ad575fe64bdb91ef12ee2c71ebc2.png)
的
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
的条件分布看起来是自然的。在我们伯努利分布表述为指数族分布的公式化中,我们有
![](http://img.e-com-net.com/image/info8/a18d981c8af24ab3bf746b7ab64c0b33.png)
。而且,注意到如果
![](http://img.e-com-net.com/image/info8/85e664fe721f41139e2befe67b860446.png)
服从以
![](http://img.e-com-net.com/image/info8/adb47995c5314b378614430d8c33f89f.png)
为参数的伯努利分布。所以,按照类似普通最小二乘的推导,我们得到:
所以,这给出了形式为
的假设函数。如果你之前想知道我们如何想出逻辑函数
这样的形式,这给出了一个答案:一旦我们假定以
为条件的
是伯努利,它作为GMLs定义和指数族分布的结果出现。
多介绍一点术语,以自然参数为自变量的函数
是用分布的均值定义的,这样的函数
(
)被称作典型的反应函数(canoical response function)。它的逆(即反函数),
,被称作典型的连接函数(canonical link funtion)。因此,高斯分布族的典型的反应函数恰恰是恒等函数;伯努利的典型反应函数是逻辑函数。
9.3 Softmax回归
让我们再看一个GLM的例子。考虑一个分类问题,在这个分类问题中,反应变量
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
可以取k个值里的任何一个,所以
![](http://img.e-com-net.com/image/info8/46132f6a63864701a6a82e467194eb82.png)
。比如说,我们想把邮件分成3类,诸如垃圾邮件,个人邮件和工作相关邮件,而不是把它分成垃圾邮件和非垃圾邮件两类——这是二值分类问题。回应变量仍旧是离散的,但是可以取超过两个值。因此我们将根据多项式分布来建模。
让我们堆到一个为这种多项式数据建模的GLM。为了做这个,我们将先从把多项式分布表示成指数族分布开始。
为了参数化一个有k个可能输出结果的多项式分布,我们可以使用k个参数
![](http://img.e-com-net.com/image/info8/4c4d431035534804a8d78018e47ee103.png)
指定每个输出结果的概率。然而,这些参数是冗余的,或更正式地说,它们不是独立的(因为知道了任何k-1个参数
![](http://img.e-com-net.com/image/info8/d4544d97b36e481dbf7dd49bb4a98a96.png)
唯一的决定了最后一个参数,因为它们必须满足
![](http://img.e-com-net.com/image/info8/0b984a4ff8704913a761d41870a26b71.png)
)。所以,我们转而只使用k-1个参数
![](http://img.e-com-net.com/image/info8/116e3d2c49c54b7f8a4847b07262d6dd.png)
来参数化多项式分布,在这里
![](http://img.e-com-net.com/image/info8/d43e1712c4e247a88a8175a57ed8be83.png)
。为了符号上的方便,我们也令
![](http://img.e-com-net.com/image/info8/77f587ebee9d4324a1667aac381a4845.png)
,但我们应该记住这不是一个参数,它完全由
![](http://img.e-com-net.com/image/info8/116e3d2c49c54b7f8a4847b07262d6dd.png)
来指定。
为了把这个多项式分布表示一个指数族分布,我们将定义
![](http://img.e-com-net.com/image/info8/31040c87a5824074863a023a9fc0952c.png)
如下:
不像我们以前的例子,这里我们不再有
![](http://img.e-com-net.com/image/info8/915a57938143461ab1e67c8a81254258.png)
;并且,
![](http://img.e-com-net.com/image/info8/72191235f9504b279207a1330e08f57a.png)
是一个k-1维的向量,而不是一个实数。我们将用
![](http://img.e-com-net.com/image/info8/f88c7541f1aa421ca7d80c7f7e577b29.png)
来表示向量
![](http://img.e-com-net.com/image/info8/72191235f9504b279207a1330e08f57a.png)
的第i个元素。
我们再介绍一个非常有用的符号。知识函数1{·}值为1如果它的参数是真的,否则是0(1{True}=1,1{False}=0)。比如,1{2=3}=0,1{3=5-2}=1。所以,我们也可以把
![](http://img.e-com-net.com/image/info8/72191235f9504b279207a1330e08f57a.png)
和
![](http://img.e-com-net.com/image/info8/2f0d923d1c6841d9be5eb82c07fbeaae.png)
的关系写作
![](http://img.e-com-net.com/image/info8/f06ddd42342b4b96af0cd45466b15d5b.png)
。(在你继续往下读之前,确保你理解了为什么这是正确的!)而且,我们有
![](http://img.e-com-net.com/image/info8/920a68670df344b7870827ee2474774b.png)
。
我们现在准备证明多项式分布是一个指数族分布。我们有:
这里
这完成了我们的多项式分布作为指数族分布的公式化表示。
连接函数由
给出。为了方便,我们也定义了
![](http://img.e-com-net.com/image/info8/0cd379b0e6d7460e9ab9eaa9b483bce6.png)
。为了反解连接函数,推导出反应函数,我们因此有
这表明
,并带回到上式,得到反应函数
![](http://img.e-com-net.com/image/info8/2be9f65ade694d25bcf063a20aa38009.png)
.
这个从
![](http://img.e-com-net.com/image/info8/4068bfda79364820a92f2addc71353c2.png)
映射到
![](http://img.e-com-net.com/image/info8/1d8b495d5b894b0bb338df75bd917822.png)
的函数被称作
softmax函数。
为了完成我们的模型,我们使用之前给出的假设3,
和
是线性关系。所以,有
,这里
是我们模型的参数。为了符号上的方便,我们也可以定义
,以致
,正如之前给出的一样。因此,我们的模型假定给定
下的
的条件分布由
![监督学习之广义线性模型_第11张图片](http://img.e-com-net.com/image/info8/63ff70652dff40b1b8154f8c0519aa3c.png)
给出。
这个(应用到
![](http://img.e-com-net.com/image/info8/e836e52cb3194bf08825b3de63e278d8.png)
分类问题的)模型被称作
softmax回归。它是逻辑回归的一个推广。
我们的假设将输出
换句话说,我们的假设将会输出i=1,2,...,k中的每一个i值的估计概率
![](http://img.e-com-net.com/image/info8/4f7bd2d88469439f880b2c0054d4eadc.png)
。(尽管上面的
![](http://img.e-com-net.com/image/info8/cf4f0ed8e6c748e4ad31d7cbb9270354.png)
只是k-1维的,但是很显然
![](http://img.e-com-net.com/image/info8/746ad6acbba049bfbcf3f2e14888d0f0.png)
可以通过
![](http://img.e-com-net.com/image/info8/242f0f1b34ea430eb988dde9944b151e.png)
得到。)
最后,让我们讨论参数拟合。类似于我们原来普通最小二乘和逻辑回归的推导,如果我们有一个m个样例的训练集
![](http://img.e-com-net.com/image/info8/3262fb79e9b94bf88b763b5756334a2c.png)
,并想学习这个模型的参数
![](http://img.e-com-net.com/image/info8/1c7e1c75fcc445beabacc764de7909a3.png)
,我们首先写下log似然性
为了得到上式中的第二行,我们使用了等式(*)中的
的定义。通过使用一个诸如梯度上升或者牛顿法的方法就
来最大化
,我们现在可以得到参数的最大似然估计。
想写一写机器学习的翻译来巩固一下自己的知识,同时给需要的朋友们提供参考,鉴于作者水平有限,翻译不对或不恰当的地方,欢迎指正和建议。