关于机器学习中基于对数线性回归模型的讨论

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于机器学习中基于对数线性回归模型的讨论相关的知识,希望对你有一定的参考价值。

前言

  在之前的关于回归问题的讨论中,笔者主要给出了一般原始的线性回归模型(主要以最小二乘法形式进行的)以及其它两种主流的线性回归模型的补充内容,它们主要是为了解决样本之间存在线性相关性的问题,包括岭回归和LASSO回归。

  一般而言,对于多分类问题,我们希望能将样本的采样值约束在一定范围之内,最为常用的如[0,1]之间,这就产生了所谓归一化的需求,就是本文讨论的目标。在下面的章节中,我们着重于此类方法,主要包括经常被使用的SoftmaxLogistic回归。

Softmax回归

  按照老规矩,对于N个样本,我们记作技术分享,而样本需要被划分为c个类别,如前所述我们需要把样本的取值归一化到[0,1]区间,那么定义每个样本归属某个分类i的概率为:

技术分享


   上式就是我们熟悉的所谓Softmax表达式。

  需要说明的一点是,为了统一起见,在上式中笔者将偏置也用w.0来表示,而不是以往习惯使用的b,这种表示方法可能在下面的推导中会比较方便。

             那么如果对于所有样本而言,我们肯定希望使这个概率越大越好,故这里又要使用最大似然法来求解,故我们要求取的目标函数就是:

技术分享


   其中,uik的取值范围仅在{0,1}之中(即分类是硬划分的),而其之和为1,它就是一个样本k属于类别i的归属度矩阵,而且是One-Hot-Vector

 

             为了便于计算我们对公式2取对数,如下:

技术分享

   对于上式我们可以使用梯度下降法进行求解,那么关于wi的偏导数为:

技术分享

   而关于偏置的偏导数则如下式定义:

技术分享


   对于公式4和公式5而言,它们也没有闭合解(因为是多元函数的非线性方程),只能使用牛顿-拉菲森方法(Newton-Raphson),关于此方法的具体内容,读者可参考相关介绍,但其思想也基本是利用泰勒公式进行展开推导。

            但需要注意的是,原本公式45已经是一阶偏导数形式,而牛顿-拉菲森方法还需要对相关目标函数进行求导,故递推公式会涉及到如下几个目标函数的二阶偏导数,为清晰起见现罗列如下:

技术分享

   在上述二阶偏导的求解中需要注意当对类j的计算时,需要把原公式(即公式45)的分子部分作为常数来看待。

技术分享


   故可以得到在Softmax方法中,参数更新的方法(基于牛顿-拉菲森方法)为:

技术分享


   但这里有个问题,因为对于样本而言,如果划分为c类,那么其实只要有c-1组参数即可(可以想象对于而分类问题,我们也只要有1个参数向量即可),故结果存在冗余,即可能出现了无穷多解,那么我们只能在其中找一个最简单的,公式变形如下:

         定义复杂度:

技术分享

Logistic回归

         Softmax类似,Logistic回归(简称LR)也是一种常用的线性回归模型,而且在很多电商网站的推荐模型中LR算法是最为常见的,而且其公式和推导过程几乎也与前者如出一辙,只不过唯一不同点就是,对于第c类的输出是由其它c-1类来表示的(故这里与Softmax不同,没有那些冗余的解),我们有如下公式,当技术分享时,有:

技术分享

   公式16看上去有点像Sigmoid函数。

         于是对于每一个样本而言我们试图使其乘积的概率最大,故与Softmax类似的我们有(针对公式15):

技术分享

   我们可以对上式使用梯度下降法进行求解,那么关于参数wi的偏导数就为:

技术分享

   可以看出其实上述公式与上面所推导的Softmax相关参数的偏导公式几乎没什么两样,当然其求解方法也就没有什么不同,而我们为了得到wiwi0的值,也需要计算如下几个二阶偏导数:

技术分享

   那么对于公式18,我们也需要定义海森矩阵,如下(注意其维度和Softmax的略为不同):

技术分享

   而对于海森矩阵中的每个元素而言,其定义则完全和上节中的相应公式一样,为节省篇幅,这里不再列出,其参数更新迭代的方式也完全相同,也不再赘述。




以上是关于关于机器学习中基于对数线性回归模型的讨论的主要内容,如果未能解决你的问题,请参考以下文章

机器学习系列:从线性回归到逻辑回归

机器学习:线性模型学习总结:线性回归

关于机器学习中一般线性回归的补充

机器学习——逻辑回归(Logistic Regression)

机器学习逻辑回归和线性回归的区别?(面试回答)

机器学习模型和算法