指数分布族 和 广义线性模型

本节主要是我看了网易公开课上的Andrew Ng的机器学习公开课第四节所做的笔记加上自己的一些整理,将它发上来供参考,由于水平有限,可能有错误。

这节视频中,Andrew Ng主要讲了三个方面,分别是牛顿法,指数分布家族和广义线性回归(GLMS)。

本节介绍的指数分布函数主要是为广义线性回归所服务的。广义线性回归对回归值是随机变量(这主要是因为误差导致实际值y是随机变量)的情况下的建模提供了一种可行的建模方式。我认为,广义线性模型一个重要的应用就是对回归值是随机变量情况对回归值进行建模。


一 牛顿法

牛顿法与梯度法一样,是一种常见的迭代优化方法。牛顿法在接近收敛值时呈指数收敛,表现性质很优良,但是在远离收敛值的地方则收敛慢甚至不收敛。在二维矩阵下用Hessian矩阵的逆与梯度的乘积做变化步长。关于Hessian矩阵的理解,网上有很多,它也不是本节重点,这里不赘述了。


二 指数分布

指数分布家族是定义的一组分布式,伯努利分布及高斯分布等分布都可以看做指数分布的特殊形式。指数分布的公式如下:

p(y;η)=b(y)exp(ηTT(y)a(η))

p(y;η) 表示y在 η 下概率,但是它不是条件概率,因为 η 不是随机变量。而对于 ηT 我认为是转置的意思。上式还表示为:
p(y;η)=1Z(η)b(y)exp(ηTT(y)),a(η)=logZ(η)

Z(η)=yb(y)exp[ηTT(y)]dy,y 表示归一化项。 T(y) 表示的是未知分布P的参数 y 的充分统计量。(统计量是样本数据的函数,充分统计量的意思是当且仅当 T(y) 可以提供 y 的全部信息。一般情况下,把统计值转化为统计量是会有一定的信息丢失的)常用的 T(y)=y . 确定a,b,T就可以得到一种具体非分布。那么为什么要用这个指数分布家族的形式呢?

  • 指数家族是唯一的充分统计量是有限大小的分布家族
  • 指数家族是唯一存在共轭先验的分布家族
  • 指数家族为认为选定限制下作的假设最少的分布家族
  • 指数家族是广义线性模型的核心内容
  • 指数家族是变分推断(variational inference)的核心内容

下面,带入两个具体的例子(伯努利分布和高斯分布)

1.伯努利分布

首先,我们假设 p(y=1;ϕ)=ϕ;p(y=0;ϕ)=1ϕ

p(y;ϕ)=ϕy(1ϕ)(1y)=exp[ylnϕ+(1y)ln(1ϕ)]=exp[ylnϕ1ϕ+ln(1ϕ)]y=0||y=1

那么我们做下列转化

η=lnϕ(1ϕ),ϕ=11+eη
自然参数和均值参数之间的转化正好满足sigmoid函数
b(y)=1T(y)=ya(η)=ln(1ϕ)=ln11+eη

最后,可以得到例子是:

p(y;η)=exp[ηyln11+eη]

2.高斯分布

由于方差对我们最终选择的 θhθ(x) 无影响,因此我们可以令方差为1。(此处是在之前最小二乘法与极大似然的推导中得证方差与结果无影响)

p(y;μ)=12πexp[(yμ)2]=12πexp(12y2)exp(μy12μ2)

还是套公式,可以得到转化的方程

b(y)=12πexp(12y2)η=μT(y)=ya(η)=12μ2=12η2p(y;η)=12πexp(12y2)exp(ηy12η2)


三 广义线性模型

广义线性模型是把自变量的线性预测函数当做因变量的预测值,在机器学习中被广泛应用。广义线性模型是基于指数分布家族的。
下面做出三个设计(是针对这个模型的设计而不是假设呢):
(1) y|x;θ ExpFamily(η)
(2)给定x,目标函数是输出T(y)的期望值,即 h(x)=E[T(y)|x]
(3) η=θTxηηi=θTix ,
基于广义线性模型,我们可以推导出很多优美的分布。假设预测值y是连续的,假设给定x和参数,y的分布和对应模型如下:

分布 模型
y服从高斯分布 Linear model
y服从二项分布 Logistic model
y服从多项分布(就是有k个取值可能性) Softmax

对于给定输入x和要参数 θ() ,y服从高斯分布、二项分布的情况下,我们直接就采用了线性回归模型和逻辑斯特模型对y建立模型。选择这几种方式建模是应该有理论依据的,广义线性模型正是提供了这种理论依据。广义线性模型对确定模型后的种种处理无影响,主要用于确定模型。(我们可以认为正是广义线性模型证明了上述表格建模方式的科学性,就是为什么要选取这种方式建模。)

则,根据指数分布家族,对于高斯分布:

hθ(x)=E[y|x;θ]=μ=η=θTx

可以看出预测值的期望与 θTx 呈线性关系,基于这个基础,我们采用了线性回归进行建模。(比如前面那个预测房价的例子)
对于伯努利分布,就是逻辑回归模型
hθ(x)=E[y|x;θ]=ϕ=11+eη=11+eθTx

这里我们称 g(η)=E[T(y);η] 为正则响应函数; g1 为正则关联函数。
对于多项式分布,服从softmax回归。(这里由于第一次接触这个分布,我去查了一些关于这个分布的资料,对softmax分布做个简短的介绍)

softmax模型可以看做逻辑回归模型在多元选择上的推广。对于给定输入x,我们想估计x在每一种分类结果出现的概率,因此我们的假设函数应该输出一个k维向量来估计(向量元素的和为1)来表示这k个估计的值。(software函数是得出不愿意损失小的概率的事件)

首先,我们应该证明多项式分布属于指数分布族,然后再用广义线性模型来拟合这个多项分布,由广义线性模型推导出所需要的函数。

首先 p(y=i;ϕ)=ϕi,ki=1(i=1...k1) ,在这里我们把T(y)设置成k-1维的向量。

然后应该套指数分布家族的公式:

p(y;ϕ)=ϕ1(y=1)1ϕ1(y=2)2...ϕ1(y=k)k=ϕT(y)11ϕT(y)22...ϕ1k1iT(y)ik=exp((T(y))1log(ϕ1)+(T(y))2log(ϕ2)+...+(1i=1k1T(y))1log(ϕk))=exp((T(y))1log(ϕ1ϕk)+(T(y))2log(ϕ2ϕk)+...+(T(y))k1log(ϕk1ϕk)+log(ϕk))=b(y)exp(ηTT(y)a(η))

我们可以得出其符合指数分布家族的形式,且

η=log(ϕ1ϕk)log(ϕ2ϕk)log(ϕk1ϕk)a(η)=log(ϕk)b(y)=1

反解可以得到:
ϕi=eηikj=1eηjp(y=i|x,θ)=ϕi=eθTjxkj=1eθTjx

因此,我们的假设函数(就是取充分统计量T(y)的期望,见广义分布家族设计第二条):
hθ(x)=E[T(y)|x;θ]=Eϕ1ϕ2ϕk1=eθT1xkj=1eθTjxeθT2xkj=1eθTjxeθTk1xkj=1eθTjx

故多项分布采用softmax建模,建模后具体求参数 θ 采用极大似然估计法,将 hθ(x) 的矩阵中每一项相乘,取对数得到似然函数求解。

你可能感兴趣的:(机器学习CS229个人笔记)