Skip to content
Bo's Blog
Go back

CS229机器学习笔记(三)-指数分布族, 广义线性模型

课程信息: 主页 Youtube


一. 指数分布族

在讲广义线性模型之前,我们需要先介绍一下什么是指数分布族(exponential family). 一类分布如果属于指数分布族,那么它就可以写成如下形式:

p(y;η)=b(y)exp(ηTT(y)a(η))p(y;\eta)=b(y)exp(\eta^TT(y)-a(\eta))

其中η\eta叫做natrual parameter, T(y)T(y)叫做sufficient statistic, a(η)a(\eta)叫做log partition function. 当我们选定T,a,b的时候,我们就得到了参数为η\eta的分布族,不同的η\eta会得到(属于这个分布族的)不同的分布。 现在证明Bernoulli分布和Gaussian分布都是属于指数分布族。

二. Bernoulli Distribution

先来看一下伯努利分布:

p(y;ϕ)=ϕy(1ϕ)1y =exp(log(ϕy(1ϕ)1y) =exp(log(ϕy)+log((1ϕ)1y)) =exp(ylog(ϕ)+(1y)log(1ϕ)) =exp(ylog(ϕ1ϕ)+log(1ϕ)) \begin{align} p(y;\phi) & = \phi^y(1-\phi)^{1-y} \\\ & = exp(log(\phi^y(1-\phi)^{1-y}) \\\ & = exp(log(\phi^y)+log((1-\phi)^{1-y})) \\\ & = exp(ylog(\phi) + (1-y)log(1-\phi)) \\\ & = exp(ylog(\frac{\phi}{1-\phi})+log(1-\phi)) \\\ \end{align}

其中,

η=log(ϕ1ϕ).\eta=log(\frac{\phi}{1-\phi}).

可推出,

ϕ=11+eη\phi=\frac{1}{1+e^{-\eta}}

这里ϕ\phi和sigmoid函数长得是有多像!(考虑一下上一篇中我们做出的假设) 将它与指数分布族的形式对应起来得:

T(y)=y,a(η)=log(1ϕ)=log(1+eη),b(y)=1.T(y)=y, a(\eta)=-log(1-\phi)=log(1+e^\eta), b(y)=1.

三. Gaussian Distribution

再来看一下高斯分布。还记得之前我们通过概率的角度来解释最小二乘吗?当时我们有一个结论是,σ2\sigma^2的值不影响我们最终的代价函数。所以这里为了计算的方便,我们令σ2=1\sigma^2=1.

p(y;μ)=12πexp((yμ2)2) =12πexp(12y2+yμ12μ2) =12πexp(12y2)exp(yμ12μ2) \begin{align} p(y;\mu) & = \frac{1}{\sqrt{2\pi}}exp(-\frac{(y-\mu^2)}{2}) \\\ & = \frac{1}{\sqrt{2\pi}}exp(-\frac12y^2+y\mu-\frac12\mu^2) \\\ & = \frac{1}{\sqrt{2\pi}}exp(-\frac12y^2)exp(y\mu-\frac12\mu^2) \\\ \end{align}

将结果与指数分布族的形式对应得到:

η=μ,T(y)=y,b(y)=12πexp(12y2),a(η)=12μ2=12η2.\eta=\mu, T(y)=y, b(y)=\frac{1}{\sqrt{2\pi}}exp(-\frac12y^2), a(\eta)=\frac12\mu^2=\frac12\eta^2.

事实上,除了伯努利分布和高斯分布,有很多分布都是属于指数分布族. 具体可见张雨石的博客指数分布族部分.

四. 广义线性模型

在构造广义线性模型之前,我们需要对给定x的y的条件概率做出以下三个假设: 1.yx;θy|x;\theta\sim指数分布族(η)(\eta). 给定xxθ\theta, y的分布服从参数为η\eta的指数分布族中的某个分布, 2.给定xx, 我们的目标是预测T(y)T(y)的期望,即E[T(y)x]E[T(y)|x], 3.η\etaxx成线性关系, 即η=θTx\eta=\theta^Tx. 下面我们看看如何通过这三个假设推导出最小二乘模型和logistic模型.

五. 最小二乘模型

推导过程如下:

hθ(x)=E[yx;θ] =μ =η =θTx.\begin{align} h_\theta(x) & = E[y|x;\theta] \\\ & = \mu \\\ & = \eta \\\ & = \theta^Tx. \end{align}

解释: 1.第一个等号因为假设2, 2.第二个等号因为yx;θN(μ,σ2)y|x;\theta\sim N(\mu,\sigma^2),它的期望就是μ\mu, 3.第三个等号因为上面推导的高斯分布的指数分布族的形式, 4.第四个等号因为假设3.

六. Logistic模型

推导过程如下:

hθ(x)=E[yx;θ] =ϕ =11+eη =11+eθTx.\begin{align} h_\theta(x) & = E[y|x;\theta] \\\ & = \phi \\\ & = \frac1{1+e^{-\eta}}\\\ & = \frac1{1+e^{-\theta^Tx}}. \end{align}

解释: 1.第一个等号因为假设2, 2.第二个等号因为yx;θBernoulli(ϕ)y|x;\theta\sim Bernoulli(\phi),它的期望就是ϕ\phi, 3.第三个等号因为上面推导的伯努利分布的指数分布族的形式, 4.第四个等号因为假设3.

七. Softmax Regression

多项式分布也属于指数分布族,由他推导出的广义线性模型可以解决多分类的问题,它是logistic模型的一个扩展。 设y{1,2,...,k}y\in \{1,2,...,k\}, 参数为:ϕ1,ϕ2,...,ϕk\phi_1,\phi_2,...,\phi_k, P(y=i)=ϕiP(y=i)=\phi_i.这样写的话,其实我们的参数是冗余的,因为所有概率的和应该等于1. 所以有ϕk=1(ϕ1+ϕ2+...+ϕk1)\phi_k = 1 - (\phi_1+\phi_2+...+\phi_{k-1}). 为了使多项式分布能写成指数分布族的形式,我们定义T(y)Rk1T(y)\in R^{k-1}: 这里我们再引入indicator function:

1(True)=1,1(False)=01(True)=1, 1(False)=0

由此可得到:

(T(y))i=1{y=i}(T(y))_i=1\{ y=i\}

下面我们就可以证明多项式分布是属于指数分布族,以下是推导过程: 其中: 由: 可做如下推导: 即:

ϕk=1i=1keηi\phi_k=\frac{1}{\sum_{i=1}^{k}e^{\eta_i}}

将上式再带回到(7)中可得: 这个函数就叫做softmax函数. 下面我们看如何推导出softmax regression: 首先我们有: 根据广义线性模型的三个假设,我们就得到了hθ(x)h_\theta(x): log likelihood如下:

参考:

  1. 机器学习笔记-子实
  2. 牛顿方法、指数分布族、广义线性模型—斯坦福ML公开课笔记4
  3. 斯坦福CS229机器学习课程笔记二:GLM广义线性模型与Logistic回归
  4. 斯坦福CS229机器学习课程笔记三:感知机、Softmax回归

Share this post on:

Previous Post
CS229机器学习笔记(五)-SVM之函数间隔, 几何间隔
Next Post
CS229机器学习笔记(二) - Logistic回归, 牛顿方法