第三章 线性模型

一、基本形式

给定由 d d d 个属性描述的示例 x = ( x 1 ; x 2 ; ⋯   ; x d ) x=(x_1;x_2;\cdots;x_d) x=(x1;x2;;xd) ,其中 x i x_i xi x x x 在第 i i i 个属性上的取值,线性模型(linear model) 就是学习一个通过属性的线性组合来进行预测的函数:

f ( x ) = w 1 x 1 + w 2 x 2 + ⋯ + w d x d + b f(x)=w_1x_1+w_2x_2+\cdots+w_dx_d+b f(x)=w1x1+w2x2++wdxd+b

一般用向量形式写成:

f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b

非线性模型(nonlinear model) 可在线性模型的基础上引入层级结构或高维映射得到。线性模型具备较好的解释性。

二、线性回归

给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } D=\left\{(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)\right\} D={(x1,y1),(x2,y2),,(xm,ym)} ,其中 x i = ( x i 1 ; x i 2 ; ⋯   ; x i d ) , y i ∈ R x_i=(x_{i1};x_{i2};\cdots;x_{id}),y_i\in \mathbb{R} xi=(xi1;xi2;;xid),yiR线性回归(linear regression) 是学习一个线性模型以尽可能准确地预测实值输出标记。

线性回归试图学得:

f ( x i ) = w x i + b , 使 得 f ( x i ) ≃ y i f(x_i)=wx_i+b,使得f(x_i)\simeq y_i f(xi)=wxi+b使f(xi)yi

要确定 w w w b b b ,可以使均方误差最小:

( w ∗ , b ∗ ) = arg min ⁡ ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2                    = arg min ⁡ w , b ∑ i = 1 m ( y i − w x i − b ) 2 (w^*,b^*)=\argmin_{(w,b)}\sum_{i=1}^m(f(x_i)-y_i)^2\\~~~~~~~~~~~~~~~~~~=\argmin_{w,b}\sum_{i=1}^m(y_i-wx_i-b)^2 (w,b)=(w,b)argmini=1m(f(xi)yi)2                  =w,bargmini=1m(yiwxib)2

均方误差对应了欧氏距离(Euclidean distance),基于均方误差最小化来进行模型求解的方法称为最小二乘法(least square method)。在线性回归中,最小二乘法就是找一条直线,使得所有样本到支线上的欧式距离之和最小。

求解 w w w b b b 使 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w,b)}=\sum_{i=1}^m(y_i-wx_i-b)^2 E(w,b)=i=1m(yiwxib)2 最小化的过程,称为线性回归模型的最小二乘参数估计(parameter estimation)。可将 E ( w , b ) E_{(w,b)} E(w,b) 分别对 w w w b b b 求导,得到:

∂ E ( w , b ) ∂ w = w ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial E_{(w,b)}}{\partial w}=w\left(w\sum_{i=1}^mx_i^2-\sum_{i=1}^m(y_i-b)x_i \right) wE(w,b)=w(wi=1mxi2i=1m(yib)xi)
∂ E ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) \frac{\partial E_{(w,b)}}{\partial b}=2\left(mb-\sum_{i=1}^m(y_i-wx_i)\right) bE(w,b)=2(mbi=1m(yiwxi))

然后令上两个式子为 0 可得到 w w w b b b 最优解的闭式(closed-form) 解:

w = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 w=\frac{\sum_{i=1}^my_i(x_i-\bar x)}{\sum_{i=1}^mx_i^2-\frac{1}{m}\left(\sum_{i=1}^mx_i\right)^2} w=i=1mxi2m1(i=1mxi)2i=1myi(xixˉ)
b = 1 m ∑ i = 1 m ( y i − w x i ) b=\frac{1}{m}\sum_{i=1}^m(y_i-wx_i) b=m1i=1m(yiwxi)

其中 x ˉ = 1 m ∑ i = 1 m x i \bar x=\frac{1}{m}\sum_{i=1}^mx_i xˉ=m1i=1mxi x x x 的均值。

若考虑样本的 d d d 个属性,此时需要学习:

