在前两章我们分别介绍了线性回归与逻辑回归
线性回归问题符合正态分布:
逻辑回归问题符合伯努利分布:
实际上这些模型都是一个更为广泛的模型族的特例,这个模型族被称为广义线性模型(Generalized Linear Models)
指数族
为了引出广义线性模型,我们首先需要介绍指数族分布
如果一个分布可以被表示成如下形式,我们就称其属于指数分布族:
这里,
被称为分布的自然参数(或者称为典范参数)
被称为充分统计量,通常
被称为对数分割函数
本质上是一个归一化常数,确保概率
和为1
当选定
时,我们就得到了一种以
为参数的分布
下面我们来证明伯努利和正态分布属于指数分布族
伯努利分布的证明
- 伯努利分布可以表示为:
自然参数
(这里自然参数不是向量,所以其转置不变)
从该式可以导出
,这正是我们熟悉的 sigmoid 函数!
- 之后我们推导逻辑回归是广义线性模型时会再提到这个
现在,我们可以得到:
- 这表明通过设定适当的  ,伯努利分布可以写成等式 (1) 的形式,即其属于指数族分布
正态分布的证明
- 之前我们推导线性回归时得出了
的值对
的选择没有影响,所以为了简化推导,这里设定
,于是我们有:
- 因此,通过如下选择,我们可以证明高斯分布属于指数族分布
- 其实,还有许多其他的分布属于指数族,比如多项式分布、泊松分布、伽马分布等
构建广义线性模型
- 首先,广义线性模型的构建需要基于以下三条假设:
符合以
为参数的指数族分布
给定
,我们的目标是预测
的理想值,而在大多数的案例中
,这意味着我们的假设
应该满足
(可以从期望的定义上来进行理解,即反映随机变量平均取值的大小)
自然参数
和输入
满足线性关系
(如果
是向量,那么
)
基于上面三条假设,我们就可以利用广义线性模型来优雅地解决问题
下面,我们将用广义线性模型来推导线性回归和逻辑回归的假设函数,并引出 softmax 回归
线性回归
线性回归的目标变量(在 GLM 术语集中也称为反应变量)满足高斯分布:
(这里
与
相关)
根据之前推导的结果,我们有:
第一个等式来源于假设2
第二个等式是高斯分布的性质
第三个等式是之前推导过高斯分布属于指数族分布的条件
最后一个等式则来源于假设3
逻辑回归
- 逻辑回归的反应变量满足伯努利分布:
,而之前我们在证明伯努利分布属于指数族分布时已经推导出了
,因此,与线性回归类似,我们有:
- 上式证明了为什么逻辑回归的假设函数是 sigmod 函数,当反应变量满足伯努利分布时,这是广义线性模型的定义导出的结果
此外,我们将表示分布均值(期望)与自然参数关系的函数称为正则响应函数(canonical response function), 将其反函数称为正则关联函数(canonical link function)
- 因此,高斯分布的正则响应函数即为其本身,伯努利分布的正则响应函数即为逻辑回归的假设函数
softmax 回归
如果对于分类问题,y可以取k个值(k>2),那么这就是一个多元分类问题
- 此时反应变量的条件概率分布模型为多项分布
下面让我们推导出多项分布数据的广义线性模型,在这之前,需要首先将多项式分布表示为指数族分布
假设多项式分布有 k 个输出,一般我们应该定义 k 个参数
来表示每个输出的概率,但这其实存在冗余,因为第 k 个输出的概率可以用其他 k-1 个输出的概率来表示(概率之和必定为1)
因此,我们只定义k-1个参数
,其中
,则
,注意其并不是一个参数,而是由
确定的。
为了将多项分布表示为指数族分布,我们首先定义
如下:
与之前不同,
与
并不相等,
是一个 k-1 维的向量而非一个实数
我们将用
来表示向量
的第 i 个元素
- 下面我们将再介绍一个有用的操作符:
,其运算法则为:
- 例如:
- 因此,我们可以得到如下等式:
即只有当
时,第 i 个元素才为 1,其他都为 0
进一步可以得到:
- 因为求期望时,只有当  时,乘积不为 0
- 基于上述结论,我们可以将多项分布表示为指数族分布:
- 其中:
- 上述推导表明了多项分布属于指数族分布,并得到了关联函数如下(前面已经证明了期望值即为
):
- 类似地,我们定义
。下面我们将推导出响应函数:
- 这表明
,将其代回(2)式,即可得到响应函数为:
- 这个将  映射到  的函数又被称为 **softmax**(柔性最大值)函数
- 根据之前的假设 3 ,我们有
,其中
,为了方便,我们定义
,这样
,因此,我们的模型给出 y 的条件分布如下:
- 这个模型可以应用于多元分类问题
,被称为 softmax 回归,它是逻辑回归的推广
- 综上,我们的假设函数为:
- 该假设函数给出了 y 取每个可能的值的条件概率(
),其中
由
得到
- 最后,我们来讨论 softmax 回归的参数拟合。与之前类似,如果我们有一个训练集
,希望学习出这个模型的参数
,我们首先会给出其对数似然函数:
- 下面我们就可以通过最大似然分析求出参数
,使用梯度上升或牛顿方法