您的位置:首页 > 其它

机器学习笔记——广义线性模型(Generalized Linear Models, GLM)

2017-08-05 20:17 309 查看
本文主要参考 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回归也也可以用极大似然估计来估计参数,用梯度下降或者牛顿法求解最优解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习