f ( x i ) = w T x i + b , 使 得 f ( x i ) ≃ y i f(x_i)=w^Tx_i+b,使得f(x_i)\simeq y_i f(xi)=wTxi+b使f(xi)yi

这称为多元线性回归(multivariate linear regression)

同样可以利用最小二乘法来进行估计,令 w ^ = ( w ; b ) \hat w=(w;b) w^=(w;b) ,数据集 D D D 表示为一个 m × ( d + 1 ) m\times(d+1) m×(d+1) 大小的矩阵 X X X ,其中每行对应一个示例,该行前 d d d 个元素对应于示例的 d d d 个属性,最后一个元素恒置为 1 :

X = [ x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m d 1 ] = [ x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ] X=\begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1d} & 1 \\ x_{21} & x_{22} & \cdots & x_{2d} & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m1} & x_{m2} & \cdots & x_{md} & 1 \end{bmatrix}=\begin{bmatrix} x_1^T & 1 \\ x_2^T & 1 \\ \vdots & \vdots \\ x_m^T & 1 \end{bmatrix} X=x11x21xm1x12x22xm2x1dx2dxmd111=x1Tx2TxmT111

把标记写成向量形式: y = ( y 1 ; y 2 ; ⋯   ; y m ) y=(y_1;y_2;\cdots;y_m) y=(y1;y2;;ym) ,则有:

w ^ ∗ = arg min ⁡ w ^ ( y − X w ^ ) T ( y − X w ^ ) \hat w^*=\argmin_{\hat w}(y-X\hat w)^T(y-X\hat w) w^=w^argmin(yXw^)T(yXw^)

E w ^ = ( y − X w ^ ) T ( y − X w ^ ) E_{\hat w}=(y-X\hat w)^T(y-X\hat w) Ew^=(yXw^)T(yXw^) ,对 w ^ \hat w w^ 求导得:

∂ E w ^ ∂ w ^ = y T y − w ^ T X T y − y T X w ^ + w ^ T X T X w ^ \frac{\partial E_{\hat w}}{\partial \hat w}=y^Ty-\hat w^TX^Ty-y^TX\hat w+\hat w^TX^TX\hat w w^Ew^=yTyw^TXTyyTXw^+w^TXTXw^

由矩阵微分公式: ∂ a T x ∂ x = ∂ x T a ∂ x = a \frac{\partial a^Tx}{\partial x}=\frac{\partial x^Ta}{\partial x}=a xaTx=xxTa=a ∂ x T A x ∂ x = ( A + A T ) x \frac{\partial x^TAx}{\partial x}=(A+A^T)x xxTAx=(A+AT)x 可得:

          ∂ E w ^ ∂ w ^ = 0 − 2 X T y + ( X T X + ( X X T ) T ) w ^ = ∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) ~~~~~~~~~\frac{\partial E_{\hat w}}{\partial \hat w}=0-2X^Ty+(X^TX+(XX^T)^T)\hat w\\=\frac{\partial E_{\hat w}}{\partial \hat w}=2X^T(X\hat w-y)          w^Ew^=02XTy+(XTX+(XXT)T)w^=w^Ew^=2XT(Xw^y)

令上式为 0 ,可得 w ^ \hat w w^ 最优解的闭式解,当 X T X X^TX XTX满秩矩阵(full-rank matrix)正定矩阵(positive definite matrix) 时,可得:

w ^ ∗ = ( X T X ) − 1 X T y \hat w^*=(X^TX)^{-1}X^Ty w^=(XTX)1XTy

x ^ i = ( x i , 1 ) \hat x_i=(x_i,1) x^i=(xi,1),则最终学得的多元线性回归模型为:

f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y f(\hat x_i)=\hat x_i^T(X^TX)^{-1}X^Ty f(x^i)=x^iT(XTX)1XTy

X T X X^TX XTX 不满秩时,可解出多个 w ^ \hat w w^ ,它们都能使均方误差最小化,选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见做法是引入正则化(regularization) 项。

