PRML Chapter 04 Linear Models for Classification

PRML Chapter 04 Linear Models for Classification


本章的内容主要围绕在基础的线性分类模型上,从判别式模型(discriminative models)的角度介绍了最小平方和、Fisher判别式、感知机三种常用方法,以及logistic regression(虽然叫回归,但是是一种分类算法)等;从生成式模型(generative models)则主要介绍了其推导过程。最后介绍了拉普拉斯近似方法和logistic regression的贝叶斯形式。

Discriminant Functions


判别式模型与生成式模型在Chapter 01 Introduction中进行了相应的描述,其本质上的区别在于其训练步骤,对于贝叶斯定理,

(4.1) p ( ω ∣ D ) = p ( D ∣ ω ) p ( ω ) ∫ p ( D ∣ ω ) p ( ω ) ∝ p ( D ∣ ω ) p ( ω ) \begin{aligned} p(\omega|\mathcal{D}) &= \frac{p(\mathcal{D}|\omega)p(\omega)}{\int p(\mathcal{D}|\omega)p(\omega)} \propto p(\mathcal{D}|\omega)p(\omega) \end{aligned} \tag{4.1} p(ωD)=p(Dω)p(ω)p(Dω)p(ω)p(Dω)p(ω)(4.1)

式(4.1)中, ω \omega ω表示需要训练的参数, D \mathcal{D} D表示训练集,则有

  • 判别式模型:直接运用数据对 p ( ω ∣ D ) p(\omega|\mathcal{D}) p(ωD)进行估计,而忽略掉所有的概率的表示;
  • 生成式模型:先计算 p ( ω ) p(\omega) p(ω) p ( D ∣ ω ) p(\mathcal{D}|\omega) p(Dω),再利用其乘积获得后验分布 p ( ω ∣ D ) p(\omega|\mathcal{D}) p(ωD)

对于线性分类模型而言,继承了Chapter 03 Linear Models for Regression中的线性基函数模型(linear basis function model),然而,对于函数的输出是一个连续值,而分类要求的是离散值,因此,我们需要一个函数 f f f来将连续值映射到离散值从而完成相应的分类。

(4.2) y ( x ) = f ( ω T x + ω 0 ) y(x) = f(\boldsymbol{\omega}^T\boldsymbol{x} + \omega_0) \tag{4.2} y(x)=f(ωTx+ω0)(4.2)

其中函数的参数即为线性基函数模型,与Chapter 03 Linear Models for Regression中保持一致。一般地,我们称函数 f f f激活函数(activation function),其反函数被称为链接函数(link function)

决策面指将样本点分开的边界,被定义为 y ( x ) = c o n s t y(x) = const y(x)=const,即 ω T x + ω 0 = c o n s t \boldsymbol{\omega}^T\boldsymbol{x} + \omega_0 = const ωTx+ω0=const,由此可知决策面是输入 x \boldsymbol{x} x的线性函数,即时激活函数为非线性的。

本节将主要介绍一些常用的判别式模型方法(Discriminant Functions)。

a. Two classes & Multiple classes

根据分类的目标具有两类和多类的不同,可以把模型简单的分为二分类和多分类。

two classes

对于二分类的情况,我们可以简单的令线性判别模型为输入的线性函数,

(4.3) y ( x ) = ω T x + ω 0 y(x) = \boldsymbol{\omega}^T\boldsymbol{x} + \omega_0 \tag{4.3} y(x)=ωTx+ω0(4.3)

其中, ω \boldsymbol{\omega} ω被称为权值向量(weight vector), ω 0 \omega_0 ω0被称为偏置,偏置的相反数有时被称为阈值(threshold)。

定理4.1:权值向量 ω \boldsymbol{\omega} ω总是与决策面中的任何向量正交,且权值向量指示了决策面的方向。
证明:我们可以令判别函数 y ( x ) &gt; 0 y(x) &gt; 0 y(x)>0 y ( x ) &lt; 0 y(x) &lt; 0 y(x)<0来区分类别 C 1 \mathcal{C}_1 C1 C 2 \mathcal{C}_2 C2,那么决策面可以被定义为 y ( x ) = 0 y(x) = 0 y(x)=0。对于决策面中的任意两个点 x A x_A xA x B x_B xB,则有 y ( x A ) = 0 y(x_A) = 0 y(xA)=0 y ( x B ) = 0 y(x_B) = 0 y(xB)=0,因此有,

(4.4) y ( x A ) − y ( x B ) = ω T ( x A − x B ) = 0 y(x_A) - y(x_B) = \boldsymbol{\omega}^T(x_A - x_B) = 0 \tag{4.4} y(xA)y(xB)=ωT(xAxB)=0(4.4)

显然地,定理4.1成立。其中,我们可以利用高中知识知道,点到直线,点到平面的距离,可以通过下式衡量,

(4.5) r = y ( x ) ∣ ∣ ω ∣ ∣ r = \frac{y(\boldsymbol{x})}{||\boldsymbol{\omega}||} \tag{4.5} r=ωy(x)(4.5)

如果,我们一如一个额外的虚“输入” x 0 = 1 x_0=1 x0=1,这会使得记号更简洁,比较方便。引入“虚”输入后, 我们定义 ω ~ = ( ω 0 , ω ) \tilde{\boldsymbol{\omega}}=(\omega_0, \boldsymbol{\omega}) ω~=(ω0,ω)以及 x ~ = ( x 0 , x ) \tilde{\boldsymbol{x}}=(x_0, \boldsymbol{x}) x~=(x0,x),这样我们可以获得式(4.3)的简化形式,

(4.6) y ( x ) = ω ~ T x ~ y(\boldsymbol{x}) = \tilde{\boldsymbol{\omega}}^T\tilde{\boldsymbol{x}} \tag{4.6} y(x)=ω~Tx~(4.6)

在式(4.6)所示的情况中,决策面是一个 D D D维的超平面,并且这个超平面会穿过 D + 1 D + 1 D+1维扩展输入空间的原点。

multiple classes

考虑将二分类的情况扩展到更高维度的情况( K &gt; 2 K &gt; 2 K>2),直觉上地,我们可以很快的发现两种方法:

  • 一对其他(one-versus-the-rest):考虑使用 K − 1 K - 1 K1个分类器,每个分类器用于解决一个二分类问题,把属于类别 C k \mathcal{C}_k Ck和不属于那个类别的点分开。这一方法的局限性在于产生了输入空间中无法分类的区域,如下图左侧所示,绿色区域就因为一对其他的方式无法得到有效的分类。
  • 一对一(one-versus-one):另一种方法考虑引入 K ( K − 1 ) 2 \frac{K(K-1)}{2} 2K(K1)个二元判别函数,对每一对类别都设置一个判别函数,这样,每个点的类别根据这些判别函数中的大多数输出类别确定。这一方法的局限性在于其也会造成输入空间中无法分类的区域,如下图右侧所示,因为一对一的方式,我们没有对绿色区域进行训练,因此无法分辨。

为了解决以上的两个问题,我们可以采取一种 K K K类判别函数的,这个 K K K类判别函数由 K K K个线性函数组成,形式为,

(4.7) y k ( x ) = ω k T x + ω k 0 y_k(\boldsymbol{x}) = \boldsymbol{\omega}_k^T \boldsymbol{x} + \omega_{k0} \tag{4.7} yk(x)=ωkTx+ωk0(4.7)

定义对于点 x \boldsymbol{x} x,如果对于所有的 j ≠ k j \neq k j̸=k都有 y k ( x ) &gt; y j ( x ) y_k(\boldsymbol{x}) &gt; y_j(\boldsymbol{x}) yk(x)>yj(x),那么就把它分到 C k \mathcal{C}_k Ck。于是,显然地,对于类 C k \mathcal{C}_k Ck C j \mathcal{C}_j Cj之间的决策面为 y k ( x ) = y j ( x ) y_k(\boldsymbol{x}) = y_j(\boldsymbol{x}) yk(x)=yj(x),并且对应于一个 ( D − 1 ) (D - 1) (D1)维超平面,形式为,

(4.8) ( ω k − ω j ) T x + ( ω k 0 − ω j 0 ) = 0 (\boldsymbol{\omega}_k - \boldsymbol{\omega}_j)^T\boldsymbol{x}+(\omega_{k0}-\omega_{j0})=0 \tag{4.8} (ωkωj)Tx+(ωk0ωj0)=0(4.8)

接下来介绍三种学习线性判别函数的参数的方法,即基于最小平方的方法,Fisher线性判别函数,以及感知器算法。

