广义线性模型GLM入门学习

Generalized Linear Models

​ 在线性回归模型的推导中,我们用到了高斯分布;逻辑回归模型的介绍中用到了伯努利分布,今天我们将讲到,这两中分布都是在一个更广义的模型里面——Generalized Linear Models。

​ 我们在建模的时候,关心的目标变量 y y y 可能服从很多种分布。像线性回归,我们会假设目标变量 y y y 服从正态分布;而逻辑回归,则假设服从伯努利分布。在广义线性模型的理论框架中,则假设目标变量 y y y 则是服从指数族分布 ,正态分布和伯努利分布都属于指数族分布,因此线性回归和逻辑回归可以看作是广义线性模型的特例。

构建GLMs

​ 考虑一个分类或回归问题,我们希望将某个随机变量 y y y 的值预测为 x x x 的函数。为了推导GLM,我们有以下三个假设:

  1. y ∣ x ; θ ∼ E x p o n e n t i a l F a m i l y ( η ) y | x; \theta \sim ExponentialFamily(\eta) yx;θExponentialFamily(η) ,i.e. 给定 x x x θ \theta θ y y y 的分布遵循带参数为 η \eta η 的指数族分布。
  2. 给定 x x x ,我们的目标是要预测 T ( y ) T(y) T(y) 的期望值,大多数情况下 T ( y ) = y T(y) = y T(y)=y ,那么我们实际上要找一个已知的函数 h ( x ) h(x) h(x) ,使得 h ( x ) = E [ y ∣ x ] h(x)=E[y| x] h(x)=E[yx] 。(线性回归和逻辑回归中的 h θ ( x ) h_{\theta}(x) hθ(x) 也是满足这个条件的,比如逻辑回归中, h θ ( x ) = p ( y = 1 ∣ x ; θ ) = 0 ∗ p ( y = 0 ∣ x ; θ ) + 1 ∗ p ( y = 1 ∣ x ; θ ) = E [ y ∣ x ] ) h_{\theta}(x) = p(y=1|x;\theta) = 0*p(y=0|x;\theta) + 1*p(y=1|x;\theta) = E[y|x]) hθ(x)=p(y=1x;θ)=0p(y=0x;θ)+1p(y=1x;θ)=E[yx]
  3. 自然参数 η \eta η x x x 是线性相关的, η = θ T x \eta = \theta^T x η=θTx 。如果 η \eta η 是向量, η i = θ i T x \eta_i = \theta_i^Tx ηi=θiTx

​ 这三个假设将使我们能够得到一种非常优雅的学习算法,即GLM,它具有许多理想的属性,如易于学习。 此外,所得到的模型通常非常有效地对 y y y 上的不同类型的分布进行建模; 例如,我们将很快可以知道逻辑回归和普通最小二乘都属于GLM的特例。

(1) 普通最小二乘法

​ 为了表明普通最小二乘是GLM模型族的一个特例,假设目标变量 y y y 也称为GLM术语中的响应变量)是连续的,并且我们将 y y y x x x 的条件分布建模为高斯分布 N ( μ , σ 2 ) N(\mu,\sigma^2) N(μ,σ2)。(这里 μ \mu μ 可能取决于 x x x 。)因此我们有:
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ h_{\theta}(x) …
​ 第一个等式是由假设2得到的,第二个等式是因为 y ∣ x ; θ ∼ N ( μ , σ 2 ) y|x;\theta \sim N(\mu,\sigma^2) yx;θN(μ,σ2) ,第三个等式是由第一个假设得到的,第四个等式是由假设3得到的。

(2) 逻辑回归

​ 假设我们只对二进制分类感兴趣,so y ∈ { 0 , 1 } y \in \{0,1 \} y{0,1} 。因为 y y y 是二进制值,所以我们自然而然地选择伯努利分布族作为 y ∣ x y|x yx 的分布, y ∣ x ; θ ∼ B e r n o u l l i ( ϕ ) y|x;\theta \sim Bernoulli(\phi) yx;θBernoulli(ϕ) 。因为伯努利分布属于指数族分布,所以有 ϕ = 1 1 + e − η \phi = \frac{1}{1+e^{-\eta}} ϕ=1+eη1
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ h_{\theta}(x) …
这里写图片描述

(3) Softmax回归

​ Let’s look at one more example of a GLM.假设现在分类问题不再是讨论是(y=1)或否(y=0)的问题,而是可以分为 k k k 类,即 y ∈ 1 , 2 , … , k y \in {1,2,\dots,k} y1,2,,k