对于简单的线性模型,可以将模型预测值逼近 y y y 的衍生物,例如可将输出标记的对数作为线性模型逼近的目标:

ln ⁡ y = w T x + b \ln y=w^Tx+b lny=wTx+b

这就是对数线性回归(log-linear regression),虽然该式形式上仍是线性回归,但实质上已是在求取输入控件到输出空间的非线性函数映射,如图,该函数可将线性回归模型的预测值与真实标签联系起来。
1

还可考虑单调可微函数 g ( ⋅ ) g(\cdot) g()

y = g − 1 ( w T x + b ) y=g^{-1}(w^Tx+b) y=g1(wTx+b)

这样得到的模型成为广义线性模型(generalized linear model),其中函数 g ( ⋅ ) g(\cdot) g() 称为联系函数(link function)

三、对数几率回归

考虑二分类任务,其输出标记 y ∈ { 0 , 1 } y\in\{0,1\} y{0,1} ,需要将线性回归模型产生的预测值(实值)转换为离散值,最理想的是阶跃函数(unit-step function)

y = { 0 z < 0 0.5 z = 0 1 z > 0 y=\left\{\begin{matrix} 0 & z<0 \\ 0.5 & z=0 \\ 1 & z>0 \end{matrix}\right. y=00.51z<0z=0z>0

1
从图中可以看出,单位阶跃函数不连续,因此不能直接使用,于是可以找到一些替代函数(surrogate function),这些函数单调可微,如对数几率函数(logistic function)

y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+ez1

将对数几率函数作为 g − ( ⋅ ) g^-(\cdot) g() ,得:

y = 1 1 + e − ( w T x + b ) (3.18) y=\frac{1}{1+e^{-(w^Tx+b)}}\tag{3.18} y=1+e(wTx+b)1(3.18)

恒等变形:

ln ⁡ y 1 − y = w T x + b (3.19) \ln\frac{y}{1-y}=w^Tx+b\tag{3.19} ln1yy=wTx+b(3.19)

若将 y y y 视为样本 x x x 作为正例的可能性,则 1 − y 1-y 1y 是其反例可能性,两者比值:

y 1 − y \frac{y}{1-y} 1yy

称为几率(odds),反映了 x x x 作为正例的相对可能性,对几率取对数则得到对数几率(log odds, 亦称 logit)

ln ⁡ y 1 − y \ln\frac{y}{1-y} ln1yy

由此可看出,式(3.18)实际上是在用线性回归模型的预测结果去逼近真是标记的对数几率,因此对应的模型称为对数几率回归(logistic regression,亦称 logit regression)

下面来确定式(3.18)中的 w w w b b b ,若将式(3.18)中的 y y y 视为类后验概率估计 p ( y = 1 ∣ x ) p(y=1|x) p(y=1x) ,则式(3.19)可重写为:

ln ⁡ p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = w T x + b \ln\frac{p(y=1|x)}{p(y=0|x)}=w^Tx+b lnp(y=0x)p(y=1x)=wTx+b

显然有:

p ( y = 1 ∣ x ) = e w T x + b 1 + e w T x + b (3.23) p(y=1|x)=\frac{e^{w^Tx+b}}{1+e^{w^Tx+b}}\tag{3.23} p(y=1x)=1+ewTx+bewTx+b(3.23)

p ( y = 0 ∣ x ) = 1 1 + e w T x + b (3.24) p(y=0|x)=\frac{1}{1+e^{w^Tx+b}}\tag{3.24} p(y=0x)=1+ewTx+b1(3.24)

于是,可以通过极大似然法(maximum likelihood method) 来估计 w w w b b b 。给定数据集 { ( x i , y i ) } i = 1 m \left\{(x_i,y_i)\right\}_{i=1}^m {(xi,yi)}i=1m ,对率回归模型最大化对然似然(log-likelihood)

ℓ ( w , b ) = ∑ i = 1 m ln ⁡ p ( y i ∣ x i ; w , b ) (3.25) \ell(w,b)=\sum_{i=1}^m\ln p(y_i|x_i;w,b)\tag{3.25} (w,b)=i=1mlnp(yixi;w,b)(3.25)

即令每个样本属于其真实标记的概率越大越好。为便于讨论,令 β = ( w ; b ) , x ^ = ( x ; 1 ) \beta=(w;b),\hat x=(x;1) β=(w;b),x^=(x;1) ,则 w T x + b w^Tx+b wTx+b 可简写为 β T x ^ \beta^T\hat x βTx^ 。再令 p 1 ( x ^ ; β ) = p ( y = 1 ∣ x ^ ; β ) , p 0 ( x ^ ; β ) = p ( y = 0 ∣ x ^ ; β ) = 1 − p 1 ( x ^ ; β ) p_1(\hat x;\beta)=p(y=1|\hat x;\beta),p_0(\hat x;\beta)=p(y=0|\hat x;\beta)=1-p_1(\hat x;\beta) p1(x^;β)=p(y=1x^;β),p0(x^;β)=p(y=0x^;β)=1p1(x^;β) ,则上式中的似然项可重写为:

p ( y i ∣ x i ; w , b ) = y i p 1 ( x ^ i ; β ) + ( 1 − y i ) p 0 ( x i ; β ) (3.26) p(y_i|x_i;w,b)=y_ip_1(\hat x_i;\beta)+(1-y_i)p_0(x_i;\beta)\tag{3.26} p(yixi;w,b)=yip1(x^i;β)+(1yi)p0(xi;β)(3.26)

将式(3.26)带入(3.25),并根据式(3.23)和(3.24)可知,最大化式(3.25)等价于最小化:

ℓ ( β ) = ∑ i = 1 m ( − y i β T x ^ i + ln ⁡ ( 1 + e β T x ^ i ) ) (3.27) \ell(\beta)=\sum_{i=1}^m\left(-y_i\beta^T\hat x_i+\ln\left(1+e^{\beta^T\hat x_i}\right)\right)\tag{3.27} (β)=i=1m(yiβTx^i+ln(1+eβTx^i))(3.27)

式(3.27)是关于 β \beta β 的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降法(gradient descent method)牛顿法(Newton method) 等都可求得其最优解,于是就得到:

β ∗ = arg min ⁡ β ℓ ( β ) \beta^*=\argmin_\beta\ell(\beta) β=βargmin(β)

以牛顿法为例,其第 t + 1 t+1 t+1 轮迭代解的更新公式为:

β t + 1 = β t − ( ∂ 2 ℓ ( β ) ∂ β ∂ β T ) − 1 ∂ ℓ ( β ) ∂ β \beta^{t+1}=\beta^t-\left(\frac{\partial^2\ell(\beta)}{\partial\beta\partial\beta^T}\right)^{-1}\frac{\partial\ell(\beta)}{\partial\beta} βt+1=βt(ββT2(β))1β(β)

其中关于 β \beta β 的一阶、二阶导数分别为:

∂ ℓ ( β ) ∂ β = − ∑ i = 1 m x ^ i ( y i − p 1 ( x ^ i ; β ) ) \frac{\partial\ell(\beta)}{\partial\beta}=-\sum_{i=1}^m\hat x_i(y_i-p_1(\hat x_i;\beta)) β(β)=i=1mx^i(yip1(x^i;β))

∂ 2 ℓ ( β ) ∂ β ∂ β T = ∑ i = 1 m x ^ i x ^ i T p 1 ( x ^ i l β ) ( 1 − p 1 ( x ^ i ; β ) ) \frac{\partial^2\ell(\beta)}{\partial\beta\partial\beta^T}=\sum_{i=1}^m\hat x_i\hat x_i^Tp_1(\hat x_il\beta)(1-p_1(\hat x_i;\beta)) ββT2(β)=i=1mx^ix^iTp1(x^ilβ)(1p1(x^i;β))

四、线性判别分析

LDA 也是一种对数据进行降维的方法,与 PCA 不同的是,LDA 是一种有监督的数据降维方法。

PCA 存在局限性,例如两组本来可分的数据,降维后在新的空间中不可分。

LDA 降维的目标:将带有标签的数据降维,须满足三个条件:

  • 尽可能多的保留样本信息;
  • 寻找使样本尽可能好分的投影方向;
  • 投影后使同类样本尽可能接近,不同类样本尽可能远离;

1. 优化目标

线性,指将数据点投影到直线上,直线表达式为:

y = w T x y=w^Tx y=wTx

x x x 表示样本向量,如果投影到一条直线上 w w w 就是一个特征向量或者多个特征向量构成的矩阵。 y y y 为投影后的样本点。

首先考虑两类样本的情况,将数据投影到直线 w w w 上,则两类样本的中心在直线上的投影分别为 w T μ 0 w^T\mu_0 wTμ0 w T μ 1 w^T\mu_1 wTμ1 ,其中 μ i \mu_i μi 表示第 i i i 类样本的均值,若将所有的样本点都投影到直线上,则两类样本的协方差分别为 w T ∑ 0 w w^T\sum_0w wT0w w T ∑ 1 w w^T\sum_1w wT1w ,投影后同类样本协方差矩阵的计算步骤如下:
∑ x ∈ D i ( w T x − w T μ i ) 2 = ∑ x ∈ D i ( w T ( x − μ i ) ) 2                  = ∑ x ∈ D i w T ( x − μ i ) ( x − μ i ) T w            = w T ∑ x ∈ D i [ ( x − μ i ) ( x − μ i ) T ] w \sum_{x\in D_i}(w^Tx-w^T\mu_i)^2\\=\sum_{x\in D_i}(w^T(x-\mu_i))^2~~~~~~~\\~~~~~~~~=\sum_{x\in D_i}w^T(x-\mu_i)(x-\mu_i)^Tw\\~~~~~~~~~~=w^T\sum_{x\in D_i}[(x-\mu_i)(x-\mu_i)^T]w xDi(wTxwTμi)2=xDi(wT(xμi))2               =xDiwT(xμi)(xμi)Tw          =wTxDi[(xμi)(xμi)T]w

其中用到了公式: ( a ⋅ b ) 2 = ( a T b ) 2 = ( a T b ) ( a T b ) T = a T b b T a (a\cdot b)^2=(a^Tb)^2=(a^Tb)(a^Tb)^T=a^Tbb^Ta (ab)2=(aTb)2=(aTb)(aTb)T=aTbbTa

上式中间部分 ∑ x ∈ D i ( x − μ i ) ( x − μ i ) T \sum_{x\in D_i}(x-\mu_i)(x-\mu_i)^T xDi(xμi)(xμi)T 是同类样本投影前的协方差矩阵。故可以发现若投影前的协方差矩阵为 ∑ \sum ,则投影后的协方差矩阵为 w T ∑ w w^T\sum w wTw

要使得同类样例的投影点尽可能接近,可以让同类样本点的协方差矩阵尽可能小,即 w T ∑ 0 w + w T ∑ 1 w w^T\sum_0w+w^T\sum_1w wT0w+wT1w 尽可能小;要使得异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大,即 ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 ||w^T\mu_0-w^T\mu_1||_2^2 wTμ0wTμ122 尽可能大。于是得到最大化的优化目标:

J = ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 w T ( ∑ 0 + ∑ 1 ) w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( ∑ 0 + ∑ 1 ) w J=\frac{||w^T\mu_0-w^T\mu_1||_2^2}{w^T(\sum_0+\sum_1)w}=\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\sum_0+\sum_1)w} J=wT(0+1)wwTμ0wTμ122=wT(0+1)wwT(μ0μ1)(μ0μ1)Tw