b. Least squares for classification

定义对于每个类别 C k \mathcal{C}_k Ck由线性模型描述,即,

(4.9) y k ( x ) = ω k T x + ω k 0 y_k(\boldsymbol{x})=\boldsymbol{\omega}_k^T\boldsymbol{x}+\omega_{k0} \tag{4.9} yk(x)=ωkTx+ωk0(4.9)

其中 k = 1 , 2 , . . . , K k=1,2,...,K k=1,2,...,K。使用向量记号,我们可以将变量都聚集在一起,即

(4.10) y ( x ) = W ~ T x ~ \boldsymbol{y}(\boldsymbol{x}) = \tilde{\boldsymbol{W}}^T\tilde{\boldsymbol{x}} \tag{4.10} y(x)=W~Tx~(4.10)

其中 W ~ \tilde{\boldsymbol{W}} W~是一个矩阵,第 k k k列由 D + 1 D+1 D+1维向量 ω ~ k = ( ω k 0 , ω k T ) \tilde{\boldsymbol{\omega}}_k = (\omega_{k0}, \boldsymbol{\omega}_k^T) ω~k=(ωk0,ωkT)组成, x ~ \tilde{\boldsymbol{x}} x~是对应的增广输入向量 ( 1 , x T ) T (1,\boldsymbol{x}^T)^T (1,xT)T,它带有需输入 x 0 = 1 x_0 = 1 x0=1

由式(4.10)可知,我们的主要目标是确定参数矩阵 W ~ \tilde{\boldsymbol{W}} W~。考虑一个训练数据集 { x n , t n } \{ \boldsymbol{x}_n, \boldsymbol{t}_n \} {xn,tn},其中 n = 1 , 2 , . . . , N n=1, 2, ..., N n=1,2,...,N,定义矩阵 T \boldsymbol{T} T,它的第 n n n行是向量 t n T \boldsymbol{t}_n^T tnT;定义矩阵 X ~ \tilde{\boldsymbol{X}} X~,它的第 n n n行是 x ~ n T \tilde{\boldsymbol{x}}_n^T x~nT。由此,平方和误差函数可以被定义为,

(4.12) E D ( W ~ ) = 1 2 Tr { ( X ~ W ~ − T ) T ( X ~ W ~ − T ) } E_D(\tilde{\boldsymbol{W}})=\frac{1}{2} \textbf{Tr} \{ (\tilde{\boldsymbol{X}}\tilde{\boldsymbol{W}}-\boldsymbol{T})^T(\tilde{\boldsymbol{X}}\tilde{\boldsymbol{W}}-\boldsymbol{T}) \} \tag{4.12} ED(W~)=21Tr{(X~W~T)T(X~W~T)}(4.12)

令式(4.11)关于 W ~ \tilde{\boldsymbol{W}} W~的导数为零,可以得到 W ~ \tilde{\boldsymbol{W}} W~的解,形式为,

(4.13) W ~ = ( X ~ T X ~ ) − 1 X ~ T T = X ~ † T \tilde{\boldsymbol{W}} = (\tilde{\boldsymbol{X}}^T\tilde{\boldsymbol{X}})^{-1}\tilde{\boldsymbol{X}}^T\boldsymbol{T}=\tilde{\boldsymbol{X}}^{\dagger}\boldsymbol{T} \tag{4.13} W~=(X~TX~)1X~TT=X~T(4.13)

其中 X ~ † \tilde{\boldsymbol{X}}^{\dagger} X~是矩阵 W ~ \tilde{\boldsymbol{W}} W~的伪逆矩阵。由式(4.10)和式(4.13),我们可以得到判别函数,

(4.13) y ( x ) = W ~ T x ~ = T T ( X ~ † ) T x ~ y(\boldsymbol{x}) = \tilde{\boldsymbol{W}}^T\tilde{\boldsymbol{x}}=\boldsymbol{T}^T(\tilde{\boldsymbol{X}}^{\dagger})^T\tilde{\boldsymbol{x}} \tag{4.13} y(x)=W~Tx~=TT(X~)Tx~(4.13)

最小平方和方法的局限性

  • 对于离群点缺乏鲁棒性。这一点对于回归问题和分类问题都是具有的,由于最小平方和误差函数往往会惩罚“过于正确”的预测,导致一些额外的离群点对决策边界的位置产生极大的改变,使得结果出现偏差;
  • 无法很好的拟合非高斯分布的目标向量。由于最小平方方法对应于高斯条件分布假设下的最大似然法,因此对于目标向量的概率分布不是高斯分布的情况,不能够很好的拟合。

c. Fisher’s discriminant

Fisher判别式(Fisher’s discriminant)可以看作是一种降维方法,通过将 D D D维输入向量降低到 D − 1 D - 1 D1维或者更低维,然后再对其进行分类处理。例如,假设我们有一个 D D D维输入向量 x \boldsymbol{x} x,则可以通过式(4.14)将其投影到 D − 1 D-1 D1维的空间中去,

(4.14) y = ω T x y = \boldsymbol{\omega}^T\boldsymbol{x} \tag{4.14} y=ωTx(4.14)

Fisher判别式的核心思想与软件开发中的“高内聚,低耦合”是极其相似的。通过式(4.14)的降维,我们需要在低维空间中将各个类别区分开来,这就需要各个类别的内部方差尽量小,而各类别之间区别尽量大

首先,考虑一个二分类问题,这个问题中有 C 1 \mathcal{C}_1 C1 N 1 N_1 N1个点以及 C 2 \mathcal{C}_2 C2类的 N 2 N_2 N2个点,因此两类的均值向量为,

(4.15) m 1 = 1 N 1 ∑ n ∈ C 1 x n ,     m 2 = 1 N 2 ∑ n ∈ C 2 x n \boldsymbol{m}_1 = \frac{1}{N_1}\sum_{n \in \mathcal{C}_1}\boldsymbol{x}_n,\ \ \ \boldsymbol{m}_2 = \frac{1}{N_2}\sum_{n \in \mathcal{C}_2}\boldsymbol{x}_n \tag{4.15} m1=N11nC1xn,   m2=N21nC2xn(4.15)

一种简单的考虑是,对于投影在 ω \boldsymbol{\omega} ω空间上的样本点,利用其均值的距离度量其类别的区分度,因此,我们的目标可以变为最大化其均值投影后的距离,

(4.16) m 2 − m 1 = ω T ( m 2 − m 1 ) m_2 - m_1 = \boldsymbol{\omega}^T(\boldsymbol{m}_2-\boldsymbol{m}_1) \tag{4.16} m2m1=ωT(m2m1)(4.16)

其中, m k = ω T m k m_k=\boldsymbol{\omega}^T\boldsymbol{m}_k mk=ωTmk是来自类别 C k \mathcal{C}_k Ck的投影数据的均值。其中对 ω \boldsymbol{\omega} ω进行限制,即 ∑ i ω i 2 = 1 \sum_i \omega_i^2 = 1 iωi2=1。利用均值衡量了类间间距后,我们还需要使得类内方差,

(4.17) s k 2 = ∑ n ∈ C k ( y n − m k ) 2 s_k^2 = \sum_{n \in \mathcal{C}_k} (y_n - m_k)^2 \tag{4.17} sk2=nCk(ynmk)2(4.17)

式(4.17)表示类别 C k \mathcal{C}_k Ck的数据经过变换后的类内方差,其中 y n = ω T x n y_n = \boldsymbol{\omega}^T\boldsymbol{x}_n yn=ωTxn。对于二分类问题,我们可以把整个数据集总的类内方差定义为 s 1 2 + s 2 2 s_1^2+s_2^2 s12+s22。于是Fisher判别式对于二分类的定义如下,

(4.18) J ( ω ) = ( m 2 − m 1 ) 2 s 1 2 + s 2 2 = ω T S B ω ω T S W ω \begin{aligned} J(\boldsymbol{\omega}) &amp;= \frac{(m_2-m_1)^2}{s_1^2+s_2^2}=\frac{\boldsymbol{\omega}^T\boldsymbol{S}_B\boldsymbol{\omega}}{\boldsymbol{\omega}^T\boldsymbol{S}_W\boldsymbol{\omega}} \end{aligned} \tag{4.18} J(ω)=s12+s22(m2m1)2=ωTSWωωTSBω(4.18)

其中,

