本文主要参考 Andrew NG 的 CSS229 机器学习课程的 Lecture notes 1 的 Part III 部分,简单介绍广义线性模型的基本概念,以及如何从广义线性模型出发,由高斯分布、伯努利分布和多项分布,分别得到我们熟悉的线性回归、logistic回归和softmax回归模型。
1 指数族分布(The Exponential Family)
指数族分布指的是一类分布,它们的概率密度函数都可以写成如下形式:
式子中各符号解释如下:
- η 称为自然参数(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)
的概率密度函数可以简写为如下:
由此可得,
1.2 伯努利分布
伯努利分布
B(ϕ)
的分布列为:
由此可得,
1.3 多项分布
搜了一下多项分布的定义,多项分布是二项分布的推广,二点分布(伯努利分布)是二项分布
n=1
的特例,Andrew NG 这里说的多项分布应该指的是
n=1
的多项分布,姑且称之为多点分布(单次随机试验有
k
种可能结果),与二点分布(单次试验只有两种结果)对应;由二点分布可推出logistic回归,由多点分布可推出softmax回归,而softmax回归也被认为是logistic回归的推广,也称为多项logistic回归。所以这里多项分布的分布列为:
其中,
2 构造广义线性模型
一般地,考虑一个分类或者回归问题,我们希望将随机变量
y
的预测值表示为输入
1.
y|x;w∼ExpFamily(η)
,即当给定
x
和
2. 已知一个
3. 自然参数
η
是输入
x
的线性函数,即
2.1 线性回归
目标变量
y∈R
,假设
y|x;w∼N(μ,σ2)
,有如下推导:
其中,第一行等式由假设2得出,第二行等式由高斯分布的期望可得,第三行等式由1.1中的推导可得,第四行等式由假设3得出。
2.2 logistic回归
目标变量
y∈{0,1}
,假设
y|x;w∼B(ϕ)
,有如下推导:
其中,第一行等式由假设2得出,第二行等式由伯努利的期望可得,第三行等式有1.2中的推导可得,第四行等式由假设3得出。
2.3 softmax回归
目标变量
y∈{1,2,...,k}
,假设
y|x;w
服从多项分布,用参数
ϕ(1),ϕ(2),...,ϕ(k)
分别表示在给定
x
下输出
其中,第一行等式由假设2得出,第二行等式由多项分布的期望可得,第三行等式由1.3中推导以及假设3得出。softmax回归也也可以用极大似然估计来估计参数,用梯度下降或者牛顿法求解最优解。