其中 ∣ ∣ ⋅ ∣ ∣ ||\cdot|| 表示欧几里得范数, ∣ ∣ x − μ i ∣ ∣ 2 = ( x − μ i ) T ( x − μ i ) ||x-\mu_i||^2=(x-\mu_i)^T(x-\mu_i) xμi2=(xμi)T(xμi)

2. 协方差与样本分布的关系

要使得同类样例的投影点尽可能接近,可以让同类样本点的协方差矩阵尽可能小,即 w T ∑ 0 w + w T ∑ 1 w w^T\sum_0w+w^T\sum_1w wT0w+wT1w 尽可能小;要使得异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大,即 ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 ||w^T\mu_0-w^T\mu_1||_2^2 wTμ0wTμ122 尽可能大。

为什么协方差矩阵可以反映出样本或样例点之间的距离关系?首先来看协方差和方差的公式:

c o v = 1 n ∑ ( X − X ˉ ) ( Y − Y ˉ ) cov=\frac{1}{n}\sum(X-\bar X)(Y-\bar Y) cov=n1(XXˉ)(YYˉ)

c o v = 1 n ∑ ( X − X ˉ ) ( X − X ˉ ) cov=\frac{1}{n}\sum(X-\bar X)(X-\bar X) cov=n1(XXˉ)(XXˉ)

