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

本文主要参考 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回归, η 是一个实数,且假设 η=wx ;对于softmax回归, η 是一个向量,且假设 η(i)=wix ,后面会详细介绍。
  • T(y) 是充分统计量(sufficient statistic),对于线性回归、logistic回归,有 T(y)=y ;对于有k个类的softmax回归, T(y)=(1{y=1},1{y=2},...,1{y=k1})T
  • a(η) 是一个对数配分函数(log partition function), ea(η) 在式子中起到归一化的作用,保证概率密度函数在随机变量 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(μy12μ2)

由此可得,
b(y)ηT(y)a(η)=12πexp(y22)=μ=y=μ22=η22

1.2 伯努利分布

伯努利分布 B(ϕ) 的分布列为:

p(y;ϕ)=ϕy(1ϕ)1y=exp(ylogϕ+(1y)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))1k1i=11{y=i}=(ϕ(1))T(y)(1)(ϕ(2))T(y)(2)...(ϕ(k))1k1i=1T(y)(i)=expT(y)(1)log(ϕ(1))+T(y)(2)log(ϕ(2))+...+(1i=1k1T(y)(i))log(ϕ(k))=expT(y)(1)logϕ(1)ϕ(k)+T(y)(2)logϕ(2)ϕ(k)+...+T(y)(k1)logϕ(k1)ϕ(k)+logϕ(k)=expηTT(y)a(η)

其中,
b(y)ηT(y)a(η)=1=(logϕ(1)ϕ(k),logϕ(2)ϕ(k),...,logϕ(k1)ϕ(k))Tϕ(i)=eη(i)k1i=1eη(i)+1=(1{y=1},1{y=2},...,1{y=k1})T=logϕ(k)=log(i=1k1eη(i)+1)

2 构造广义线性模型

一般地,考虑一个分类或者回归问题,我们希望将随机变量 y 的预测值表示为输入 x 的函数。对于给定 x y 的条件分布,我们作如下3条假设:
1. y|x;wExpFamily(η) ,即当给定 x w 时,随机变量 y 的分布服从某个指数族分布。
2. 已知一个 x ,我们的目标是预测给定 x T(y) 的条件期望,即 hypothesis 为 h(x)=E[T(y)|x]
3. 自然参数 η 是输入 x 的线性函数,即 η=wx ,或者当 η 是一个向量时, η(i)=wix

2.1 线性回归

目标变量 yR ,假设 y|x;wN(μ,σ2) ,有如下推导:

h(x)=E[y|x;w]=μ=η=wx

其中,第一行等式由假设2得出,第二行等式由高斯分布的期望可得,第三行等式由1.1中的推导可得,第四行等式由假设3得出。

2.2 logistic回归

目标变量 y{0,1} ,假设 y|x;wB(ϕ) ,有如下推导:

h(x)=E[y|x;w]=ϕ=11+eη=11+ewx

其中,第一行等式由假设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),...,ϕ(k1))T=(exp(w1x)k1j=1exp(wjx)+1,exp(w2x)k1j=1exp(wjx)+1,...,exp(wk1x)k1j=1exp(wjx)+1)T

其中,第一行等式由假设2得出,第二行等式由多项分布的期望可得,第三行等式由1.3中推导以及假设3得出。softmax回归也也可以用极大似然估计来估计参数,用梯度下降或者牛顿法求解最优解。

你可能感兴趣的:(机器学习)