【机器学习】知否?知否?广义线性模型

来源 | AI小白入门
作者 | 文杰
编辑 | yuquanle
原文链接

【机器学习】知否?知否?广义线性模型

广义线性模型

​ 从线性回归,logistic回归,softmax回归,最大熵的概率解释来看,我们会发现线性回归是基于高斯分布+最大似然估计的结果,logistic回归是伯努利分布+对数最大似然估计的结果,softmax回归是多项分布+对数最大似然估计的结果,最大熵是基于期望+对数似然估计的结果。前三者可以从广义线性模型角度来看。

1. 指数分布家族

​ 指数分布家族是指可以表示为指数形式的概率分布,指数分布的形式如下:
p(y;η)=b(y)exp(ηTT(y)α(η)) p(y;\eta )=b(y)exp(\eta ^{T}T(y)-\alpha (\eta ))
其中η\eta是分布的自然参数,T(y)T(y)是充分统计了,通常T(y)=yT(y)=y.当参数a,b,Ta,b,T都固定的时候,就定义了一个以η\eta为参数的函数族。

实际上大多数的概率分布都属于指数分布家族,比如

1)伯努利分布 0-1问题

2)二项分布,多项分布 多取值 多次试验

3)泊松分布 计数过程

4)伽马分布与指数分布

5)β\beta分布

6)Dirichlet分布

7)高斯分布

现在我们将高斯分布和伯努利分布用指数分布家族的形式表示:

高斯分布:
p(y(i)x(i);θ)=12πexp((y(i)μ)22σ2)=12πexp(12y212μ2+μy)=12πexp(12y2)exp(μy12μ2) p\left ( y ^{(i)} | x^{(i)};\theta\right )=\frac{1}{\sqrt{2\pi} }exp\left ( -\frac{\left ( y ^{(i)} -\mu\right )^{2}}{2\sigma ^{2}} \right )\\ =\frac{1}{\sqrt{2\pi}}exp(-\frac{1}{2}y^{2}-\frac{1}{2}\mu^{2}+\mu y)\\ =\frac{1}{\sqrt{2\pi}}exp(-\frac{1}{2}y^{2})exp(\mu y-\frac{1}{2}\mu^{2})
对应到指数分布家族有:
b(y)=12πexp(12y2)T(y)=yη=μa(η)=12μ2 b(y)=\frac{1}{\sqrt{2\pi}}exp(-\frac{1}{2}y^{2})\\ T(y)=y\\ \eta=\mu\\ a(\eta)=\frac{1}{2}\mu^{2}
伯努利分布:
p(yx;θ)=(ϕ)y.(1ϕ)(1y)=exp(ylogϕ+(1y)log(1ϕ))=1exp(log(ϕ1ϕ)y+log(1ϕ)) p\left ( y|x;\theta \right )=\left (\phi \right )^{y}.\left (1-\phi \right )^{\left (1-y \right )}\\ =exp(ylog\phi +(1-y)log(1-\phi))\\ =1\cdot exp(log(\frac{\phi}{1-\phi})y+log(1-\phi))
对应到指数分布家族有:
b(y)=1T(y)=yη=logϕ1ϕϕ=11+eηa(η)=log(1ϕ)=log(1+eη) b(y)=1\\ T(y)=y\\ \eta=log\frac{\phi}{1-\phi} \Rightarrow \phi=\frac{1}{1+e^{-\eta}}\\ a(\eta)=-log(1-\phi)=log(1+e^{\eta})

2. 广义线性模型

​ 在了解指数分布家族之后,我们再来看广义线性模型的形式定义与假设:

1)yx;θExpFamily(η);y|x;\theta \sim ExpFamily(\eta); 给定样本x与参数θ\theta,样本分类y服从指数分布家族的某个分布

2)给定一个x,我们目标函数为hθ(x)=E[T(y)x]h_{\theta}(x)=E[T(y)|x]

  1. η=θTx\eta=\theta ^{T}x