可以发现两者非常相似。已知方差可以用来度量数据的离散程度, ( X − X ˉ ) (X-\bar X) (XXˉ) 越大,表示数据距离离样本中心越远,数据就越离散,方差也就越大。同样的,对于协方差来说, ( X − X ˉ ) (X-\bar X) (XXˉ) ( Y − Y ˉ ) (Y-\bar Y) (YYˉ) 越大,表示数据距离样本中心越远,数据分布就越分散,协方差也就越大。因此上述观点成立。

3. 类间散度矩阵

类间散度矩阵就是协方差矩阵乘以样本数目,其作用基本与协方差矩阵一致。

对于两类样本来说:

S b = m ⋅ C = m ⋅ 1 m ⋅ ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_b=m\cdot C=m\cdot\frac{1}{m}\cdot(\mu_0-\mu_1)(\mu_0-\mu_1)^T=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb=mC=mm1(μ0μ1)(μ0μ1)T=(μ0μ1)(μ0μ1)T

其中 C C C 表示协方差矩阵, m m m 表示样本数目。

对于多类问题来说:

S b = ∑ i = 1 C ( μ i − μ ) ( μ i − μ ) T S_b=\sum_{i=1}^C(\mu_i-\mu)(\mu_i-\mu)^T Sb=i=1C(μiμ)(μiμ)T

