斯坦福CS229机器学习笔记-Lecture4 - 指数分布族 和 广义线性模型 GLM
声明:此系列博文根据斯坦福CS229课程,吴恩达主讲 所写,为本人自学笔记,写成博客分享出来
博文中部分图片和公式都来源于CS229官方notes。
CS229的视频和讲义均为互联网公开资源
Lecture4
Lecture4的主要内容:
·logistic regression 部分剩下的Newton’smethod
·Exponential family (指数分布族)
Generalized linear model(广义线性模型GLM)
1、 Newton’s method
接着Lecture3的内容讲,还是先在这里给出我们要进行极大似然估计的对数似然函数:
Lecture3中我们用的是随机梯度上升方法来求得极大值,这里就讲牛顿方法来求极大值
吴老师认为牛顿方法要比随机梯度上升方法快很多。
牛顿方法的推导其实很简单,学过高等数学的话基本都会,所以我就直接给出公式了:
那么我们可以随机取一个θ,并使用牛顿方法进行迭代,最后找到目标θ:
从而能取得一个极值点,所以更新公式为:
在我们这里的logistic regression的设定中,θ只是一个数字,如果更一般的情况,θ是一个向量的话,那么牛顿方法的更新规则就应该写为:
其中 H 是个n 阶方阵,(如果考虑进去截距即x0 = 1,就是个 n+1阶方阵)
牛顿方法的收敛速度比梯度上升快很多,缺点是每次要生成一个Hessian矩阵,如果n并不大的话,是一个比较实用的方法。
2、 Exponential family
要讨论广义线性模型的话,先引入 Exponential family-指数分布族 这个概念。指数分布族定义了一类概率分布的集合,公式如下:
其实伯努利分布和高斯分布都是这族函数中的一个特例。
现在来把伯努利分布改写为指数分布族的形式:
再来试着把高斯分布改写成 指数分布族的形式:
3、 Generalize linear model
为了推导GLM,我们先做出如下几个假设:
现在来推导几个广义线性模型:
①ordinary least square 普通最小二乘法
首先认为目标变量y是连续的,且我们认为给定输入x时,y服从高斯分布N(μ,δ^2)。
然后上面第二部分推导过:高斯分布其实就是一个指数分布族的特例,且η = μ,则,根据上面3个假设,我们有:
最后就得到我们在Lecture1中见过的Ordinary least square !
②Logistic regression
对于logisticregression 我们知道是一个二分类问题,y取0或1,很自然我们就联想到伯努利分布。
所以这里就认为y服从伯努利分布
,
我们在上面第二部分也推导过,伯努利分布也是指数分布族的一个特例,有:
所以满足了假设1的条件,再根据其他假设,我们得到:
推导出的形式为:
所以当我们之前讲Logistic regression时为什么就提出h(θ)是 sigmoid 函数的形式,
这里就给出了原因:当我们认为目标变量y服从伯努利分布时,它就是GLMS指数分布族能推导出的结果。
再额外介绍一点东西,函数g将 natural parameter η 和分布的均值E 联系到一起,
这个函数g称为canonical response function. 正则响应函数,它的反函数称为canonicalresponse function.正则关联函数。这里只是提一句,确保大家以后在听别人谈论GLMS听到这些时能知道是个什么回事儿。但有些文献关于g和其反函数g- 的定义和我们这里说的相反,吴老师这里的叙述是根据一些早期的机器学习的文献做出的定义。
③Softmax Regression
实际上,SoftmaxRegression其实就是multinomial logistic regression
Softmax Regression处理多分类问题,目标函数y的取值是k个离散值。我们先来看它的分布是否属于指数分布族。
现在我们来说明这个多项分布属于指数分布族:
其中:
注意我们前面说了只用k-1个概率分布参数即可,所以手动定义第k个:
这样即推出:
最终我们得到:
这个就是重要的 Softmax Function
继续利用假设3,即
从而得到y关于x的条件概率分布:
这个模型,就是Softmax regression:
也就是说,hypothesis function 输出的就是 y为各个类别的概率!
考虑参数优化,其极大似然估计为:
可以用之前讲到的随机梯度上升 或者 牛顿方法 来进行参数优化