机器学习-牛顿方法&指数分布族&GLM

本节内容算法

  • 牛顿方法
  • 指数分布族
  • 广义线性模型

以前学习了梯度降低方法,关于梯度降低(gradient descent),这里简单的回顾下【参考感知机学习部分提到的梯度降低(gradient descent)】。在最小化损失函数时,采用的就是梯度降低的方法逐步逼近最优解,规则为其实梯度降低属于一种优化方法,但梯度降低找到的是局部最优解。以下图:app


这里写图片描述

本节首先讲解的是牛顿方法(NewTon’s Method)。牛顿方法也是一种优化方法,它考虑的是全局最优。接着还会讲到指数分布族和广义线性模型。下面来详细介绍。机器学习

1.牛顿方法

如今介绍另外一种最小化损失函数(θ)的方法——牛顿方法,参考Approximations Of Roots Of Functions – Newton’s Method
。它与梯度降低不一样,其基本思想以下:
函数

假设一个函数咱们须要求解此时的x值。以下图所示:
这里写图片描述
学习

图1 f(x0)=0,a1,a2,a3...逐步接近x0优化

在a1点的时候,f(x)切线的目标函数因为(a2,0)在这条线上,因此咱们有网站

同理,在a2点的时候,切线的目标函数因为(a3,0)在这条线上,因此咱们有atom

假设在第n次迭代,有那么此时有下面这个递推公式:es5

其中n>=2。spa

最后获得的公式也就是牛顿方法的学习规则,为了和梯度降低对比,咱们来替换一下变量,公式以下:

那么问题来了,怎么将牛顿方法应用到咱们的问题上,最小化损失函数l(theta),(或者是求极大似然估计的极大值)呢?

对于机器学习问题,如今咱们优化的目标函数为极大似然估计l,当极大似然估计函数取值最大时,其导数为 0,这样就和上面函数f取 0 的问题一致了,令极大似然函数的求解更新规则是:

对于l,当一阶导数为零时,有极值;此时,若是二阶导数大于零,则l有极小值,若是二阶导数小于零,则有极大值。

上面的式子是当参数θ为实数时的状况,下面咱们要求出通常式。当参数为向量时,更新规则变为以下公式:

其中和以前梯度降低中提到的同样,是梯度,H是一个n*n矩阵,H是函数的二次导数矩阵,被成为Hessian矩阵。其某个元素Hij计算公式以下:

和梯度降低相比,牛顿方法的收敛速度更快,一般只要十几回或者更少就能够收敛,牛顿方法也被称为二次收敛(quadratic convergence),由于当迭代到距离收敛值比较近的时候,每次迭代都能使偏差变为原来的平方。缺点是当参数向量较大的时候,每次迭代都须要计算一次 Hessian 矩阵的逆,比较耗时。

 

2.指数分布族(The exponential family)

指数分布族是指能够表示为指数形式的几率分布。指数分布的形式以下:

其中,η成为分布的天然参数(nature parameter);T(y)是充分统计量(sufficient statistic),一般 T(y)=y。当参数 a、b、T 都固定的时候,就定义了一个以η为参数的函数族。

下面介绍两种分布,伯努利分布和高斯分布,分别把它们表示成指数分布族的形式。

伯努利分布

伯努利分布是对0,1问题进行建模的,对于下面将其推导成指数分布族形式:
这里写图片描述

将其与指数族分布形式对比,能够看出:
这里写图片描述

代表伯努利分布也是指数分布族的一种。从上述式子能够看到,η的形式与logistic函数(sigmoid)一致,这是由于 logistic模型对问题的前置几率估计其实就是伯努利分布。

高斯分布

下面对高斯分布进行推导,推导公式以下(为了方便计算,咱们将方差σ设置为1):

这里写图片描述

将上式与指数族分布形式比对,可知:

两个典型的指数分布族,伯努利和高斯分布。其实大多数几率分布均可以表示成指数分布族形式,以下所示:

  • 伯努利分布(Bernoulli):对 0、1 问题进行建模;
  • 多项式分布(Multinomial):多有 K 个离散结果的事件建模;
  • 泊松分布(Poisson):对计数过程进行建模,好比网站访问量的计数问题,放射性衰变的数目,商店顾客数量等问题;
  • 伽马分布(gamma)与指数分布(exponential):对有间隔的正数进行建模,好比公交车的到站时间问题;
  • β 分布:对小数建模;
  • Dirichlet 分布:对几率分布进建模;
  • Wishart 分布:协方差矩阵的分布;
  • 高斯分布(Gaussian);