其中 C C C 表示类别数目, μ \mu μ 表示所有样本的均值向量 μ = 1 C ∑ i = 1 C μ i \mu=\frac{1}{C}\sum_{i=1}^C\mu_i μ=C1i=1Cμi

如果只使用类间散度矩阵一个约束条件来对数据进行降维,即让类间的样本投影尽可能远离,参考 PCA 的降维过程:

S b μ = λ μ S_b\mu=\lambda\mu Sbμ=λμ

不同的是,为了保证类间的样本投影后尽可能远离,我们应该选择特征值最大的特征向量代表的方向做投影。这样才能保证不同类样本投影之后方差尽可能大,尽可能远离。

4. 类内散度矩阵

对于两类问题来说:

S w = ∑ 0 + ∑ 1 = ∑ x ∈ D 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ D 1 ( x − μ 1 ) ( x − μ 1 ) T S_w=\sum_0+\sum_1=\sum_{x\in D_0}(x-\mu_0)(x-\mu_0)^T+\sum_{x\in D_1}(x-\mu_1)(x-\mu_1)^T Sw=0+1=xD0(xμ0)(xμ0)T+xD1(xμ1)(xμ1)T

对于多类问题来说:

S w = ∑ i = 1 C ∑ j = 1 m i ( x i j − μ i ) ( x i j − μ i ) T S_w=\sum_{i=1}^C\sum_{j=1}^{m_i}(x_i^j-\mu_i)(x_i^j-\mu_i)^T Sw=i=1Cj=1mi(xijμi)(xijμi)T

其中 ∑ j = 1 M i ( x i j − μ i ) ( x i j − μ i ) T \sum_{j=1}^{M_i}(x_i^j-\mu_i)(x_i^j-\mu_i)^T j=1Mi(xijμi)(xijμi)T 表示第 i i i 类样本的协方差矩阵。所以 S w S_w Sw 表示 C C C 类样本协方差矩阵之和。

