广义线性模型GLM

Generalized Linear Models

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

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

构建GLMs

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

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

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

(1) 普通最小二乘法

​ 为了表明普通最小二乘是GLM模型族的一个特例,假设目标变量 y y 也称为GLM术语中的响应变量)是连续的,并且我们将 y y x x 的条件分布建模为高斯分布 N(μ,σ2) N ( μ , σ 2 ) 。(这里 μ μ 可能取决于 x x 。)因此我们有:

hθ(x)====E[y|x;θ]μηθTx(22)(23)(24)(25) (22) h θ ( x ) = E [ y | x ; θ ] (23) = μ (24) = η (25) = θ T x

​ 第一个等式是由假设2得到的,第二个等式是因为 y|x;θN(μ,σ2) y | x ; θ ∼ N ( μ , σ 2 ) ,第三个等式是由第一个假设得到的,第四个等式是由假设3得到的。

(2) 逻辑回归

​ 假设我们只对二进制分类感兴趣,so y{0,1} y ∈ { 0 , 1 } 。因为 y y 是二进制值,所以我们自然而然地选择伯努利分布族作为 y|x y | x 的分布, y|x;θBernoulli(ϕ) y | x ; θ ∼ B e r n o u l l i ( ϕ ) 。因为伯努利分布属于指数族分布,所以有 ϕ=11+eη ϕ = 1 1 + e − η

hθ(x)====E[y|x;θ]ϕ11+eη11+eθTx(26)(27)(28)(29) (26) h θ ( x ) = E [ y | x ; θ ] (27) = ϕ (28) = 1 1 + e − η (29) = 1 1 + e − θ T x

广义线性模型GLM_第1张图片

(3) Softmax回归

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

​ 假设 y y 服从推广的伯努利分布,总共有 k k 个类别,用 k1 k − 1 个参数