​ 假设 y y y 服从推广的伯努利分布,总共有 k k k 个类别,用 k − 1 k-1 k1 个参数 ϕ 1 , ϕ 2 , … , ϕ k − 1 . ( ϕ k = 1 − ∑ i = 1 k − 1 ϕ i ) \phi_1,\phi_2,\dots,\phi_{k-1}. \quad (\phi_k = 1- \sum\limits_{i=1}^{k-1}\phi_i) ϕ1,ϕ2,,ϕk1.(ϕk=1i=1k1ϕi) 代表 y y y 属于每一类的概率。接着,我们要把y的分布写成指数分布族的形式。首先,先考虑伯努利分布的表达式为
p ( y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y p(y;\phi) = \phi^y(1-\phi)^{1-y} p(y;ϕ)=ϕy(1ϕ)1y
​ 这是 y y y 只有2个分类的情况。现在 y y y 有k个情况。我们引入一个示性函数 1 { . } 1\{.\} 1{.}
s . t . 1 { T r u e } = 1 , 1 { F a l s e } = 0 s.t. \quad 1\{True\} = 1, 1\{False\} = 0 s.t.1{True}=1,1{False}=0
​ 那么这时候 y y y 服从分布
p ( y ; ϕ ) = ϕ 1 1 { y = 1 } ϕ 2 1 { y = 2 } … ϕ k 1 { y = k } p(y;\phi) = \phi_1^{1\{y=1\}}\phi_2^{1\{y=2\}}\dots\phi_k^{1\{y=k\}} p(y;ϕ)=ϕ11{y=1}ϕ21{y=2}ϕk1{y=k}
​ 我们把它写成指数分布族的形式:
KaTeX parse error: No such environment: eqnarray* at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲*̲}̲ p(y,\phi) &=& …
⇒ \Rightarrow
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ b(y) = 1 \\ \e…

​ 这时候, T ( y ) T(y) T(y) 是一组 k − 1 k-1 k1 维的向量,不再是 y y y,如下所示:
KaTeX parse error: No such environment: eqnarray* at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲*̲}̲ T(1) =\begin{b…
构建 h θ ( x ) h_{\theta}(x) hθ(x)
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ h_{\theta}(x) …
​ 再用自然参数 η \eta η 来表示 ϕ \phi ϕ
KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ e^{\eta_i} &=&…
​ 将式(22)代入式(19)得:
ϕ i = e η i ∑ j = 1 k e η j \phi_i = \frac{e^{\eta_i} }{\sum\limits _{j=1}^k e^{\eta_j}} ϕi=j=1keηjeηi
​ 最后,用特征的线性组合去表示自然参数
KaTeX parse error: No such environment: eqnarray* at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲*̲}̲ \eta_1 &=& \th…

$$
\begin{eqnarray}
h_{\theta}(x)
&=&
\begin{bmatrix}
\phi_1 \
\phi_2 \
\vdots \
\phi_{k-1} \
\end{bmatrix}

\begin{bmatrix}
\frac{e^{\eta_1} }{\sum\limits _{j=1}^k e^{\eta_j}} \
\frac{e^{\eta_2} }{\sum\limits _{j=1}^k e^{\eta_j}} \
\vdots \
\frac{e^{\eta_k} }{\sum\limits _{j=1}^k e^{\eta_j}} \
\end{bmatrix} \
&=&
\begin{bmatrix}
\frac{e{\theta_1T x} }{\sum\limits _{j=1}^k e{\theta_jT x}} \
\frac{e{\theta_2T x} }{\sum\limits _{j=1}^k e{\theta_jT x}} \
\vdots \
\frac{e{\theta_kT x} }{\sum\limits _{j=1}^k e{\theta_jT x}} \
\end{bmatrix}
\end{eqnarray}
$$

那么就建立了假设函数,最后就获得了最大似然估计
ℓ ( θ ) = ∑ i = 1 m l n p ( y ( i ) ∣ x ( i ) ; θ ) = ∑ i = 1 m l n ∏ l = 1 k ( e θ l T x ( i ) ∑ j = 1 k e θ j T x ( i ) ) 1 { y ( i ) = l } \ell (\theta) = \sum\limits_{i=1}^m ln p(y^{(i)}|x^{(i)};\theta) \\ =\sum\limits_{i=1}^m ln \prod\limits_{l=1}^k (\frac{e^{\theta_l^T x^{(i)}} }{\sum\limits _{j=1}^k e^{\theta_j^T x^{(i)}}} )^{1\{y^{(i)} = l\}} (θ)=i=1mlnp(y(i)x(i);θ)=i=1mlnl=1k(j=1keθjTx(i)eθlTx(i))1{y(i)=l}
​ 对该式子可以使用梯度下降算法或者牛顿方法求得参数 θ \theta θ 后,使用假设函数 h h h 对新的样例进行预测,即可完成多类分类任务。对于互斥的多分类问题,这种模型比较合适,而对于非互斥的多分类问题,构建 k k k 个one-vs-all逻辑回归模型更为合适。

斯坦福机器学习课程Lecture 1(cs229-notes1)

广义线性模型(Generalized Linear Model)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值