您的位置:首页 > 其它

【学习笔记】斯坦福大学公开课(机器学习) 之广义线性模型

2017-04-17 17:48 603 查看
广义线性模型(GLM)是在指数分布族基础上形成的模型,对于指数分布族中,参数η都可以有其他对应函数来替代,从而得到指数分布族模型的扩展。为引入GLM来解决问题,我们做三个假设:

1.y|x;θ∼ExponentialFamily(η),即已知x和θ,y的分布满足参数为η的指数分布族。

2.假设函数h(x)=E[y|x],即假设函数等于期望(E)

3.特性参数η=θTx

最小二乘法(Ordinary Least Squares)

最小二乘法是指数分布族中一个特殊的模型,对于目标变量y(在GLM中也称为反应变量(response variable))是连续的,那么把条件模型定义为高斯分布,从之前的文章可以看到高斯分布作为指数分布族中的一员,有μ=η,所以我们有如下推导过程:

hθ(x)=E[y|x;θ]=μ=η=θTx

其中第一步推导根据假设2,第二步推导根据高斯分布的定义,对于高斯分布来说它的期望值就是μ,第三步推导根据假设1,由于y属于指数分布族,就有μ=η,最后一步根据假设3。

逻辑斯蒂回归(Logistic Regression)

对于伯努利分布y|x;θ∼Bernoulli(ϕ)来说,它也属于指数分布族中的一个种类,根据之前介绍指数分布族的推导,ϕ=1/(1+e−η),且伯努利分布的期望值是ϕ。那么假设函数的推导就如下:

hθ(x)=E[y|x;θ]=ϕ=1/(1+e−η)=1/(1+e−θTx)

从这里就可以看出我们的假设函数h(x)是如何得到的,当我们假设目标变量是关于x的伯努利分布,根据指数分布族和广义线性模型就可以得到这个假设函数h(x)=1/(1+e−θTx)

多项式分布(Softmax Regression)

对于某一种多类的分类问题(例如判断一张手写数字写的是什么,即判断目标值是十个阿拉伯数字中的哪一个),与logistic分类问题比较类似,但是它是logistic分类问题的扩展,目标值y∈{1,2,3……k}。为了解决这类问题,还是引入我们的GLM来解决。首先把这个模型表示成为指数分布族。

把k个不同目标值yk的输出概率表示为ϕ1,ϕ2,ϕ3.....ϕk,这k个值必须有∑ki=1ϕi=1,那么根据这个关系就可以把参数减少一个,最后一个ϕi=1−∑k−1i=1,这个可以解释为,如果目标函数不是前面k-1个预测值,那么肯定是最后一个预测的值。

为了表示成指数分布族,我们定义T(y)如下:

T(1)=⎛⎝⎜⎜⎜⎜10⋮0⎞⎠⎟⎟⎟⎟T(2)=⎛⎝⎜⎜⎜⎜01⋮0⎞⎠⎟⎟⎟⎟⋯T(k−1)=⎛⎝⎜⎜⎜⎜00⋮1⎞⎠⎟⎟⎟⎟T(k)=⎛⎝⎜⎜⎜⎜00⋮0⎞⎠⎟⎟⎟⎟

与之前的指数分布族不一样,之前的模型里T(y)=y,而在这里T(y)是一个k-1维的向量,我们记(T(y))i为T(y)的第i个元素的值,再记1{True} = 1, 1{False} = 0.

我们基于以上的概念,做如下变换:

p(y;ϕ)=ϕ1{y=1}1ϕ1{y=2}2⋯ϕ1{y=k}k=ϕ1{y=1}1ϕ1{y=2}2⋯ϕ1−∑k−1i=11{y=i}k=ϕ(T(y))11ϕ(T(y))22⋯ϕ1−∑k−1i=1(T(y))ik=exp((T(y))1)log(ϕ1)+(T(y))2log(ϕ2)⋯+(1−∑i=1k−1T(y))ilog(ϕk))=exp(((T(y))1log(ϕ1/ϕk)+(T(y))2log(ϕ2/ϕk)⋯+(T(y))k−1log(ϕk−1/ϕk)+log(ϕk))=b(y)exp(ηTT(y)−a(η))

其中:ηa(η)b(y)=⎡⎣⎢⎢⎢⎢⎢log(ϕ1/ϕk)log(ϕ2/ϕk)⋮log(ϕk−1/ϕk)⎤⎦⎥⎥⎥⎥⎥=−log(ϕk)=1

从这里就可以看到多项式分布就转换成了指数分布族。

其中ηi=logϕiϕk。

我们继续推导:

eηieηiϕkϕk∑i=1keηi=ϕiϕk=ϕi=∑i=1kϕi=1(1)(2)

所以可以看到ϕ与η的关系(上面1式和2式做一个合并):

ϕieηi=ϕk=1∑kj=1eηj

可以得到:

ϕi=eηi∑kj=1eηj

这个ϕ与η的关系函数,就叫做softmax函数。

按照之前的假设3,有ηi=θTix,其中i=1,2,3⋯,k−1

p(y=i|x;θ)=ϕi=eηi∑kj=1eηj=eθTjx∑kj=1eθTjx

这种多类的分类问题的模型就是softmax regression.

我们的假设函数就如下推导出来:

hθ(x)=E[T(y)|x;θ]=⎡⎣⎢⎢⎢⎢⎢⎢⎢ϕ1ϕ2ϕ3⋮ϕk−1⎤⎦⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢eθT1x∑kj=1eθTjxeθT2x∑kj=1eθTjxeθT3x∑kj=1eθTjx⋮eθTk−1x∑kj=1eθTjx⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

换句话说,假设函数得到的结果是目标值属于全部分类中某一种分类的概率。模型得到后,我们就可以用样本数据来优化参数,从而得到我们的模型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