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