本文主要参考 Andrew NG 的 CSS229 机器学习课程的 Lecture notes 1 的 Part III 部分,简单介绍广义线性模型的基本概念,以及如何从广义线性模型出发,由高斯分布、伯努利分布和多项分布,分别得到我们熟悉的线性回归、logistic回归和softmax回归模型。
1 指数族分布(The Exponential Family)
指数族分布指的是一类分布,它们的概率密度函数都可以写成如下形式:
p(y;η)=b(y)exp(ηTT(y)−a(η))
式子中各符号解释如下:
- η 称为自然参数(natural parameter)。对于线性回归和logistic回归, η 是一个实数,且假设 η=w⋅x ;对于softmax回归, η 是一个向量,且假设 η(i)=wi⋅x ,后面会详细介绍。
- T(y) 是充分统计量(sufficient statistic),对于线性回归、logistic回归,有 T(y)=y ;对于有k个类的softmax回归, T(y)=(1{y=1},1{y=2},...,1{y=k−1})T 。
a(η) 是一个对数配分函数(log partition function), e−a(η) 在式子中起到归一化的作用,保证概率密度函数在随机变量 y 上的积分为 1 ,在后面的推导中,可以得到 a(η) 由 w 和 x 表示的函数。
一旦 T 、 a 、 b 确定,就可以确定一种分布, η 为参数。
高斯分布、伯努利分布\和多项分布都属于指数族分布,下面介绍如何将它们写成指数族分布的形式,并确定其中记号的对应关系。
1.1 高斯分布
在线性回归为何选择平方损失函数的概率论解释中,就介绍过线性回归与高斯分布的关系,且推导过程中也发现线性回归最优解的求解与高斯分布的方差 σ2 无关,故此处简便起见,不妨设 σ2=1 。所以高斯分布 N(μ,1) 的概率密度函数可以简写为如下:
p(y;μ)=12π‾‾‾√exp(−12(y−μ)2)=12π‾‾‾√exp(−12y2)exp(μy−12μ2)
由此可得,
b(y)ηT(y)a(η)=12π‾‾‾√exp(−y22)=μ=y=μ22=η22
1.2 伯努利分布
伯努利分布 B(ϕ) 的分布列为:
p(y;ϕ)=ϕy(1−ϕ)1−y=exp(ylogϕ+(1−y)log(1−ϕ))=exp(log(ϕ1−ϕ)y+log(1−ϕ))
由此可得,
b(y)ηT(y)a(η)=1=log(ϕ1−ϕ)⇒ϕ=11+e−η=y=−log(1−ϕ)=log(1+eη)
1.3 多项分布
搜了一下多项分布的定义,多项分布是二项分布的推广,二点分布(伯努利分布)是二项分布 n=1 的特例,Andrew NG 这里说的多项分布应该指的是 n=1 的多项分布,姑且称之为多点分布(单次随机试验有 k 种可能结果),与二点分布(单次试验只有两种结果)对应;由二点分布可推出logistic回归,由多点分布可推出softmax回归,而softmax回归也被认为是logistic回归的推广,也称为多项logistic回归。所以这里多项分布的分布列为:
p(y;ϕ)=(ϕ(1))1{y=1}(ϕ(2))1{y=2}...(ϕ(k))1{y=k}=(ϕ(1))1{y=1}(ϕ(2))1{y=2}...(ϕ(k))1−∑k−1i=11{y=i}=(ϕ(1))T(y)(1)(ϕ(2))T(y)(2)...(ϕ(k))1−∑k−1i=1T(y)(i)=exp⟮T(y)(1)log(ϕ(1))+T(y)(2)log(ϕ(2))+...+(1−∑i=1k−1T(y)(i))log(ϕ(k))⟯=exp⟮T(y)(1)logϕ(1)ϕ(k)+T(y)(2)logϕ(2)ϕ(k)+...+T(y)(k−1)logϕ(k−1)ϕ(k)+logϕ(k)⟯=exp⟮ηTT(y)−a(η)⟯
其中,
b(y)ηT(y)a(η)=1=(logϕ(1)ϕ(k),logϕ(2)ϕ(k),...,logϕ(k−1)ϕ(k))T⇒ϕ(i)=eη(i)∑k−1i=1eη(i)+1=(1{y=1},1{y=2},...,1{y=k−1})T=−logϕ(k)=log(∑i=1k−1eη(i)+1)
2 构造广义线性模型
一般地,考虑一个分类或者回归问题,我们希望将随机变量 y 的预测值表示为输入 x 的函数。对于给定 x 下 y 的条件分布,我们作如下3条假设:
1. y|x;w∼ExpFamily(η) ,即当给定 x 和 w 时,随机变量 y 的分布服从某个指数族分布。
2. 已知一个 x ,我们的目标是预测给定 x 下 T(y) 的条件期望,即 hypothesis 为 h(x)=E[T(y)|x] 。
3. 自然参数 η 是输入 x 的线性函数,即 η=w⋅x ,或者当 η 是一个向量时, η(i)=wi⋅x 。
2.1 线性回归
目标变量 y∈R ,假设 y|x;w∼N(μ,σ2) ,有如下推导:
h(x)=E[y|x;w]=μ=η=w⋅x
其中,第一行等式由假设2得出,第二行等式由高斯分布的期望可得,第三行等式由1.1中的推导可得,第四行等式由假设3得出。
2.2 logistic回归
目标变量 y∈{0,1} ,假设 y|x;w∼B(ϕ) ,有如下推导:
h(x)=E[y|x;w]=ϕ=11+e−η=11+e−w⋅x
其中,第一行等式由假设2得出,第二行等式由伯努利的期望可得,第三行等式有1.2中的推导可得,第四行等式由假设3得出。
2.3 softmax回归
目标变量 y∈{1,2,...,k} ,假设 y|x;w 服从多项分布,用参数 ϕ(1),ϕ(2),...,ϕ(k) 分别表示在给定 x 下输出 y=1,2,...,k 的条件概率, ∑ki=1ϕ(i)=1 ,有如下推导:
h(x)=E[T(y)|x;w]=(ϕ(1),ϕ(2),...,ϕ(k−1))T=(exp(w1⋅x)∑k−1j=1exp(wj⋅x)+1,exp(w2⋅x)∑k−1j=1exp(wj⋅x)+1,...,exp(wk−1⋅x)∑k−1j=1exp(wj⋅x)+1)T
其中,第一行等式由假设2得出,第二行等式由多项分布的期望可得,第三行等式由1.3中推导以及假设3得出。softmax回归也也可以用极大似然估计来估计参数,用梯度下降或者牛顿法求解最优解。