共计 1794 个字符,预计需要花费 5 分钟才能阅读完成。
引言
博主准备好好学习下机器学习的基础理论课程,因此最近准备把斯坦公开课程全部学完,一鼓作气~下面开始今天的主题了
在广义线性模型的视角下,我们能够合理地解释:为什么logistic 回归要用sigmod 函数 y=1/(1+e−z )?为什么泊松回归要用指数函数 y=ez ?选择这些函数不仅仅是因为他们的函数曲线形状与观测值很接近,其背后有更加深层次的统计基础。
广义线性回归
在之前的机器学习导论中介绍了最小二乘法线性回归和Logistic线性回归。二者都是都是通过计算相应的预测函数,然后计算代价函数的最值。计算的方法可以使用随机梯度下降法、牛顿法等。然后这里提到的两种回归都是广义线性回归的特例,说明二者之间存在着相似性。
在介绍广义线性回归之前必须先介绍下指数家族~
指数家族
任何一个概率分布可以写成以下形式均属于指数家族:
上式中η为自然参数,T(y)表示统计分量,a(η)为指数划分函数,e a(η)s是为了完成归一化处理。
给出的几个变量的定义都是跟η有关,也就是关于η的函数,因此我们可以通过改变参数η就可以得到不同的概率分布,例如伯努利分布和高斯分布都可以使用广义线性模型来表示。
指数家族举例说明
伯努利分布
对于伯努利分布给出相应的均值Φ,且输出y属于[0,1],可以得到相应的表达式如下所示:
上面的两个式子可以合并且由下面的式子表示:
因此对上面的式子进行相应的变化可以得到:
到这一步就可以发现伯努利概率分布可以由指数家族的模型来表示,其中的每个参数分别可以表示为:
由此可以发现只要适当想选取各个参数就可以实现。
高斯分布
考虑到高斯函数中方差对最后的代价函数中θ的计算并不影响,因此我们可以对方差设定任意的值,在本文的举例中我们将方差设为1,方便后续方程的计算。因此可以得到相应的公式如下:
对应的各个参数的表达如下:
除此之外,还有更多的概率分布属于指数家族范围之内,只要合适的选取想的参数表达。
广义线性模型是经典线性模型的一个概括。广义线性模型包括了一些特殊模型,如线性回归,方差分析模型,量子反应中常用的对数和概率模型,对数线性模型和计数中用到的多反应模型,以及存活数据使用的一些通用模型。以上模型有一些共同的属性,如线性——可以利用其良好的性质;有通用的参数估计的方法。这些通用的属性让研究者可以把广义线性模型当作一个单独的组来学习,而不是一系列不相关的主题来学习。
广义线性模型
思考一个问题
考虑这样一个简单的退保案例:一个保险产品一共卖出12份保单(当然了这在现实中不可能,这里仅为示例),在保单期限内一共有6人退保。那么采用这12个投保人的特征数据如收入、职业、年龄等做为预测变量对退保/退保率进行回归分析时,普通线性模型不再适用,因为这里退保这一事件不再服从正态分布,而是二项分布(当然了如果观测值的个数足够大,比如大于30,正态分布是一个很好的近似)。此时就可采用广义线性模型(目标分布采用二项分布)进行建模。
为了保证使用广义线性模型来解决我们的问题,这其中要保证y关于x的条件分布符合以下几个条件:
- y|x; θ概率分布要符合指数家族的定义
- h(x)=E[y|x], (对于logistic回归,期望值是ø,ø与η的关系是ø=1/(1+e-η);对于线性回归,期望值是μ,μ与η的关系是η=μ)
- 设定η=θTx(如果η是一个向量值的话,那么ηi=θiTx)
广义线性模型的特征
为什么要把 y 的条件分布定义为这么奇怪的指数分布族?这是因为,在这样的定义下,我们可以证明:
如此简洁的期望和方差意味着:一旦待估计的 y 的概率分布写成了某种确定的指数分布族的形式(也就是给定了具体的 a,b,T),那么我们可以直接套用公式
构建回归模型。通过这个规律,我们可以解释为什么 logistic 回归要用sigmod 函数 y=1/1+e−z 建模。
期望以及方差证明
方差证明
Logistic线性回归
使用伯努利分布估计y与x之间的分布关系,伯努利分布均值选取ø=1/(1+e−η),由此我们可以得到预测函数:
因此就可以知道为什么选取sigmoid函数了吧!
总结
可以看到,利用GLM,我们能够很快确定我们的目标函数是什么,当我们选取高斯分布的时候,我们就能够得到线性回归模型;当我们选取贝努力分布时,我们就得到Logistic模型。所以,可以把广义线性模型看成是一个关于分布的分布,不同的参数得到不同的分布模型,从而得到不同的目标函数。