ϕ1,ϕ2,,ϕk1.(ϕk=1i=1k1ϕi) ϕ 1 , ϕ 2 , … , ϕ k − 1 . ( ϕ k = 1 − ∑ i = 1 k − 1 ϕ i )
代表 y y 属于每一类的概率。接着,我们要把y的分布写成指数分布族的形式。首先,先考虑伯努利分布的表达式为
p(y;ϕ)=ϕy(1ϕ)1y p ( y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y

​ 这是 y y 只有2个分类的情况。现在 y y 有k个情况。我们引入一个示性函数 1{.} 1 { . }
s.t.1{True}=1,1{False}=0 s . t . 1 { T r u e } = 1 , 1 { F a l s e } = 0

​ 那么这时候 y y 服从分布
p(y;ϕ)=ϕ1{y=1}1ϕ1{y=2}2ϕ1{y=k}k p ( y ; ϕ ) = ϕ 1 1 { y = 1 } ϕ 2 1 { y = 2 } … ϕ k 1 { y = k }

​ 我们把它写成指数分布族的形式:
p(y,ϕ)====ϕ1{y=1}1ϕ1{y=2}2ϕ1{y=k}kϕ1{y=1}1ϕ1{y=2}2ϕ1i=1k11{y=i}kexp[1{y=1}ln(ϕ1)++(1i=1k11{y=i})ln(ϕk)]exp[1{y=1}ln(ϕ1/ϕk)++1{y=k1}ln(ϕk1/ϕk)+ln(ϕk)] p ( y , ϕ ) = ϕ 1 1 { y = 1 } ϕ 2 1 { y = 2 } … ϕ k 1 { y = k } = ϕ 1 1 { y = 1 } ϕ 2 1 { y = 2 } … ϕ k 1 − ∑ i = 1 k − 1 1 { y = i } = e x p [ 1 { y = 1 } l n ( ϕ 1 ) + ⋯ + ( 1 − ∑ i = 1 k − 1 1 { y = i } ) l n ( ϕ k ) ] = e x p [ 1 { y = 1 } l n ( ϕ 1 / ϕ k ) + ⋯ + 1 { y = k − 1 } l n ( ϕ k − 1 / ϕ k ) + l n ( ϕ k ) ]


b(y)=1η=ln(ϕ1/ϕk)ln(ϕ2/ϕk)ln(ϕk1/ϕk)T(y)=1{y=1}1{y=2}1{y=k1}a(η)=ln(ϕk)(30)(31)(32)(33) (30) b ( y ) = 1 (31) η = [ l n ( ϕ 1 / ϕ k ) l n ( ϕ 2 / ϕ k ) ⋮ l n ( ϕ k − 1 / ϕ k ) ] (32) T ( y ) = [ 1 { y = 1 } 1 { y = 2 } ⋮ 1 { y = k − 1 } ] (33) a ( η ) = − l n ( ϕ k )

​ 这时候, T(y) T ( y ) 是一组 k1 k − 1 维的向量,不再是 y y ,如下所示:

T(1)=1000,T(2)=0100,T(3)=0010,,T(k1)=0001,T(k)=0000 T ( 1 ) = [ 1 0 0 ⋮ 0 ] , T ( 2 ) = [ 0 1 0 ⋮ 0 ] , T ( 3 ) = [ 0 0 1 ⋮ 0 ] , ⋯ , T ( k − 1 ) = [ 0 0 0 ⋮ 1 ] , T ( k ) = [ 0 0 0 ⋮ 0 ]

构建 hθ(x) h θ ( x )
hθ(x)===E[T(y)|x;θ]E1{y=1}1{y=2}|x;θ1{y=k1}ϕ1ϕ2ϕk1(34)(35)(36) (34) h θ ( x ) = E [ T ( y ) | x ; θ ] (35) = E [ 1 { y = 1 } 1 { y = 2 } | x ; θ ⋮ 1 { y = k − 1 } ] (36) = [ ϕ 1 ϕ 2 ⋮ ϕ k − 1 ]

​ 再用自然参数 η η 来表示 ϕ ϕ
eηiϕkeηiϕki=1keηiϕk====ϕiϕkϕii=1kϕi=11i=1kϕi(37)(38)(39)(40) (37) e η i = ϕ i ϕ k (38) ϕ k e η i = ϕ i (39) ϕ k ∑ i = 1 k e η i = ∑ i = 1 k ϕ i = 1 (40) ⇒ ϕ k = 1 ∑ i = 1 k ϕ i

​ 将式(22)代入式(19)得:
ϕi=eηij=1keηj ϕ i = e η i ∑ j = 1 k e η j

​ 最后,用特征的线性组合去表示自然参数
η1η2ηk===θT1XθT2XθTkX η 1 = θ 1 T X η 2 = θ 2 T X ⋮ η k = θ k T X

hθ(x)==ϕ1ϕ2ϕk1=eη1j=1keηjeη2j=1keηjeηkj=1keηjeθT1xj=1keθTjxeθT2xj=1keθTjxeθTkxj=1keθTjx(43)(44) (43) h θ ( x ) = [ ϕ 1 ϕ 2 ⋮ ϕ k − 1 ] = [ e η 1 ∑ j = 1 k e η j e η 2 ∑ j = 1 k e η j ⋮ e η k ∑ j = 1 k e η j ] (44) = [ e θ 1 T x ∑ j = 1 k e θ j T x e θ 2 T x ∑ j = 1 k e θ j T x ⋮ e θ k T x ∑ j = 1 k e θ j T x ]

那么就建立了假设函数,最后就获得了最大似然估计

(θ)=i=1mlnp(y(i)|x(i);θ)=i=1mlnl=1k(eθTlx(i)j=1keθTjx(i))1{y(i)=l} ℓ ( θ ) = ∑ 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 }

​ 对该式子可以使用梯度下降算法或者牛顿方法求得参数 θ θ 后,使用假设函数 h h 对新的样例进行预测,即可完成多类分类任务。对于互斥的多分类问题,这种模型比较合适,而对于非互斥的多分类问题,构建 k k 个one-vs-all逻辑回归模型更为合适。

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

广义线性模型(Generalized Linear Model)

你可能感兴趣的:(机器学习,机器学习,斯坦福机器学习课程)