多类别逻辑回归(Multinomial Logistic Regression)

多类别逻辑回归介绍


基本介绍

   在统计学里,多类别逻辑回归是一个将逻辑回归一般化成多类别问题得到的分类方法。用更加专业的话来说,它就是一个用来预测一个具有类别分布的因变量不同可能结果的概率的模型。
   另外,多类别逻辑回归也有很多其它的名字,包括polytomous LR,multiclass LR,softmax regression,multinomial logit,maximum entropy classifier,conditional maximum entropy model
   在多类别逻辑回归中,因变量是根据一系列自变量(就是我们所说的特征、观测变量)来预测得到的。具体来说,就是通过将自变量和相应参数进行线性组合之后,使用某种概率模型来计算预测因变量中得到某个结果的概率,而自变量对应的参数是通过训练数据计算得到的,有时我们将这些参数成为回归系数。


模型介绍

(1)线性预测器(Linear predictor)

   跟其它形式的线性回归一样,多类别逻辑回归使用了一个线性预测函数来预测观测数据 i 的结果为 k 的概率,形式如下:

f(k,i)=β0,k+β1,kx1,i+β2,kx2,i+...+βM,kxM,i
这里 βm,k 是一个回归系数,它表示的是第 m 个观测变量/特征对地 k 个结果的影响有多大。当我们把 β0,k 的项看成是 x0,i=1 的项时,我们可以得到上述公式的向量化形式:
f(k,i)=βkxi
这里 βk 是一个回归系数向量,表示的是观测向量 xi 表示的观测数据对结果 k 的影响度,或者叫重要性。

(2)看成是多个独立二元回归的集合

   实现多类别逻辑回归模型最简单的方法是,对于所有 K 个可能的分类结果,我们运行 K1 个独立二元逻辑回归模型,在运行过程中把其中一个类别看成是主类别,然后将其它 K1 个类别和我们所选择的主类别分别进行回归。通过这样的方式,如果选择结果 K 作为主类别的话,我们可以得到以下公式。

要注意的是,上面的公式中我们已经引入了所有可能结果所对应的回归系数集合了。
然后对公式左右两边进行指数化处理我们能够得到以下公式:

要注意的是,我们最后得到的概率必须加起来等于1,基于这个事实我们可以得到:

这样的话,我们可以把以上公式代入到之前的公式中得到:

通过这样的方法我们就能计算出所有给定未预测样本情况下得到某个结果的概率。

(3)回归系数的估计

   上面篇幅所涉及到的每一个权重向量 βk 中的未知系数我们可以通过最大后验估计(MAP)来计算,同时也可以使用其它方法来计算,例如一些基于梯度的算法。

(4)看成是一个对数线性模型

   如果使用二元逻辑回归公式的对数模型的话,我们可以直接将其扩展成多类别回归模型。具体来说,就是使用线性预测器和额外的归一化因子(一个配分函数的对数形式)来对某个结果的概率的对数进行建模。形式如下:

这里用一个额外项 lnZ 来确保所有概率能够形成一个概率分布,从而使得这些概率的和等于1。

然后将等式两边的进行指数化,我们可以得到以下公式:

由于上面说到,所有概率之和等于1,因此我们可以得到 Z 的推导公式:

通过计算上面的公式,我们得到:

综合以上的公式,我们最后可以得到每一个结果对应的概率公式:

仔细观察的话,我们可以发现,所有的概率都具有以下形式:

我们可以把具有以下形式的函数成为softmax函数:

这个函数能够将 x1,...,xn 之间的差别放大,当存在一个 xk 比所有值中的最大值要小很多的话,那么它对应的softmax函数值就会区域0。相反,当 xk 是最大值的时候,除非第二大的值跟它很接近,否则的话softmax会趋于1。所以softmax函数可以构造出一个像是平滑函数一样的加权平均函数。
   所以,我们可以把上面的概率公式写成如下softmax函数的形式,事实上,softmax函数还能用于很多其他需要进行归一化处理的地方,如神经网络。


参考资料

多类别逻辑回归-维基百科 https://en.wikipedia.org/wiki/Multinomial_logistic_regression

你可能感兴趣的:(机器学习)