​ 以上三条假设,第一条是为了能在指数分布范围内讨论y的概率,第二条假设是为了使得预测值服从均值为实际值得一个分布,第三条假设是为了设计的决策函数(模型)是线性的。

由高斯分布的指数家族分布形式与广义线性模型的定义有线性回归的模型为:
hθ(x)=E[T(y)x]=E[yx]=μ=η=θTx h_{\theta}(x)=E[T(y)|x]=E[y|x]=\mu=\eta=\theta^{T}x
同样由伯努利分布的指数家族分布形式与广义线性模型的定义有logistic回归的模型为(解释了为什么是sigmoid函数):
hθ(x)=E[T(y)x]=E[yx]=p(y=1x;θ)=ϕϕ=11+eη=11+eθTx h_{\theta}(x)=E[T(y)|x]=E[y|x]=p(y=1|x;\theta)=\phi\\ \phi=\frac{1}{1+e^{-\eta}}=\frac{1}{1+e^{-\theta^{T}x}}
所以,在广义线性模型中,决策函数为线性函数是基于广义线性模型的第三条假设,而最终的模型是依赖于模型服从什么样的分布,比如 高斯分布,伯努利分布。

同样,我们应用logistic回归到softmax回归的一套定义,下面再来看多项分布对应的softmax回归
p(yx;θ)=(ϕ1)l(y=1).(ϕ2)l(y=2)...(ϕk1)l(y=k1).(ϕk)l(y=k)=(ϕ1)l(y=1).(ϕ2)l(y=2)...(ϕk1)l(y=k1).(ϕk)1i=1k1l(y=i)=1exp(log((ϕ1)l(y=1).(ϕ2)l(y=2)...(ϕk1)l(y=k1).(ϕk)1i=1k1l(y=i)))=exp(i=1k1l(y=i)log(ϕi)+(1i=1k1l(y=i))log(ϕk))=exp(i=1k1l(y=i)logϕiϕk+logϕk)=exp(i=1k1T(y)ilogϕiϕk+logϕk)=exp(ηTT(y)α(η)) p\left ( y|x;\theta \right )=\left (\phi_{1} \right )^{l(y=1)}.\left (\phi_{2} \right )^{l\left (y=2 \right )}...\left (\phi_{k-1} \right )^{l(y=k-1)}.\left (\phi_{k} \right )^{l\left (y=k \right )}\\ =\left (\phi_{1} \right )^{l(y=1)}.\left (\phi_{2} \right )^{l\left (y=2 \right )}...\left (\phi_{k-1} \right )^{l(y=k-1)}.\left (\phi_{k} \right )^{1-\sum_{i=1}^{k-1}l(y=i)}\\ =1\cdot exp(log(\left (\phi_{1} \right )^{l(y=1)}.\left (\phi_{2} \right )^{l\left (y=2 \right )}...\left (\phi_{k-1} \right )^{l(y=k-1)}.\left (\phi_{k} \right )^{1-\sum_{i=1}^{k-1}l(y=i)}))\\ =exp(\sum_{i=1}^{k-1}l(y=i)log(\phi_{i})+(1-\sum_{i=1}^{k-1}l(y=i))log(\phi_{k}))\\ =exp(\sum_{i=1}^{k-1}l(y=i)log\frac{\phi_{i}}{\phi_{k}}+ log\phi_{k})\\ =exp(\sum_{i=1}^{k-1}T(y)_{i}log\frac{\phi_{i}}{\phi_{k}}+ log\phi_{k})\\ =exp(\eta^{T}T(y)-\alpha(\eta))
其中ϕi\phi_{i}是表示y=iy=i的概率,l(y=i)l(y=i)是一个指示函数,为真是取值为11,否则为00T(y)iT(y)_{i}采用softmax中向量化的定义。