下面来介绍下广义线性模型(Generalized Linear Model, GLM)。

3.广义线性模型(Generalized Linear Model, GLM)

你可能会问,指数分布族究竟有何用?其实咱们的目的是要引出GLM,经过指数分布族引出广义线性模型。

仔细观察伯努利分布和高斯分布的指数分布族形式中的η变量。能够发现,在伯努利的指数分布族形式中,η与伯努利分布的参数φ是一个logistic函数(下面会介绍logistic回归的推导)。此外,在高斯分布的指数分布族表示形式中,η与正态分布的参数μ相等,下面会根据它推导出普通最小二乘法(Ordinary Least Squares)。经过这两个例子,咱们大体能够获得一个结论,η以不一样的映射函数与其它几率分布函数中的参数发生联系,从而获得不一样的模型,广义线性模型正是将指数分布族中的全部成员(每一个成员正好有一个这样的联系)都做为线性模型的扩展,经过各类非线性的链接函数将线性函数映射到其余空间,从而大大扩大了线性模型可解决的问题。

下面咱们看 GLM 的形式化定义,GLM 有三个假设:

  • (1);给定样本Χ与参数θ,样本分类γ服从指数分布族中的某个分布;
  • (2)给定一个Χ,咱们须要的目标函数为
  • (3)。 

 依据这三个假设,咱们能够推导出logistic模型与普通最小二乘模型。首先根据伯努利分布推导Logistic模型,推导过程以下:

公式第一行来自假设(2),公式第二行经过伯努利分布计算得出,第三行经过伯努利的指数分布族表示形式得出,而后在公式第四行,根据假设三替换变量获得。

一样,能够根据高斯分布推导出普通最小二乘,以下:

公式第一行来自假设(2),第二行是经过高斯分布计算得出,第三行是经过高斯分布的指数分布族形式表示得出,第四行即为假设(3)。

其中,将η与原始几率分布中的参数联系起来的函数成为正则相应函数(canonical response function),如便是正则响应函数。正则响应函数的逆成为正则关联函数(canonical link function)。

因此,对于广义线性模型,须要决策的是选用什么样的分布,当选取高斯分布时,咱们就获得最小二乘模型,当选取伯努利分布时,咱们获得 logistic 模型,这里所说的模型是假设函数 h 的形式。

最后总结一下:广义线性模型经过假设一个几率分布,获得不一样的模型,而梯度降低和牛顿方法都是为了求取模型中的线性部分的参数θ的。

 

多分类模型-Softmax Regression

 

下面再给出GLM的一个例子——Softmax Regression.

假设一个分类问题,y可取k个值,即y∈{1,2,...k}。如今考虑的再也不是一个二分类问题,如今的类别能够是多个。如邮件分类:垃圾邮件、我的邮件、工做相关邮件。下面要介绍的是多项式分布(multinomial distribution)。

多项式分布推导出的GLM能够解决多类分类问题,是 logistic 模型的扩展。对于多项式分布中的各个y的取值,咱们可使用k个参数φ1,φ2,...,φk来表示这k个取值的几率。即

可是,这些参数可能会冗余,更正式的说可能不独立,由于,知道了前k-1个,就能够经过计算出第k个几率。因此,咱们只假定前k-1个结果的几率参数φ1,φ2,...,φk-1,第k个输出的几率经过下面的式子计算得出:

 

为了使多项式分布可以写成指数分布族的形式,咱们首先定义 T(y),以下所示:

和以前的不同,这里咱们的T(y)不等γ,T(y)如今是一个k-1维的向量,而不是一个真实值。接下来,咱们将使用表示T(y)的第i个元素。

下面咱们引入指数函数I,使得:

这样,T(y)向量中的某个元素还能够表示成:

举例来讲,当y=2时,。根据公式 15,咱们还能够获得:

下面,二项分布转变为指数分布族的推导以下:

其中,最后一步的各个变量以下:

η的表达式可知:

为了方便,再定义:

因而,能够获得:

将上式代入到,获得:

从而,咱们就获得了链接函数,有了链接函数后,就能够把多项式分布的几率表达出来:

注意到,上式中的每一个参数ηi都是一个可用线性向量表示出来的,于是这里的θ实际上是一个二维矩阵。

因而,咱们能够获得假设函数 h 以下:

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

对该式子可使用梯度降低算法或者牛顿方法求得参数θ后,使用假设函数h对新的样例进行预测,便可完成多类分类任务。这种多种分类问题的解法被称为 softmax regression。

ηk=log

hθ(x

hθ(x)=

相关文章
相关标签/搜索