1.4 Softmax多分类模型

前面的logistics模型通过在原来线性模型基础上添加传递/激活函数,解决了目标变量Y取离散二值情况下的分类问题。实际中更为一般的情况是Y取离散多值情况下的多分类问题。比如,实际中可能希望将邮件分类成工作邮件、私人邮件和垃圾邮件三个类别。再如银行希望将贷款客户分成低端客户、中端客户、潜力客户和高端客户四个类别。基准测试集MNIST则是10个类别的手写体数字识别任务。本节在二分类的logistics模型基础上进行扩展,得到一个能处理kk≥2)个类别的多分类softmax模型。

图1.17形式的logistics模型只有一个输出单元,输出单元的值hθx)表示该样本属于正样本的概率,而[1−hθx)]则表示该样本属于负样本的概率。Logistics模型将样本划分到概率最大的那个类别。Softmax模型是将logistics模型这一思想扩展到多分类下的结果。

对于y{12,…,k}的kk≥2)分类问题,目标变量Y共有k个不同取值,代表不同的类别。对于这k个不同类别,有相应的φ1φ2,…,φk代表总体在各个类别的概率分布。假定(xy(m)是从服从式(1.4.1)所示多项式分布的总体中得到的训练集。由于概率的规范性要求,因此这k个参数中只有k−1个独立参数,剩下另一个是冗余参数,约定最后一个参数φk为冗余参数。现预期通过数据集(xy(m)训练一个假设函数,该假设函数能类似logistics模型的假设函数那样,对于给定的测试输入x,能针对每一个类别j估算出概率值py=j|x)。换而言之,此时假设函数要估计x的每一种分类结果出现的概率。

为此,可增加图1.17中输出层的节点数,使之具有k个节点,对应k个类别,并选择合适的激活/传递函数设法使节点j输出的就是输入x属于类别j的概率。由此得到图1.18形式的softmax回归模型两种等价的图形化表示,图1.18(a)是为了保持与前述图1.17所示的logistics模型相一致,图1.18(b)则是为清晰地展示每个输出层节点的计算公式。这个计算公式由式(1.4.2)给出,它是softmax回归模型节点j的传递函数,其中分母部分起归一化的作用,使节点输出为(01)之间的概率值。请注意,式(1.4.2)虽然形式上与式(1.3.2)所示的传递函数不太一样,但两者本质上是等价的,后面对此有进一步解释。

图1.18 式(1.4.4)中softmax回归模型的两种等价的图形化表示

在多分类情况下,每组参数θj均属于n+1维空间中的向量,即θ1,…,θj,…,θk,相应地,参数θ为一个×(n+1)的矩阵(式(1.4.3))。根据节点的激活/传递函数,可以得到softmax回归模型的假设函数,如式(1.4.4)所示。

显然,在条件下,fx1fx2,…,fxkk个概率只要知道其中的k−1个,剩下的另一个即可确定。因此,式(1.4.4)中假设函数中的参数集θ1θ2,…,θk有冗余,只要知道了其中的k−1组参数,另一组可通过这k−1组表示出来。

利用式(1.4.4)中假设函数参数冗余这一性质,可看出softmax回归与logistics回归的关系。Softmax回归是logistics回归的一般形式,当类别数k=2时,softmax回归退化为logistics回归。具体地,当k=2时,根据式(1.4.4)可得softmax回归的假设函数变为式(1.4.5)形式。

将式(1.4.5)两个参数向量θ1θ2同时减去向量θ1(分子分母同除以),结果将变成式(1.4.6)的形式,其中最末尾那个等式正是logistics回归的假设函数(第一个分量即为式(1.3.2)的形式,第二个分量对应另一个类别的概率)。

由此可见,logistics回归确实是softmax回归的一种特例。更一般地,无论是logistics回归还是softmax回归,还有前面的线性回归,它们均是广义线性回归的一种特例,它们之间的相互关系在后面的广义线性回归部分会做进一步解释。这样,利用式(1.4.2)的传递/激活函数,可计算样本x属于类别j的概率py=j|xθ)=fxj,这个概率值的计算依赖于参数θ。Softmax回归的任务是根据数据集(xym寻找合适的参数θ,使得模型输出的概率分布py=j|xθ)=fxj逼近(xym的multinominal(ϕ1ϕ2,…,ϕk)分布。

与logistics回归类似,为寻找能逼近给定分布的模型参数θ,需要写出关于(xy(m)的似然函数,而似然函数的构造依赖于py|xθ)这一条件概率的表达式。为得到紧凑的py|xθ)的表达式,这里引入一个1{·}形式的示性函数(indictor function),当{}里的表达式成立时,这个示性函数取值为1,否则为0,例如1{2<1}=0,1{2>1}=1。利用这个示性函数,py|xθ)可被表示成式(1.4.7)的形式。

由此得到式(1.4.8)形式的关于数据集(xy(m)的似然函数。

有了式(1.4.8)形式的似然函数,可按照与前述logistics回归类似的方式,在式(1.4.8)等号两边取对数可得到其对数似然函数θ)(式(1.4.9))。

并对该对数似然函数关于参数θj求偏导,可以得到式(1.4.10)形式的结果。请注意,由于此时θj是一个n×1的列向量,相应地x(i)也是同一规格的n×1的向量,而输出hθx(i))和目标变量y(i)均是k×1的列向量,(y(i)hθx(i)))j为两向量相减后的第j个分量的值。

进而得到对应的参数更新公式(1.4.11)。再次强调,这里θj和输入变量x均是n×1的向量。