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

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

在这里插入图片描述

广义线性模型

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

1. 指数分布家族

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

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

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

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

3)泊松分布 计数过程

4)伽马分布与指数分布

5) β \beta β分布

6)Dirichlet分布

7)高斯分布

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

高斯分布:
p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π e x p ( − ( y ( i ) − μ ) 2 2 σ 2 ) = 1 2 π e x p ( − 1 2 y 2 − 1 2 μ 2 + μ y ) = 1 2 π e x p ( − 1 2 y 2 ) e x p ( μ y − 1 2 μ 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}) p(y(i)x(i);θ)=2π 1exp(2σ2(y(i)μ)2)=2π 1exp(21y221μ2+μy)=2π 1exp(21y2)exp(μy21μ2)
对应到指数分布家族有:
b ( y ) = 1 2 π e x p ( − 1 2 y 2 ) T ( y ) = y η = μ a ( η ) = 1 2 μ 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} b(y)=2π 1exp(21y2)T(y)=yη=μa(η)=21μ2
伯努利分布:
p ( y ∣ x ; θ ) = ( ϕ ) y . ( 1 − ϕ ) ( 1 − y ) = e x p ( y l o g ϕ + ( 1 − y ) l o g ( 1 − ϕ ) ) = 1 ⋅ e x p ( l o g ( ϕ 1 − ϕ ) y + l o g ( 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)) p(yx;θ)=(ϕ)y.(1ϕ)(1y)=exp(ylogϕ+(1y)log(1ϕ))=1exp(log(1ϕϕ)y+log(1ϕ))
对应到指数分布家族有:
b ( y ) = 1 T ( y ) = y η = l o g ϕ 1 − ϕ ⇒ ϕ = 1 1 + e − η a ( η ) = − l o g ( 1 − ϕ ) = l o g ( 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}) b(y)=1T(y)=yη=log1ϕϕϕ=1+eη1a(η)=log(1ϕ)=log(1+eη)

2. 广义线性模型

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

1) y ∣ x ; θ ∼ E x p F a m i l y ( η ) ; y|x;\theta \sim ExpFamily(\eta); yx;θExpFamily(η); 给定样本x与参数 θ \theta θ,样本分类y服从指数分布家族的某个分布

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

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

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

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

同样,我们应用logistic回归到softmax回归的一套定义,下面再来看多项分布对应的softmax回归
p ( y ∣ x ; θ ) = ( ϕ 1 ) l ( y = 1 ) . ( ϕ 2 ) l ( y = 2 ) . . . ( ϕ k − 1 ) l ( y = k − 1 ) . ( ϕ k ) l ( y = k ) = ( ϕ 1 ) l ( y = 1 ) . ( ϕ 2 ) l ( y = 2 ) . . . ( ϕ k − 1 ) l ( y = k − 1 ) . ( ϕ k ) 1 − ∑ i = 1 k − 1 l ( y = i ) = 1 ⋅ e x p ( l o g ( ( ϕ 1 ) l ( y = 1 ) . ( ϕ 2 ) l ( y = 2 ) . . . ( ϕ k − 1 ) l ( y = k − 1 ) . ( ϕ k ) 1 − ∑ i = 1 k − 1 l ( y = i ) ) ) = e x p ( ∑ i = 1 k − 1 l ( y = i ) l o g ( ϕ i ) + ( 1 − ∑ i = 1 k − 1 l ( y = i ) ) l o g ( ϕ k ) ) = e x p ( ∑ i = 1 k − 1 l ( y = i ) l o g ϕ i ϕ k + l o g ϕ k ) = e x p ( ∑ i = 1 k − 1 T ( y ) i l o g ϕ i ϕ k + l o g ϕ k ) = e x p ( η T T ( 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)) 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ϕkϕi+logϕk)=exp(i=1k1T(y)ilogϕkϕi+logϕk)=exp(ηTT(y)α(η))
其中 ϕ i \phi_{i} ϕi是表示 y = i y=i y=i的概率, l ( y = i ) l(y=i) l(y=i)是一个指示函数,为真是取值为 1 1 1,否则为 0 0 0 T ( y ) i T(y)_{i} T(y)i采用softmax中向量化的定义。

对应到指数分布家族有:
b ( y ) = 1 T ( y ) = ∑ i = 1 k − 1 T ( y ) i η = [ l o g ( ϕ 1 / ϕ k ) l o g ( ϕ 2 / ϕ k ) . l o g ( ϕ k − 1 / ϕ k ) ] a ( η ) = − l o g ( ϕ 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}) b(y)=1T(y)=i=1k1T(y)iη=log(ϕ1/ϕk)log(ϕ2/ϕk).log(ϕk1/ϕk)a(η)=log(ϕk)
η \eta η推出:
η i = l o g ϕ i / ϕ k ⇒ ϕ i = ϕ k e η i i ∈ 1.. k − 1 \eta_{i}=log\phi_{i}/\phi_{k} \Rightarrow \phi_{i}=\phi_{k}e^{\eta_{i}} i \in{1..k-1} ηi=logϕi/ϕkϕi=ϕkeηii1..k1
为了方便定义 η k = l o g ϕ k / ϕ k = 0 \eta_{k}=log\phi_{k}/\phi_{k}=0 ηk=logϕk/ϕk=0,由于多项分布所有值取值概率加和为1有:
∑ i = 1 k ϕ i = ∑ i = 1 k ϕ k e η i = 1 ⇒ ϕ k = 1 ∑ i = 1 k e η 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}}} i=1kϕi=i=1kϕkeηi=1ϕk=i=1keηi1
所以有 p ( y = i ∣ x ; ϕ ) = ϕ i = e η i ∑ i = 1 k e η i p(y=i|x;\phi)=\phi_{i}=\frac{e^{\eta_{i}}}{\sum_{i=1}^{k}e^{\eta_{i}}} p(y=ix;ϕ)=ϕi=i=1keηieηi.

再由广义线性模型的第二条假设,同时将第三条线性假设 η = θ T x \eta=\theta ^{T}x η=θTx带入有:
h θ ( x ) = E [ T ( y ) ∣ x ; θ ] = [ ϕ 1 ϕ 2 . ϕ k ] = [ e x p ( θ k T x ( 1 ) ) ∑ k = 1 K e x p ( θ k T x ( i ) ) e x p ( θ k T x ( i ) ) ∑ k = 1 K e x p ( θ k T x ( i ) ) . e x p ( θ k T x ( k ) ) ∑ k = 1 K e x p ( θ k T x ( 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} hθ(x)=E[T(y)x;θ]=ϕ1ϕ2.ϕk=k=1Kexp(θkTx(i))exp(θkTx(1))k=1Kexp(θkTx(i))exp(θkTx(i)).k=1Kexp(θkTx(i))exp(θkTx(k))
最后由最大似然估计有softmax的目标函数如下:

L ( θ ) = ∑ i = 1 m l o g p ( y ( i ) ∣ x ( i ) ; θ ) = ∑ i = 1 m ∑ k = 1 K ( y ( i k ) l o g ( h θ k ( x ( i ) ) ∑ k = 1 K h θ k ( x ( i ) ) ) ) max ⁡ L ( θ ) 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 ) L(θ)=i=1mlogp(y(i)x(i);θ)=i=1mk=1K(y(ik)log(k=1Khθk(x(i))hθk(x(i))))maxL(θ)
到此,广义线性模型解释线性回归,logistic回归,softmax回归基本算完,可以看出线性函数是基于广义线性模型的第三条假设,采用sigmoid函数是因为伯努利分布,而softmax回归是logistic回归高维推广。

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值