如果只是用类内散度矩阵一个约束条件来对数据进行降维,即让类内的样本投影尽可能接近,参考 PCA 的将为过程:

S w μ = λ μ S_w\mu=\lambda\mu Swμ=λμ

不同的是,为了保证类内的样本投影后尽可能接近,我们应该选择特征值最小的特征向量代表的方向做投影。这样才能保证同类样本投影之后方差尽可能小,尽可能接近。

5. 优化

定义了类内散度矩阵和类间散度矩阵后,可以将优化目标转换为:

J = w T S b w w T S w w J=\frac{w^TS_bw}{w^TS_ww} J=wTSwwwTSbw

S b S_b Sb S w S_w Sw 的广义瑞利商。

接下来确定 w w w ,注意上式的分子和分母都是关于 w w w 的二次项,因此上式的解与 w w w 的长度无关,只与其方向有关。令 w T S w w = 1 w^TS_ww=1 wTSww=1 ,则上式等价于:

min ⁡ − w T S b w s t . w T S w w = 1 \min -w^TS_bw\\st.w^TS_ww=1 minwTSbwst.wTSww=1

使用拉格朗日乘子法,上式等价于:

c ( w ) = − w T S b w + λ ( w T S w w − 1 ) c(w)=-w^TS_bw+\lambda(w^TS_ww-1) c(w)=wTSbw+λ(wTSww1)

d c d w = − 2 S b w + 2 λ S w w = 0 \frac{dc}{dw}=-2S_bw+2\lambda S_ww=0 dwdc=2Sbw+2λSww=0

S b w = λ S w w S_bw=\lambda S_ww Sbw=λSww

S w − 1 S b w = λ w S_w^{-1}S_b^w=\lambda w Sw1Sbw=λw

可以看到上式转化为一个求特征值和特征向量的问题。 w w w 是要求解的特征向量,这就验证了之前所说的式子 y = w T x y=w^Tx y=wTx 中的 w w w 就是特征向量构成的矩阵。

但是此时仍有一个问题,那就是 S w S_w Sw 通常是不可逆的,因此有以下方法解决:

  1. S w = S w + γ I S_w=S_w+\gamma I Sw=Sw+γI ,其中 γ \gamma γ 是一个特别小的数,从而使得 S w S_w Sw 可逆;
  2. 先使用 PCA 降维,使得降维后的数据上 S w S_w Sw 可逆,然后再使用 LDA 。

五、多分类学习

二分类的方法可以推广至多分类任务,简单来说就是对多分类任务拆分为多个二分类任务。最经典的拆分策略有一对一(One vs. One, OvO),一对其余(One vs. Rest,OvR; One vs. All, OvA)和多对多(Many vs. Many, MvM)

OvO 方式对 N N N 个元素的数据集会生成 N ( N − 1 ) 2 \frac{N(N-1)}{2} 2N(N1) 个分类器,在测试阶段将新样本提交给所有的分类器即可得到最终分类的结果。

OvR 方式是每次将一个类别的样例作为正例,其余类别作为反例来训练 N N N 个分类器,测试时若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果;若有多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果。

从上述两种方法可以发现,前者空间开销更大,后者时间开销更大。这是因为前者训练的分类器个数更多,后者每次训练时用到的样本个数更多。

MvM 方法是每次将若干类作为正类,若干类作为反类,因此该方法的构造需要有特殊的设计。一种常用的方法为:纠错输出码(Error Correcting Output Codes, ECOC),该方法是将编码的思想引入类别拆分,并尽可能在解码过程中具有容错性。ECOC 工作过程主要分为两步:

  • 编码:对 N 个类别做 M 次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样一共产生 M 个训练集,可训练出 M 个分类器。
  • 解码:M 个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。