(4.19) S B = ( m 2 − m 1 ) ( m 2 − m 1 ) T \boldsymbol{S}_B = (\boldsymbol{m}_2-\boldsymbol{m}_1)(\boldsymbol{m}_2-\boldsymbol{m}_1)^T \tag{4.19} SB=(m2m1)(m2m1)T(4.19)

(4.20) S W = ∑ n ∈ C 1 ( x n − m 1 ) ( x n − m 1 ) T + ∑ n ∈ C 2 ( x n − m 2 ) ( x n − m 2 ) T \boldsymbol{S}_W = \sum_{n \in \mathcal{C}_1}(\boldsymbol{x}_n-\boldsymbol{m}_1)(\boldsymbol{x}_n-\boldsymbol{m}_1)^T + \sum_{n \in \mathcal{C}_2}(\boldsymbol{x}_n-\boldsymbol{m}_2)(\boldsymbol{x}_n-\boldsymbol{m}_2)^T \tag{4.20} SW=nC1(xnm1)(xnm1)T+nC2(xnm2)(xnm2)T(4.20)

式(4.18)对 ω \boldsymbol{\omega} ω求导,我们发现 J ( ω ) J(\boldsymbol{\omega}) J(ω)取最大值的条件是,

(4.21) ( ω T S B ω ) S W ω = ( ω T S W ω ) S B ω (\boldsymbol{\omega}^T\boldsymbol{S}_B\boldsymbol{\omega})\boldsymbol{S}_W\boldsymbol{\omega}=(\boldsymbol{\omega}^T\boldsymbol{S}_W\boldsymbol{\omega})\boldsymbol{S}_B\boldsymbol{\omega} \tag{4.21} (ωTSBω)SWω=(ωTSWω)SBω(4.21)

忽略式(4.21)中的标量 ( ω T S B ω ) (\boldsymbol{\omega}^T\boldsymbol{S}_B\boldsymbol{\omega}) (ωTSBω) ( ω T S W ω ) (\boldsymbol{\omega}^T\boldsymbol{S}_W\boldsymbol{\omega}) (ωTSWω),我们可以得到,

(4.22) ω ∝ S W − 1 ( m 2 − m 1 ) \boldsymbol{\omega} \propto \boldsymbol{S}_W^{-1}(\boldsymbol{m}_2-\boldsymbol{m}_1) \tag{4.22} ωSW1(m2m1)(4.22)

可以看到,当 S W − 1 ∝ I \boldsymbol{S}_W^{-1} \propto I SW1I时( I I I为单位矩阵), ω \boldsymbol{\omega} ω正比于类均值的差。对于二分类问题,Fisher判别式可以看作最小平方的一个特例;对于多分类问题,Fisher判别式具有与二分类类似的形式。

d. The perceptron algorithm

感知器算法(the perceptro algorithm)主要用于解决传统误差函数不连续导致的参数更新苦难。例如,对于一般线性模型(4.23),

(4.23) y ( x ) = f ( ω T ϕ ( x ) ) y(\boldsymbol{x}) = f(\boldsymbol{\omega}^T\boldsymbol{\phi}(\boldsymbol{x})) \tag{4.23} y(x)=f(ωTϕ(x))(4.23)

其中,定义非线性激活函数 f f f是一个阶梯函数,形式为,

