在第三章中讨论的线性回归模型中,基于高斯噪声模型假设的最大似然方法是有解析解的。这是由于对数似然函数是参数向量w的二次函数。对于logistic回归来说,由于logistic sigmoid函数是一个非线性函数,所以它不再有解析解。然而不再是二次形式并不是本质原因。准确的说,正如我们看到的那样,误差函数是凸的,因此有一个唯一的最小值。此外,误差函数可以通过基于Newton-Raphson迭代最优化模式来得到对数似然函数的局部二次近似的高效迭代算法来求出最小值。为了得到函数E(w)的最小值,Newton-Raphson方法使用
w(new)=w(old)−H−1∇E(w)
这个等式来更新权值,其中H是由E(w)关于w的二阶导数组成Hessian矩阵。
我们先对线性回归模型(3.3)的平方和误差函数(3.12)使用Newton-Raphson方法。这个误差函数的梯度和Hessian矩阵由
∇E(w)=N∑n=1(wTϕn−tn)ϕn=ΦTΦw−ΦTtH=∇∇E(w)=N∑n=1ϕnϕTn=ΦTΦ
其中Φ是N×M的设计矩阵,它的第nth行由ϕTn给出。这样Newton-Raphson的更新迭代式就变成了
w(new)=w(old)−(ΦTΦ)−1{ΦTΦw(old)−ΦTt}=(ΦTΦ)−1ΦTt
这就是我们所说的标准最小二乘解。注意,这种情况下的误差函数是二次的,所以Newton-Raphson公式一步就能给出精确解。
现在,我们在logistic回归模型的交叉熵误差函数(4.90)上运用Newton-Raphson更新。从式(4.91)可以得到,这个误差函数的梯度和Hessian由形式
∇E(w)=N∑n=1(yn−tn)ϕn=ΦT(y−t)H=∇∇E(w)=N∑n=1yn(1−yn)ϕnϕTn=ΦTRΦ
其中我们使用了(4.88)。也引入了元素为
Rnn=yn(1−yn)
的N×N的对角矩阵R。我们看到Hessian矩阵不再是常量,而是通过权矩阵R依赖于w。这对应误差函数不是二次函数的事实。使用来自与logistic sigmoid函数的性质0<yn<1,得到对于任意向量u都有uTHu>0,所以Hessian矩阵H是正定的。所以误差函数是一个关于w的凸函数,因此有唯一的最小值。
然后,logistic回归模型的Newton-Raphson更新公式就变成了
w(new)=w(old)−(ΦTRΦ)−1ΦT(y−t)=(ΦTRΦ)−1{(ΦTRΦ)−1w(old)−ΦT(y−t)}=(ΦTRΦ)−1ΦTRz
其中z是元素为
z=Φw(old)−R−1(y−t)
的N维矩阵。我们看到公式(4.99)为一组加权最小二乘问题的标准方程。由于权重矩阵R不是常数,而是依赖参数向量w的。因此我们必须使用标准方程来迭代计算,每次使用新的权向量w来修正权重矩阵R。由于这个原因,这个算法被称为迭代再加权最小二乘(iterative reweighted least squares)或IRLS(Rubin, 1983)。与加权的最小二乘问题一样,由于t的均值和方差由
E[t]=σ(x)=yvar[t]=[t2]−[t]2=σ(x)−σ(x)2=y(1−y)
给出,其中使用了性质t2=t,t∈{0,1},所以可以把对角权重矩阵R的元素看成方差。实际上,我们可以把IRLS解释成变量a=wTϕ空间中的线性化问题的解。这样z的第nth个元素zn的值可以简单的解释为通过对logistic sigmoid函数在当前操作点w(old)周围局部线性近似得到的这个空间中的有效的目标值。
an(w)≃an(w(old))+dandyn||w(old)(tn−yn)=ϕTnw(old)−(yn−tn)yn(1−yn)=zn