类别划分通过编码矩阵(coding matrix) 指定。编码矩阵有多种形式,常见的主要有二元码三元码。前者将每个类别分别指定为正类和反类,后者在正、反类之外,还可指定停用类。在图(a)中,分类器 f 2 f_2 f2 C 1 C_1 C1 类和 C 3 C_3 C3 类的样例作为正例,将 C 2 C_2 C2 类和 C 4 C_4 C4 类的样例作为反例;在图(b)中,分类器 f 4 f_4 f4 C 1 C_1 C1 类和 C 4 C_4 C4 类的样例作为正例, C 3 C_3 C3 类作为反例。在解码阶段,各分类器的预测结果联合起来形成了测试示例的编码,该编码与各类所对应的编码进行比较,将距离最小的编码所对应的类别作为预测结果。例如图(a)中,若基于欧氏距离,预测结果将是 C 3 C_3 C3
在这里插入图片描述
之所以叫纠错输出码,是因为在测试阶段,ECOC 编码器对分类器的错误有一定的容忍与修正能力。例如图(a)所示,测试样例的正确预测编码为(-1,+1,+1,-1,+1),假设在预测时 f 2 f_2 f2 分类器出错导致编码为(-1,-1,+1,-1,+1),但是基于该分类仍能正确得出分类结果 C 3 C_3 C3 。一般来说,对同一个学习任务,ECOC 编码越长,纠错能力越强,但同时也意味着所需训练的分类器越多,各方开销会增大。另一方面,对有限类别数,可能的组合数目是有限的,这就限定了码长的范围。

六、类别不平衡问题

类别不平衡(class-imbalance) 就是指分类任务中不同类别的训练样例数目差别很大的情况。本节假设正类样例较少,反类样例较多。

从线性分类器的角度讨论,使用 y = w T x + b y=w^Tx+b y=wTx+b 对新样本进行分类时,事实上是再用预测出的 y y y 值与一个阈值(通常为 0.5)比较。 y y y 实际上表达了正例的可能性,几率 y 1 − y \frac{y}{1-y} 1yy 则反映了正例可能性与反例可能性之比值,阈值设置为 0.5 表明分类器认为而这可能性相同,即分类器决策规则为:

若 y 1 − y > 1 , 则 预 测 为 正 例 (3.49) 若\frac{y}{1-y}>1,则预测为正例\tag{3.49} 1yy>1(3.49)

然而当二者树木不同时,令 m + , m − m^+,m^- m+,m 分别表示正例数目和反例数目,则观测几率是 m + m − \frac{m^+}{m^-} mm+ ,由于通常假设训练集是真实样本总体的无偏采样(表示采样的数据很好的代表了真是样本的情况),因此观测几率代表了真实几率。于是,只要分类器的预测几率高于观测几率就应该判定为正例,即:

若 y 1 − y > m + m − , 则 预 测 为 正 例 (3.50) 若\frac{y}{1-y}>\frac{m^+}{m^-},则预测为正例\tag{3.50} 1yy>mm+(3.50)

为将式 3.49 转换为式 3.50 ,则令:

y ′ 1 − y ′ = y 1 − y × m − m + \frac{y'}{1-y'}=\frac{y}{1-y}\times\frac{m^-}{m^+} 1yy=1yy×m+m

这就是类别不平衡学习的一个基本策略——再缩放(rescaling),再平衡(rebalance)。该方法也是代价敏感学习(cost-sensitive learning) 的基础。这个方法的重要前提是:训练集是真是样本总体的无偏采样,但是这个假设往往不成立。因此有另外三种方法:

  1. 直接对训练集里的反类样例进行欠采样(undersampling),即去除一些反例使得正、反例数目接近;
  2. 对训练集里的正类样例进行过采样(oversampling),即增加一些正例使得正、反例数目接近;
  3. 阈值移动(threshold-moving),直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将上式嵌入到决策过程中。

需要注意的是,过采样法不能简单地对初始样例样本进行重复采样,否则会导致过拟合。一种代表性的算法为SMOTE,通过对训练集里的正例进行插值来生成额外的正例。欠采样法若随机丢弃反例,则可能丢失部分重要信息。一种代表性的算法为EasyEnsemble,利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习起来看完成了欠采样,但在全局来看并未丢失信息。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BeZer0

打赏一杯奶茶支持一下作者吧~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值