(4.24) f ( a ) = { + 1 ,    a ≥ 0 − 1 ,    a ≤ 0 f(a) = \begin{cases} +1,\ \ a \geq 0 \\ -1,\ \ a \leq 0 \end{cases} \tag{4.24} f(a)={+1,  a01,  a0(4.24)

很明显,如果使用传统的最小化误分类误差函数,参数 ω \boldsymbol{\omega} ω的更新将会是不连续的,使用感知器准则(perceptron criterion),我们将问题重新定义为,找到权值向量 ω \boldsymbol{\omega} ω,使得对于类别 C 1 \mathcal{C}_1 C1中的样本点 x n \boldsymbol{x}_n xn ω T ϕ ( x n ) &gt; 0 \boldsymbol{\omega}^T\boldsymbol{\phi}(\boldsymbol{x}_n) &gt; 0 ωTϕ(xn)>0,对于类别 C 2 \mathcal{C}_2 C2中的样本点 x n \boldsymbol{x}_n xn ω T ϕ ( x n ) &lt; 0 \boldsymbol{\omega}^T\boldsymbol{\phi}(\boldsymbol{x}_n) &lt; 0 ωTϕ(xn)<0。即寻找权值向量 ω \boldsymbol{\omega} ω,使得 ω T ϕ ( x n ) t n &gt; 0 \boldsymbol{\omega}^T\boldsymbol{\phi}(\boldsymbol{x}_n) t_n &gt; 0 ωTϕ(xn)tn>0

由此,感知器准则在正确分类的情况下误差为0,而在错分类的情况下试图最小化 − ω T ϕ ( x n ) t n -\boldsymbol{\omega}^T\boldsymbol{\phi}(\boldsymbol{x}_n) t_n ωTϕ(xn)tn,因此,通过感知器准则获得的误差函数定义为式(4.25),其中 ϕ n = ϕ ( x n ) \boldsymbol{\phi}_n = \boldsymbol{\phi}(\boldsymbol{x}_n) ϕn=ϕ(xn) M \mathcal{M} M表示所有误分类样本的集合,

(4.25) E P ( ω ) = − ∑ n ∈ M ω T ϕ n t n E_P(\boldsymbol{\omega}) = - \sum_{n \in \mathcal{M}} \boldsymbol{\omega}^T\boldsymbol{\phi}_nt_n \tag{4.25} EP(ω)=nMωTϕntn(4.25)

由式(4.25),利用随机梯度下降算法,可以得到权值向量 ω \boldsymbol{\omega} ω的迭代公式为,

(4.26) ω ( τ + 1 ) = ω ( τ ) − η ∇ E P ( ω ) = ω ( τ ) + η ϕ n t n \boldsymbol{\omega}^{(\tau+1)} = \boldsymbol{\omega}^{(\tau)} - \eta \nabla E_P(\boldsymbol{\omega}) = \boldsymbol{\omega}^{(\tau)} + \eta \boldsymbol{\phi}_nt_n \tag{4.26} ω(τ+1)=ω(τ)ηEP(ω)=ω(τ)+ηϕntn(4.26)

感知器算法的性质

  • 感知器学习规则并不保证在每个阶段都会见效整体的误差函数;

  • 如果训练数据线性可分,那么感知器算法可以保证在有限步骤内找到一个精确解;

  • 即使数据是线性可分的,也可能有多个解,并且最终哪个解会被找到依赖于参数的初始化以及数据点出现的顺序;

  • 一个误分类样本对于误差函数的贡献会逐渐减小,这可以由式(4.26)的推导式(4.27)看出来,

    (4.27) − ω ( τ + 1 ) T ϕ n t n = − ω ( τ ) T ϕ n t n − ( ϕ n t n ) T ϕ n t n &lt; − ω ( τ ) T ϕ n t n -\boldsymbol{\omega}^{(\tau+1)T}\boldsymbol{\phi}_nt_n = -\boldsymbol{\omega}^{(\tau)T}\boldsymbol{\phi}_nt_n - (\boldsymbol{\phi}_nt_n)^T\boldsymbol{\phi}_nt_n &lt; -\boldsymbol{\omega}^{(\tau)T}\boldsymbol{\phi}_nt_n \tag{4.27} ω(τ+1)Tϕntn=ω(τ)Tϕntn(ϕntn)Tϕntn<ω(τ)Tϕntn(4.27)

感知器算法的局限性

  • 感知器算法无法提供概率形式的输出;
  • 感知器算法无法直接推广到 K &gt; 2 K &gt; 2 K>2的情形;
  • 感知器算法基于固定基函数的线性组合,这一点与第三章和第四章中的所有模型一致。

Probabilistic Generative Models


在前边的内容中介绍了生成式模型,主要通过先验分布和后验分布的乘积得到最终的判别式。

对于二分类的情况,类别 C 1 \mathcal{C}_1 C1的后验概率可以写为,

(4.28) p ( C 1 ∣ x ) = p ( x ∣ C 1 ) p ( C 1 ) p ( x ∣ C 1 ) p ( C 1 ) + p ( x ∣ C 2 ) p ( C 2 ) = 1 1 + e x p ( − a ) = σ ( a ) \begin{aligned} p(\mathcal{C}_1|\boldsymbol{x}) &amp;= \frac{p(\boldsymbol{x}|\mathcal{C}_1)p(\mathcal{C}_1)}{p(\boldsymbol{x}|\mathcal{C}_1)p(\mathcal{C}_1)+p(\boldsymbol{x}|\mathcal{C}_2)p(\mathcal{C}_2)} \\ &amp;= \frac{1}{1+exp(-a)} = \sigma(a) \end{aligned} \tag{4.28} p(C1x)=p(xC1)p(C1)+p(xC2)p(C2)p(xC1)p(C1)=1+exp(a)1=σ(a)(4.28)

其中,我们定义了 a a a为,

(4.29) a = l n p ( x ∣ C 1 ) p ( C 1 ) p ( x ∣ C 2 ) p ( C 2 ) a = ln \frac{p(\boldsymbol{x}|\mathcal{C}_1)p(\mathcal{C}_1)}{p(\boldsymbol{x}|\mathcal{C}_2)p(\mathcal{C}_2)} \tag{4.29} a=lnp(xC2)p(C2)p(xC1)p(C1)(4.29)

σ ( a ) \sigma(a) σ(a)是logistic sigmoid函数,定义为,

(4.30) σ ( a ) = 1 1 + e x p ( − a ) \sigma(a) = \frac{1}{1+exp(-a)} \tag{4.30} σ(a)=1+exp(a)1(4.30)

式(4.30)有时也被称为挤压函数,因为它把整个实数轴映射到了一个有限的空间中,这一函数有着重要的重要,其满足式(4.31)的对称性,

(4.31) σ ( − a ) = 1 1 + e x p ( − a ) \sigma(-a)=\frac{1}{1+exp(-a)} \tag{4.31} σ(a)=1+exp(a)1(4.31)

logistic sigmoid函数的反函数为,

(4.32) a = l n ( σ 1 − σ ) a = ln (\frac{\sigma}{1-\sigma}) \tag{4.32} a=ln(1σσ)(4.32)

该式被称为 l o g i t logit logit函数,他表示两类的概率壁纸的对数 l n [ p ( C 1 ∣ x ) p ( C 2 ∣ x ) ] ln[\frac{p(\mathcal{C}_1|x)}{p(\mathcal{C}_2|x)}] ln[p(C2x)p(C1x)],也被称为log odds函数。

对于 K &gt; 2 K &gt; 2 K>2多分类情况,我们有每一个类别 C k \mathcal{C}_k Ck的后验概率分布,

(4.33) p ( C k ∣ x ) = p ( x ∣ C k ) p ( C k ) ∑ j p ( x ∣ C j ) p ( C j ) = e x p ( a k ) ∑ j e x p ( a j ) \begin{aligned} p(\mathcal{C}_k|\boldsymbol{x}) &amp;= \frac{p(\boldsymbol{x}|\mathcal{C}_k)p(\mathcal{C}_k)}{\sum_j p(\boldsymbol{x}|\mathcal{C}_j)p(\mathcal{C}_j)} \\ &amp;= \frac{exp(a_k)}{\sum_j exp(a_j)} \end{aligned} \tag{4.33} p(Ckx)=jp(xCj)p(Cj)p(xCk)p(Ck)=jexp(aj)exp(ak)(4.33)

其中, a k a_k ak被定义为,

(4.34) a k = l n p ( x ∣ C k ) p ( C k ) a_k = ln p(\boldsymbol{x}|\mathcal{C}_k)p(\mathcal{C}_k) \tag{4.34} ak=lnp(xCk)p(Ck)(4.34)

式(4.33)也可以被看作是softmax函数,因为它是max函数的一个平滑版本,这是因为,如果对于所有的 j ≠ k j \neq k j̸=k都有 a k ≫ a j a_k \gg a_j akaj,那么 p ( C k ∣ x ) ≃ 1 p(\mathcal{C}_k|\boldsymbol{x}) \simeq 1 p(Ckx)1 p ( C j ∣ x ) ≃ 0 p(\mathcal{C}_j | \mathcal{x}) \simeq 0 p(Cjx)0

考虑类条件概率密度形式,一般分为连续型随机变量和离散型随机变量,接下来会依次讨论。

a. continuous inputs

对于类条件概率密度的输入为连续型随机变量的情形,我们假设类条件概率密度为高斯分布,然后求解出相应的后验概率的形式。首先,我们假定所有的类别的协方差矩阵相同,这样类别的 C k \mathcal{C}_k Ck的类条件概率为,

(4.35) p ( x ∣ C k ) = 1 ( 2 π ) D 2 1 ∣ Σ ∣ 1 2 e x p { − 1 2 ( x − μ k ) T Σ − 1 ( x − μ k ) } p(\boldsymbol{x}|\mathcal{C}_k)=\frac{1}{(2\pi)^{\frac{D}{2}}}\frac{1}{|\mathbf{\Sigma}|^{\frac{1}{2}}}exp\{ -\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_k)^T\mathbf{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_k) \} \tag{4.35} p(xCk)=(2π)2D1Σ211exp{21(xμk)TΣ1(xμk)}(4.35)

对于二分类的情况,考虑式(4.28)和(4.29),可以得到,

(4.36) p ( C 1 ∣ x ) = σ ( ω T x + ω 0 ) p(\mathcal{C}_1|\boldsymbol{x})=\sigma(\boldsymbol{\omega}^T\boldsymbol{x}+\omega_0) \tag{4.36} p(C1x)=σ(ωTx+ω0)(4.36)

其中,

(4.37) ω = Σ − 1 ( μ 1 − μ 2 ) \boldsymbol{\omega}=\mathbf{\Sigma}^{-1}(\boldsymbol{\mu}_1-\boldsymbol{\mu}_2) \tag{4.37} ω=Σ1(μ1μ2)(4.37)

(4.38) ω 0 = − 1 2 μ 1 T Σ − 1 μ 1 + 1 2 μ 2 T Σ − 1 μ 2 + l n p ( C 1 ) p ( C 2 ) \omega_0 = -\frac{1}{2}\boldsymbol{\mu}_1^T\mathbf{\Sigma}^{-1}\boldsymbol{\mu}_1 + \frac{1}{2}\boldsymbol{\mu}_2^T\mathbf{\Sigma}^{-1}\boldsymbol{\mu}_2 + ln \frac{p(\mathcal{C}_1)}{p(\mathcal{C}_2)} \tag{4.38} ω0=21μ1TΣ1μ1+21μ2TΣ1μ2+lnp(C2)p(C1)(4.38)

显然地,最后求得的决策边界对应于后验概率 p ( C k ∣ x ) p(\boldsymbol{C}_k|\boldsymbol{x}) p(Ckx)为常数的决策面,可以看出决策边界为输入空间的线性函数。由于先验概率密度 p ( C k ) p(\mathcal{C}_k) p(Ck)只出现在偏置参数 ω 0 \omega_0 ω0中,因此先验的改变的效果是平移决策边界,即平移后验概率的中的常数轮廓线。

对于 K &gt; 2 K &gt; 2 K>2多分类情况,我们定义,

(4.39) a k ( x ) = ω k T x + ω k 0 a_k(\boldsymbol{x})=\boldsymbol{\omega}_k^T\boldsymbol{x}+\omega_{k0} \tag{4.39} ak(x)=ωkTx+ωk0(4.39)

其中,

(4.40) ω k = Σ − 1 μ k \boldsymbol{\omega}_k = \mathbf{\Sigma}^{-1}\boldsymbol{\mu}_k\tag{4.40} ωk=Σ1μk(4.40)

(4.41) ω k 0 = − 1 2 μ k T Σ − 1 μ k + l n p ( C k ) \omega_{k0}=-\frac{1}{2}\boldsymbol{\mu}_k^T\mathbf{\Sigma}^{-1}\boldsymbol{\mu}_k+ln p(\mathcal{C}_k) \tag{4.41} ωk0=21μkTΣ1μk+lnp(Ck)(4.41)

由于式(4.29)的定义以及假设式(4.35)协方差都相同,我们可以看到,对于二分类和多分类, a k a_k ak都是 x x x的线性函数。

b. maximum likelihood solution

对连续型随机变量,利用最大似然法获取其参数值。对于二分类的情况,假设先验 p ( C 1 ) = π p(\mathcal{C}_1)=\pi p(C1)=π对应于目标值 t n = 1 t_n=1 tn=1,则对类别 C 1 \mathcal{C}_1 C1有,

(4.42) p ( x n , C 1 ) = p ( C 1 ) p ( x n ∣ C 1 ) = π N ( x n ∣ μ 1 , Σ ) p(\boldsymbol{x}_n,\mathcal{C}_1)=p(\mathcal{C}_1)p(\boldsymbol{x}_n|\mathcal{C}_1)=\pi \mathcal{N}(\boldsymbol{x}_n|\boldsymbol{\mu}_1,\mathbf{\Sigma}) \tag{4.42} p(xn,C1)=p(C1)p(xnC1)=πN(xnμ1,Σ)(4.42)

假设先验 p ( C 2 ) = 1 − π p(\mathcal{C}_2)=1- \pi p(C2)=1π对应于目标值 t n = 0 t_n=0 tn=0,则对于类别 C 2 \mathcal{C}_2 C2有,

(4.43) p ( x n , C 2 ) = p ( C 2 ) p ( x n ∣ C 2 ) = ( 1 − π ) N ( x n ∣ μ 2 , Σ ) p(\boldsymbol{x}_n,\mathcal{C}_2)=p(\mathcal{C}_2)p(\boldsymbol{x}_n|\mathcal{C}_2)=(1 -\pi) \mathcal{N}(\boldsymbol{x}_n|\boldsymbol{\mu}_2,\mathbf{\Sigma}) \tag{4.43} p(xn,C2)=p(C2)p(xnC2)=(1π)N(xnμ2,Σ)(4.43)

于是似然函数如式(4.44)定义,其中 t = ( t 1 , . . . , t N ) \textbf{t}=(t_1,...,t_N) t=(t1,...,tN),表示 N N N个目标值的集合。

(4.44) p ( t , X ∣ π , μ 1 , μ 2 , Σ ) = ∏ n = 1 N [ π N ( x n ∣ μ 1 , Σ ) ] t n [ ( 1 − π ) N ( x n ∣ μ 2 , Σ ) ] 1 − t n p(\textbf{t},\boldsymbol{X}|\pi,\boldsymbol{\mu}_1,\boldsymbol{\mu}_2,\mathbf{\Sigma}) = \prod_{n=1}^N[\pi \mathcal{N}(\boldsymbol{x}_n|\boldsymbol{\mu}_1,\mathbf{\Sigma})]^{t_n}[(1 -\pi) \mathcal{N}(\boldsymbol{x}_n|\boldsymbol{\mu}_2,\mathbf{\Sigma})]^{1-t_n} \tag{4.44} p(t,Xπ,μ1,μ2,Σ)=n=1N[πN(xnμ1,Σ)]tn[(1π)N(xnμ2,Σ)]1tn(4.44)

于是对于参数 π 、 μ 1 、 μ 2 、 Σ \pi、\boldsymbol{\mu}_1、\boldsymbol{\mu}_2、\mathbf{\Sigma} πμ1μ2Σ,其分别的对应的最大似然解如下所示,

(4.45) π = 1 N ∑ n = 1 N t n = N 1 N 1 + N 2 \pi = \frac{1}{N}\sum_{n=1}^N t_n = \frac{N_1}{N_1+N_2} \tag{4.45} π=N1n=1Ntn=N1+N2N1(4.45)

(4.46) μ 1 = 1 N 1 ∑ n = 1 N t n x n \boldsymbol{\mu}_1=\frac{1}{N_1}\sum_{n=1}^N t_n \boldsymbol{x}_n \tag{4.46} μ1=N11n=1Ntnxn(4.46)

(4.47) μ 2 = 1 N 2 ∑ n = 1 N ( 1 − t n ) x n \boldsymbol{\mu}_2=\frac{1}{N_2}\sum_{n=1}^N(1-t_n)\boldsymbol{x}_n \tag{4.47} μ2=N21n=1N(1tn)xn(4.47)

对于协方差的最大似然解,选出式(4.44)与 Σ \mathbf{\Sigma} Σ相关的项,则有
(4.48) − N 2 l n ∣ Σ ∣ − N 2 Tr { Σ − 1 S } -\frac{N}{2}ln|\mathbf{\Sigma}|-\frac{N}{2}\textbf{Tr}\{\mathbf{\Sigma}^{-1}\boldsymbol{S}\} \tag{4.48} 2NlnΣ2NTr{Σ1S}(4.48)

其中,我们定义,

(4.49) S = N 1 N S 1 + N 1 N S 2 \boldsymbol{S}=\frac{N_1}{N}\boldsymbol{S}_1+\frac{N_1}{N}\boldsymbol{S}_2 \tag{4.49} S=NN1S1+NN1S2(4.49)

(4.50) S 1 = 1 N 1 ∑ n ∈ C 1 ( x n − μ 1 ) ( x n − μ 1 ) T \boldsymbol{S}_1=\frac{1}{N_1}\sum_{n\in \mathcal{C}_1}(\boldsymbol{x}_n-\boldsymbol{\mu}_1)(\boldsymbol{x}_n-\boldsymbol{\mu}_1)^T \tag{4.50} S1=N11nC1(xnμ1)(xnμ1)T(4.50)

(4.51) S 2 = 1 N 2 ∑ n ∈ C 2 ( x n − μ 2 ) ( x n − μ 2 ) T \boldsymbol{S}_2=\frac{1}{N_2}\sum_{n\in \mathcal{C}_2}(\boldsymbol{x}_n-\boldsymbol{\mu}_2)(\boldsymbol{x}_n-\boldsymbol{\mu}_2)^T \tag{4.51} S2=N21nC2(xnμ2)(xnμ2)T(4.51)

对于多分类的情况也是类似地。

c. discrete features

考虑离散型随机变量作为输入,对于 D D D维输入值 x x x,我们认为其每一个维度即为一个特征值 x i x_i xi,并且对应于每一个类别 C k \mathcal{C}_k Ck有均值 μ k i \mu_{ki} μki,因此,类条件分布的形式为,

(4.52) p ( x ∣ C k ) = ∏ i = 1 D μ k i x i ( 1 − μ k i ) 1 − x i p(\boldsymbol{x}|\mathcal{C}_k)=\prod_{i=1}^D \mu_{ki}^{x_i}(1-\mu_{ki})^{1-x_i} \tag{4.52} p(xCk)=i=1Dμkixi(1μki)1xi(4.52)

带入公式(4.39)我们可以得到

(4.53) a k ( x ) = ∑ i = 1 D { x i ln μ k i + ( 1 − x i ) ln ( 1 − μ k i ) } + ln p ( C k ) a_k(\boldsymbol{x})=\sum_{i=1}^D\{ x_i \textbf{ln}\mu_{ki} + (1-x_i)\textbf{ln}(1-\mu_{ki})\} + \textbf{ln}p(\mathcal{C}_k) \tag{4.53} ak(x)=i=1D{xilnμki+(1xi)ln(1μki)}+lnp(Ck)(4.53)

由此,通过式(4.52)的条件概率分布和式(4.53)的定义,类似连续型随机变量,我们可以利用后验分布获得离散型随机变量的后验分布。

d. exponential family

指数族分布,主要是可以利用通用的指数形式表达一类模型的特征,其对于输入 x \boldsymbol{x} x的定义为,

(4.54) p ( x ∣ λ k ) = h ( x ) g ( λ k ) e x p { λ k μ ( x ) } p(\boldsymbol{x}|\boldsymbol{\lambda}_k)=h(\boldsymbol{x})g(\boldsymbol{\lambda}_k)exp\{\boldsymbol{\lambda}_k\boldsymbol{\mu}(\boldsymbol{x})\} \tag{4.54} p(xλk)=h(x)g(λk)exp{λkμ(x)}(4.54)

我们可以考虑 μ ( x ) = x \boldsymbol{\mu}(\boldsymbol{x})=\boldsymbol{x} μ(x)=x这种分布,并且引入缩放因子,因此可以得到一个指数族的子集,

(4.55) p ( x ∣ λ k , s ) = 1 s h ( 1 s x ) g ( λ k ) e x p { 1 s λ k T x } p(\boldsymbol{x}|\boldsymbol{\lambda}_k,s)=\frac{1}{s}h(\frac{1}{s}\boldsymbol{x})g(\boldsymbol{\lambda}_k)exp\{\frac{1}{s}\boldsymbol{\lambda}_k^T\boldsymbol{x}\} \tag{4.55} p(xλk,s)=s1h(s1x)g(λk)exp{s1λkTx}(4.55)

对于而分类问题,引入类条件概率(4.55),可得,

(4.56) a ( x ) = 1 s ( λ 1 − λ 2 ) T x + l n g ( λ 1 ) − l n g ( λ 2 ) + l n p ( C 1 ) − l n p ( C 2 ) a(\boldsymbol{x}) = \frac{1}{s}(\boldsymbol{\lambda}_1-\boldsymbol{\lambda}_2)^T\boldsymbol{x}+ln g(\boldsymbol{\lambda}_1)-lng(\boldsymbol{\lambda}_2)+lnp(\mathcal{C}_1)-lnp(\mathcal{C}_2) \tag{4.56} a(x)=s1(λ1λ2)Tx+lng(λ1)lng(λ2)+lnp(C1)lnp(C2)(4.56)

对与多分类的情况,

(4.57) a k ( x ) = 1 s λ k T x + l n g ( λ k ) + l n p ( C k ) a_k(\boldsymbol{x})=\frac{1}{s}\boldsymbol{\lambda}_k^T\boldsymbol{x}+lng(\boldsymbol{\lambda}_k)+lnp(\mathcal{C}_k) \tag{4.57} ak(x)=s1λkTx+lng(λk)+lnp(Ck)(4.57)

可见式(4.56)和式(4.57)都是 x \boldsymbol{x} x的线性函数。

Probabilistic Discriminative Models


a. fixed basis functions

《PRML》在讨论概率判别式模型时,引入了固定的基函数数量,其主要目的有,

  • 对输入空间进行非线性变换,使得后验概率更好计算。注意,在由基函数构建的特征空间 ϕ \phi ϕ中线性的,在原始 x x x空间不一定线性;在特征空间线性可分的类别,在原始空间中不一定线性可分;
  • 使得其可以和第三章中的回归模型进行对比。

b. logistic regression

在生成式模型中,式(4.28)中对于类别 C 1 \mathcal{C}_1 C1的后验概率,可以写成作用在特征向量 ϕ \phi ϕ的线性函数上的logistic sigmoid函数的形式,即,

(4.58) p ( C 1 ∣ ϕ ) = y ( ϕ ) = σ ( ω T ϕ ) p(\mathcal{C}_1|\boldsymbol{\phi})=y(\boldsymbol{\phi})=\sigma(\boldsymbol{\omega}^T\boldsymbol{\phi}) \tag{4.58} p(C1ϕ)=y(ϕ)=σ(ωTϕ)(4.58)

上式被称为logistic regression,尽管叫做回归,但是却是一个分类模型。考虑一个 M M M维的特征空间 ϕ \boldsymbol{\phi} ϕ,这个模型需要学习的参数为 M M M个。而如果使用最大似然方法调节的高斯类条件概率密度,则需要 2 M 2M 2M个参数描述均值, M ( M + 1 ) 2 \frac{M(M+1)}{2} 2M(M+1),即算上先验分布的话总共需要 M ( M + 5 ) 2 + 1 \frac{M(M+5)}{2}+1 2M(M+5)+1个参数。判别式模型的优势即是依赖更少的参数。

对于一个数据集 ϕ n 、 t n \boldsymbol{\phi}_n、t_n ϕntn,其中 t n ∈ { 0 , 1 } t_n \in \{0, 1\} tn{0,1} ϕ n = ϕ ( x n ) \boldsymbol{\phi}_n = \boldsymbol{\phi}(x_n) ϕn=ϕ(xn),并且 n = 1 , . . . , N n=1,...,N n=1,...,N,似然函数可以写成,

(4.59) p ( t ∣ ω ) = ∏ n = 1 N y n t n { 1 − y n } 1 − t n p(\textbf{t}|\boldsymbol{\omega})=\prod_{n=1}^Ny_n^{t_n}\{1-y_n\}^{1-t_n} \tag{4.59} p(tω)=n=1Nyntn{1yn}1tn(4.59)

其中, t = ( t 1 , . . . , t N ) T \textbf{t}=(t_1,...,t_N)^T t=(t1,...,tN)T y n = p ( C 1 ∣ ϕ n ) y_n=p(\mathcal{C}_1|\boldsymbol{\phi}_n) yn=p(C1ϕn)。采用负对数似然作为误差函数,则有,

(4.60) E ( ω ) = − ln p ( t ∣ ω ) = − ∑ n = 1 N { t n ln y n + ( 1 − t n ) ln ( 1 − y n ) } E(\boldsymbol{\omega})=-\textbf{ln}p(\textbf{t}|\boldsymbol{\omega})=-\sum_{n=1}^N\{t_n \textbf{ln}y_n+(1-t_n)\textbf{ln}(1-y_n)\} \tag{4.60} E(ω)=lnp(tω)=n=1N{tnlnyn+(1tn)ln(1yn)}(4.60)

其中 y n = σ ( a n ) y_n=\sigma(a_n) yn=σ(an) a n = ω T ϕ n a_n=\boldsymbol{\omega}^T\boldsymbol{\phi}_n an=ωTϕn,则关于误差函数的梯度可以表示为,

(4.61) ∇ E ( ω ) = ∑ n = 1 N ( y n − t n ) ϕ n \nabla E(\boldsymbol{\omega})=\sum_{n=1}^N(y_n-t_n)\boldsymbol{\phi}_n \tag{4.61} E(ω)=n=1N(yntn)ϕn(4.61)

通过式(4.61)即可以使用顺序算法,对权值向量进行更新,另外,可以看到式(4.61)中,数据点 n n n对于梯度的贡献为目标值和模型预测值之间的“误差” y n − t n y_n-t_n yntn与基函数向量 ϕ n \boldsymbol{\phi}_n ϕn相乘。采用最大似然法得到的模型,往往具有以下两点局限性

  • 最大似然法对于线性可分的数据集会产生严重的过拟合现象;
  • 最大似然法无法区分某个解由于另一个解,并且在实际应用中哪个解被找到依赖于优化算法的选择和参数的初始化。

c. iterative reweighted least squares

第三章中的回归模型,在高斯噪声模型的假设下,最大似然有解析解,这是因为对数似然函数为参数向量的 ω \boldsymbol{\omega} ω,对于logistic回归来说,不再有解析解,因为logistic sigmoid函数是一个非线性函数,因为引入了基函数 ϕ \boldsymbol{\phi} ϕ。因此需要对误差函数采取迭代的方法找到最小值。

采用基于Newton-Raphson迭代最优化框架,使用了对数似然函数的局部二次近似。为了最小化 E ( ω ) E(\boldsymbol{\omega}) E(ω),Newton-Raphson对权值的更新形式为,

(4.62) ω n e w = ω o l d − H − 1 ∇ E ( ω ) \boldsymbol{\omega}^{new}=\boldsymbol{\omega}^{old}-\boldsymbol{H}^{-1}\nabla E(\boldsymbol{\omega}) \tag{4.62} ωnew=ωoldH1E(ω)(4.62)

其中 H \boldsymbol{H} H是一个Hessian矩阵,它的元素由 E ( ω ) E(\boldsymbol{\omega}) E(ω)关于 ω \boldsymbol{\omega} ω的二阶导数组成。

Newton-Raphson for regression model

考虑第三章中的回归模型,我们可以将误差函数的梯度和Hessian矩阵表示为,

(4.63) ∇ E ( ω ) = ∑ n = 1 N ( ω T ϕ n − t n ) ϕ n = Φ T Φ ω − Φ T t \nabla E(\boldsymbol{\omega}) = \sum_{n=1}^N(\boldsymbol{\omega}^T\boldsymbol{\phi}_n-t_n)\boldsymbol{\phi}_n=\mathbf{\Phi}^T\mathbf{\Phi}\boldsymbol{\omega}-\mathbf{\Phi}^T\textbf{t} \tag{4.63} E(ω)=n=1N(ωTϕntn)ϕn=ΦTΦωΦTt(4.63)

(4.64) H = ∇ ∇ E ( ω ) = ∑ n = 1 N ϕ n ϕ n T = Φ T Φ \boldsymbol{H}=\nabla \nabla E(\boldsymbol{\omega})=\sum_{n=1}^N \boldsymbol{\phi}_n\boldsymbol{\phi}_n^T=\mathbf{\Phi}^T\mathbf{\Phi} \tag{4.64} H=E(ω)=n=1NϕnϕnT=ΦTΦ(4.64)

其中 Φ \mathbf{\Phi} Φ N ∗ M N * M NM的矩阵,第 n n n行表示 ϕ n T \boldsymbol{\phi}_n^T ϕnT。于是,Newton-Raphson的更新形式为,

(4.65) ω n e w = ω o l d − ( Φ T Φ ) − 1 { Φ T Φ ω o l d − Φ T t } = ( Φ T Φ ) − 1 Φ T t \begin{aligned} \boldsymbol{\omega}^{new} &amp;= \boldsymbol{\omega}^{old}-(\mathbf{\Phi}^T\mathbf{\Phi})^{-1}\{\mathbf{\Phi}^T\mathbf{\Phi}\boldsymbol{\omega}^{old}-\mathbf{\Phi}^T\textbf{t}\}\\ &amp;=(\mathbf{\Phi}^T\mathbf{\Phi})^{-1}\mathbf{\Phi}^T\textbf{t} \end{aligned} \tag{4.65} ωnew=ωold(ΦTΦ)1{ΦTΦωoldΦTt}=(ΦTΦ)1ΦTt(4.65)

这一结果与标准的最小平方解完全一致,由于误差函数 E ( ω ) E(\boldsymbol{\omega}) E(ω) ω \boldsymbol{\omega} ω的二次函数,因此Newton-Raphson公式一步即得到精确的解析解。

Newton-Raphson for logistic regression

现在将Newton-Raphson应用到logistic回归模型上,根据公式(4.61),我们可以得到,可以得到误差函数的梯度和Hessian矩阵,

(4.66) ∇ E ( ω ) = ∑ n = 1 N ( y n − t n ) ϕ n = Φ T ( y − t ) \nabla E(\boldsymbol{\omega}) = \sum_{n=1}^N (y_n-t_n)\boldsymbol{\phi}_n = \mathbf{\Phi}^T(\textbf{y}-\textbf{t}) \tag{4.66} E(ω)=n=1N(yntn)ϕn=ΦT(yt)(4.66)

(4.67) H = ∇ ∇ E ( ω ) = ∑ n = 1 N y n ( 1 − y n ) ϕ n ϕ n T = Φ T R Φ \boldsymbol{H}=\nabla \nabla E(\boldsymbol{\omega})=\sum_{n=1}^N y_n(1-y_n)\boldsymbol{\phi}_n\boldsymbol{\phi}_n^T=\mathbf{\Phi}^T\boldsymbol{R}\mathbf{\Phi} \tag{4.67} H=E(ω)=n=1Nyn(1yn)ϕnϕnT=ΦTRΦ(4.67)

其中对角矩阵 R \boldsymbol{R} R N ∗ N N * N NN的矩阵,元素为,

(4.68) R n n = y n ( 1 − y n ) R_{nn}=y_n(1-y_n) \tag{4.68} Rnn=yn(1yn)(4.68)

这样logistic回归模型的Newton-Raphson更新公式就变为,

(4.69) ω n e w = ω o l d − ( Φ T R Φ ) − 1 Φ T ( y − t ) = ( Φ T R Φ ) − 1 Φ T R z \begin{aligned} \boldsymbol{\omega}^{new}&amp;=\boldsymbol{\omega}^{old}-(\mathbf{\Phi}^T\boldsymbol{R}\mathbf{\Phi})^{-1}\mathbf{\Phi}^T(\boldsymbol{y}-\boldsymbol{t}) \\ &amp;= (\mathbf{\Phi}^T\boldsymbol{R}\mathbf{\Phi})^{-1}\mathbf{\Phi}^T\boldsymbol{R}\textbf{z} \end{aligned} \tag{4.69} ωnew=ωold(ΦTRΦ)1ΦT(yt)=(ΦTRΦ)1ΦTRz(4.69)

其中 z \textbf{z} z是一个 N N N维向量,元素为,

(4.70) z = Φ ω o l d − R − 1 ( y − t ) \textbf{z} = \mathbf{\Phi}\boldsymbol{\omega}^{old}-\boldsymbol{R}^{-1}(\boldsymbol{y}-\boldsymbol{t}) \tag{4.70} z=ΦωoldR1(yt)(4.70)

由式(4.69)和式(4.65)进行对比,我们可以看出losgistic回归的更新公式相当于一组加权的最小平方问题。其中加权矩阵 R \boldsymbol{R} R依赖于参数 ω \boldsymbol{\omega} ω,因此每次更新 ω \boldsymbol{\omega} ω都会更新加权矩阵 R \boldsymbol{R} R,所以该方法被称为迭代重加权最小平方(iterative reweighted least squares)。

d. multiclass logistic regression

在第三章中,多类logistic回归的后验概率有线性函数softmax变换给出,即,

(4.71) p ( C k ∣ ϕ ) = y k ( ϕ ) = e x p ( a k ) ∑ j e x p ( a k ) p(\mathcal{C}_k|\boldsymbol{\phi})=y_k(\boldsymbol{\phi})=\frac{exp(a_k)}{\sum_j exp(a_k)} \tag{4.71} p(Ckϕ)=yk(ϕ)=jexp(ak)exp(ak)(4.71)

其中,“激活” a k a_k ak为,

(4.72) a k = ω k T ϕ a_k = \boldsymbol{\omega}_k^T\boldsymbol{\phi} \tag{4.72} ak=ωkTϕ(4.72)

可以得到其负对数误差函数为,

(4.73) E ( ω 1 , . . . , ω K ) = − ln p ( T ∣ ω 1 , . . . , ω K ) = − ∑ n = 1 N ∑ k = 1 K t n k ln y n k E(\boldsymbol{\omega}_1,...,\boldsymbol{\omega}_K) = -\textbf{ln}p(\boldsymbol{T}|\boldsymbol{\omega}_1,...,\boldsymbol{\omega}_K)=-\sum_{n=1}^N \sum_{k=1}^K t_{nk}\textbf{ln}y_{nk} \tag{4.73} E(ω1,...,ωK)=lnp(Tω1,...,ωK)=n=1Nk=1Ktnklnynk(4.73)

式(4.73)为多分类问题的误差函数,对其参数向量 ω j \boldsymbol{\omega}_j ωj求偏导可以得到,

(4.74) ∇ ω j E ( ω 1 , . . . , ω K ) = ∑ n = 1 N ( y n j − t n j ) ϕ n \nabla_{\boldsymbol{\omega}_j} E(\boldsymbol{\omega}_1,...,\boldsymbol{\omega}_K)=\sum_{n=1}^N (y_{nj}-t_{nj})\boldsymbol{\phi}_n \tag{4.74} ωjE(ω1,...,ωK)=n=1N(ynjtnj)ϕn(4.74)

其中我们规定 ∑ k t n k = 1 \sum_k t_{nk} = 1 ktnk=1,我们可以看到式(4.74)与二分类误差函数的梯度(4.61)一样,都是“误差” y n j − t n j y_{nj}-t_{nj} ynjtnj与基函数 ϕ n \boldsymbol{\phi}_n ϕn的乘积。

e. probit regression

显然地,我们目前为止所讨论的所有分类模型,最终求出的后验类概率都是作用在特征变量的线性函数上的logistic(或者softmax)变换,如式(4.58)和式(4.71)。然而,不是所有的类条件概率密度都有这样简单的后验概率函数形式。

考虑二分类的情况,使用一般的线性模型的框架,即

(4.75) p ( t = 1 ∣ a ) = f ( a ) p(t=1|a)=f(a) \tag{4.75} p(t=1a)=f(a)(4.75)

其中 a = ω T ϕ n a=\boldsymbol{\omega}^T\boldsymbol{\phi}_n a=ωTϕn f f f为激活函数,然后按照下面的方式设置目标值,

(4.76) { t n = 1 ,     i f   a n ≥ θ t n = 0 ,     o t h e r w i s e \begin{cases} t_n = 1,\ \ \ if\ a_n \geq \theta \\ t_n = 0,\ \ \ otherwise \end{cases} \tag{4.76} {tn=1,   if anθtn=0,   otherwise(4.76)

如果 θ \theta θ的值从概率密度 p ( θ ) p(\theta) p(θ)中抽取,那么对应的激活函数由累计分布函数给出,如果考虑 p ( θ ) p(\theta) p(θ)为零均值、单位方差的高斯概率密度,则有累积分布函数为,

(4.77) f ( a ) = Φ ( a ) = ∫ − ∞ a N ( θ ∣ 0 , 1 ) d θ f(a) = \mathbf{\Phi}(a) = \int_{-\infty}^a \mathcal{N}(\theta|0,1)d\theta \tag{4.77} f(a)=Φ(a)=aN(θ0,1)dθ(4.77)

上式被称为逆probit(inverse probit)函数。这一函数通常可以通过erf函数来计算,erf函数定义为,

(4.78) e r f ( a ) = 2 π ∫ 0 a e x p ( − θ 2 ) d θ erf(a)=\frac{2}{\sqrt{\pi}}\int_0^a exp(-\theta^2)d\theta \tag{4.78} erf(a)=π 20aexp(θ2)dθ(4.78)

其与激活函数(4.77)的关系为,

(4.79) f ( a ) = Φ ( a ) = 1 2 { 1 + e r f ( a π ) } f(a) = \mathbf{\Phi} (a)=\frac{1}{2}\{ 1 + erf(\frac{a}{\sqrt{\pi}}) \} \tag{4.79} f(a)=Φ(a)=21{1+erf(π a)}(4.79)

基于式(4.77)、(4.79)作为激活函数的一般线性模型被称为probit回归。与logistic回归不同的是,在离群点的检测中,由于logistic sigmoid函数像 e x p ( − x ) exp(-x) exp(x)那样渐进衰减,而probit激活函数像 e x p − x 2 exp{-x}^2 expx2那样渐进衰减,因此probit模型对于离群点会更加敏感。

The Laplace Approximation


拉普拉斯近似的目的是要找到一组连续变量上的概率密度的高斯近似,即对一个分布 p ( z ) p(z) p(z)找到其高斯近似分布 q ( z ) q(z) q(z),一般地,首先需要找到分布 p ( z ) p(z) p(z)的众数 z 0 z_0 z0,然后通过泰勒展开等方法得到高斯近似,例如,假设分布 p ( z ) p(z) p(z)的定义为,

(4.80) p ( z ) = 1 Z f ( z ) p(z) = \frac{1}{Z}f(z) \tag{4.80} p(z)=Z1f(z)(4.80)

其中 Z = ∫ f ( z ) d z Z = \int f(z) dz Z=f(z)dz为归一化系数。则由拉普拉斯近似得到的高斯近似分布 q ( x ) q(x) q(x)为,

(4.81) q ( z ) = ( A 2 π ) 1 2 e x p { − A 2 ( z − z 0 ) 2 } q(z)=(\frac{A}{2\pi})^{\frac{1}{2}}exp\{ -\frac{A}{2}(z-z_0)^2 \} \tag{4.81} q(z)=(2πA)21exp{2A(zz0)2}(4.81)

其中,

(4.82) A = − d 2 d z 2 ln f ( z ) ∣ z = z 0 A=-\frac{d^2}{dz^2}\textbf{ln}f(z)|_{z=z_0} \tag{4.82} A=dz2d2lnf(z)z=z0(4.82)

对于 M M M维的情况,有

(4.83) q ( z ) = ∣ A ∣ 1 2 ( 2 π ) M 2 e x p { − 1 2 ( z − z 0 ) T A ( z − z 0 ) } = N ( z ∣ z 0 , A − 1 ) q(z)=\frac{|A|^{\frac{1}{2}}}{(2\pi)^{\frac{M}{2}}}exp\{ -\frac{1}{2}(z-z_0)^TA(z-z_0) \} = \mathcal{N}(z|z_0,A^{-1}) \tag{4.83} q(z)=(2π)2MA21exp{21(zz0)TA(zz0)}=N(zz0,A1)(4.83)

(4.84) A = − ∇ ∇ ln f ( z ) ∣ z = z 0 A= -\nabla \nabla \textbf{ln}f(z)|_{z=z_0} \tag{4.84} A=lnf(z)z=z0(4.84)

式(4.81)和式(4.83)有良好定义的前提是,精度矩阵 A A A是正定的,这表明驻点 z 0 z_0 z0一定是局部最大值,而不是一个最小值或者鞍点。

拉普拉斯近似的局限性

  • 由于其以高斯分布为基础,因此它只能直接应用于实值变量;
  • 拉普拉斯框架完全依赖于真实概率分布在变量的某个具体位置上的性质,因此无法描述一些重要的全局属性。

Bayesian Logistic Regression


a. laplace approximation

贝叶斯logistic回归推断中,由于式(4.59)本身由一系列的logistic sigmoid函数的乘积组成,并且对于每一个数据点都有一个logistic sigmoid函数。因此对于似然函数(4.59)的计算无法得到精确处理类似地,预测分布也无法得到处理,因此需要使用拉普拉斯近似对其进行相应的近似处理。

对于拉普拉斯近似,我们首先需要找到后验分布的众数,然后调节一个以众数为中心的高斯分布。假设我们定义高斯先验,

(4.85) p ( ω ) = N ( ω ∣ m 0 , S 0 ) p(\boldsymbol{\omega})=\mathcal{N}(\boldsymbol{\omega}|\boldsymbol{m}_0,\boldsymbol{S}_0) \tag{4.85} p(ω)=N(ωm0,S0)(4.85)

m 0 , S 0 \boldsymbol{m}_0,\boldsymbol{S}_0 m0,S0是固定的超参数。考虑式(4.59)的后验分布,

(4.86) p ( ω ∣ t ) ∝ p ( ω ) p ( t ∣ ω ) p(\boldsymbol{\omega}|\textbf{t}) \propto p(\boldsymbol{\omega})p(\textbf{t}|\boldsymbol{\omega}) \tag{4.86} p(ωt)p(ω)p(tω)(4.86)

则利用式(4.59)、(4.85)、(4.86),我们可以得到,

(4.87) ln p ( ω ∣ t ) = − 1 2 ( ω − m 0 ) T S − 1 ( ω − m 0 ) + ∑ n = 1 N { t n ln y n + ( 1 − t n ) ln ( 1 − t n ) } + c o n s t \begin{aligned} \textbf{ln}p(\boldsymbol{\omega}|\textbf{t})&amp;=-\frac{1}{2}(\boldsymbol{\omega}-\boldsymbol{m}_0)^T\boldsymbol{S}^{-1}(\boldsymbol{\omega}-\boldsymbol{m}_0) \\ &amp;+ \sum_{n=1}^N\{t_n\textbf{ln}y_n+(1-t_n)\textbf{ln}(1-t_n)\} + const \end{aligned} \tag{4.87} lnp(ωt)=21(ωm0)TS1(ωm0)+n=1N{tnlnyn+(1tn)ln(1tn)}+const(4.87)

对式(4.87)求其最大后验解得 ω M A P \boldsymbol{\omega}_{MAP} ωMAP,对其就二阶导数的逆矩阵得到协方差 S N − 1 \boldsymbol{S}_N^{-1} SN1

(4.88) S N − 1 = − ∇ ∇ ln p ( ω ∣ t ) = S 0 − 1 + ∑ n = 1 N y n ( 1 − y n ) ϕ n ϕ n T \boldsymbol{S}_N^{-1}=-\nabla \nabla\textbf{ln}p(\boldsymbol{\omega}|\textbf{t})=\boldsymbol{S}_0^{-1}+\sum_{n=1}^N y_n(1-y_n)\boldsymbol{\phi}_n \boldsymbol{\phi}_n^T \tag{4.88} SN1=lnp(ωt)=S01+n=1Nyn(1yn)ϕnϕnT(4.88)

从而得到后验概率分布的高斯近似形式,

(4.89) q ( ω ) = N ( ω ∣ ω M A P , S N ) q(\boldsymbol{\omega})=\mathcal{N}(\boldsymbol{\omega}|\boldsymbol{\omega}_{MAP},\boldsymbol{S}_N) \tag{4.89} q(ω)=N(ωωMAP,SN)(4.89)

b. predictive distribution

得到了参数的高斯近似,即可以得到对于类别的预测分布,假设给定一个新的特征向量 ϕ ( x ) \boldsymbol{\phi}(\boldsymbol{x}) ϕ(x),类别 C 1 \mathcal{C}_1 C1的预测分布可以表示为,

(4.90) p ( C 1 ∣ ϕ , t ) = ∫ p ( C 1 ∣ ϕ , ω ) p ( ω ∣ t ) d ω ≃ ∫ σ ( ω T ϕ ) q ( ω ) d ω p(\mathcal{C}_1|\boldsymbol{\phi},\textbf{t})=\int p(\mathcal{C}_1|\boldsymbol{\phi},\boldsymbol{\omega})p(\boldsymbol{\omega}|\textbf{t})d\boldsymbol{\omega} \simeq\int \sigma(\boldsymbol{\omega}^T\boldsymbol{\phi})q(\boldsymbol{\omega})d\boldsymbol{\omega} \tag{4.90} p(C1ϕ,t)=p(C1ϕ,ω)p(ωt)dωσ(ωTϕ)q(ω)dω(4.90)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值