对应到指数分布家族有:
b(y)=1T(y)=i=1k1T(y)iη=[log(ϕ1/ϕk)log(ϕ2/ϕk).log(ϕk1/ϕk)]a(η)=log(ϕk) b(y)=1\\ T(y)=\sum_{i=1}^{k-1}T(y)_{i}\\ \eta=\begin{bmatrix} log\left ( \phi_{1}/\phi_{k}\right )\\ log\left ( \phi_{2}/\phi_{k} \right )\\ .\\ log\left ( \phi_{k-1}/\phi_{k} \right ) \end{bmatrix}\\ a(\eta)=-log(\phi_{k})
η\eta推出:
ηi=logϕi/ϕkϕi=ϕkeηii1..k1 \eta_{i}=log\phi_{i}/\phi_{k} \Rightarrow \phi_{i}=\phi_{k}e^{\eta_{i}} i \in{1..k-1}
为了方便定义ηk=logϕk/ϕk=0\eta_{k}=log\phi_{k}/\phi_{k}=0,由于多项分布所有值取值概率加和为1有:
i=1kϕi=i=1kϕkeηi=1ϕk=1i=1keηi \sum_{i=1}^{k}\phi_{i}=\sum_{i=1}^{k}\phi_{k}e^{\eta_{i}}=1 \Rightarrow \phi_{k}=\frac{1}{\sum_{i=1}^{k}e^{\eta_{i}}}
所以有p(y=ix;ϕ)=ϕi=eηii=1keηip(y=i|x;\phi)=\phi_{i}=\frac{e^{\eta_{i}}}{\sum_{i=1}^{k}e^{\eta_{i}}}.

再由广义线性模型的第二条假设,同时将第三条线性假设η=θTx\eta=\theta ^{T}x带入有:
hθ(x)=E[T(y)x;θ]=[ϕ1ϕ2.ϕk]=[exp(θkTx(1))k=1Kexp(θkTx(i))exp(θkTx(i))k=1Kexp(θkTx(i)).exp(θkTx(k))k=1Kexp(θkTx(i))] h_{\theta}(x)=E[T(y)|x;\theta]\\ =\begin{bmatrix} \phi_{1}\\ \phi_{2}\\ .\\ \phi_{k} \end{bmatrix}\\ =\begin{bmatrix} \frac{exp\left ( \theta _{k}^{T}x^{(1)} \right )}{\sum_{ k=1}^{K}exp\left ( \theta _{k}^{T}x^{(i)} \right )}\\ \frac{exp\left ( \theta _{k}^{T}x^{(i)} \right )}{\sum_{ k=1}^{K}exp\left ( \theta _{k}^{T}x^{(i)} \right )}\\ .\\ \frac{exp\left ( \theta _{k}^{T}x^{(k)} \right )}{\sum_{ k=1}^{K}exp\left ( \theta _{k}^{T}x^{(i)} \right )} \end{bmatrix}
最后由最大似然估计有softmax的目标函数如下:

L(θ)=i=1mlogp(y(i)x(i);θ)=i=1mk=1K(y(ik)log(hθk(x(i))k=1Khθk(x(i))))maxL(θ) L\left ( \theta \right )=\sum_{i=1}^{m}logp(y^{(i)}|x^{(i)};\theta)\\ =\sum_{i=1}^{m}\sum _{k=1}^{K}\left ( y^{(ik)} log\left ( \frac{ h_{\theta k}(x^{(i)})}{\sum _{k=1}^{K}h_{\theta k}(x^{(i)})} \right )\right )\\ \max L\left ( \theta \right )
到此,广义线性模型解释线性回归,logistic回归,softmax回归基本算完,可以看出线性函数是基于广义线性模型的第三条假设,采用sigmoid函数是因为伯努利分布,而softmax回归是logistic回归高维推广。

欢迎关注【AI小白入门】,这里分享Python、机器学习、深度学习、自然语言处理、人工智能等技术,关注前沿技术,求职经验等,陪有梦想的你一起成长。

【机器学习】知否?知否?广义线性模型