【学习笔记】斯坦福大学公开课(机器学习) 之广义线性模型
2017-04-17 17:48
603 查看
广义线性模型(GLM)是在指数分布族基础上形成的模型,对于指数分布族中,参数η都可以有其他对应函数来替代,从而得到指数分布族模型的扩展。为引入GLM来解决问题,我们做三个假设:
1.y|x;θ∼ExponentialFamily(η),即已知x和θ,y的分布满足参数为η的指数分布族。
2.假设函数h(x)=E[y|x],即假设函数等于期望(E)
3.特性参数η=θTx
hθ(x)=E[y|x;θ]=μ=η=θTx
其中第一步推导根据假设2,第二步推导根据高斯分布的定义,对于高斯分布来说它的期望值就是μ,第三步推导根据假设1,由于y属于指数分布族,就有μ=η,最后一步根据假设3。
hθ(x)=E[y|x;θ]=ϕ=1/(1+e−η)=1/(1+e−θTx)
从这里就可以看出我们的假设函数h(x)是如何得到的,当我们假设目标变量是关于x的伯努利分布,根据指数分布族和广义线性模型就可以得到这个假设函数h(x)=1/(1+e−θTx)
把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⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
换句话说,假设函数得到的结果是目标值属于全部分类中某一种分类的概率。模型得到后,我们就可以用样本数据来优化参数,从而得到我们的模型。
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⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
换句话说,假设函数得到的结果是目标值属于全部分类中某一种分类的概率。模型得到后,我们就可以用样本数据来优化参数,从而得到我们的模型。
相关文章推荐
- 【机器学习-斯坦福】学习笔记4 ——牛顿方法;指数分布族; 广义线性模型(GLM)
- 【学习笔记】斯坦福大学公开课(机器学习) 之一:线性回归、梯度下降
- 【学习笔记】斯坦福大学公开课(机器学习) 之二:正规方程
- 《机器学习》(Machine Learning)——Andrew Ng 斯坦福大学公开课学习笔记(一)
- 《机器学习》(Machine Learning)——Andrew Ng 斯坦福大学公开课学习笔记(二)
- Coursera公开课笔记: 斯坦福大学机器学习第九课“神经网络的学习(Neural Networks: Learning)”
- 公开课机器学习笔记(17)学习理论二 VC维、ERM总结、模型选择、特征选择
- scikit-learn学习笔记:1.1 广义线性模型-普通的最小二乘(Ordinary Least Squares)
- Python机器学习库SKLearn:监督学习之广义线性模型
- 《机器学习》(Machine Learning)——Andrew Ng 斯坦福大学公开课学习笔记(三)
- 【学习笔记】斯坦福大学公开课(机器学习) 之逻辑斯蒂回归
- 斯坦福大学公开课 :机器学习课程笔记-[第1集] 机器学习的动机与应用
- Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”
- 【学习笔记】斯坦福大学公开课(机器学习) 之逻辑斯蒂回归(续)
- 机器学习笔记五:广义线性模型(GLM)
- 机器学习笔记1_3:广义线性模型(GLM, Generalized Linear Models)
- Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”
- 机器学习笔记—指数分布簇和广义线性模型
- 机器学习笔记—再谈广义线性模型
- 机器学习笔记_回归_3: 广义线性模型