Machine Learning——Linear Model

本系列博客是我学习周志华的《机器学习(西瓜书)》的自学笔记。
我是零基础学习,因此所写只是书上的知识,肯定不全面,以后随着学习的深入,慢慢补充吧。

基本形式

  • 给定由 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个属性上的取值,线性模型 ( l i n e a r m o d e l ) (linear model) (linearmodel)试图学得一个通过属性的线性组合来进行预测的函数,即 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,其中 w = ( w 1 ; w 2 ; ⋯   ; w d ) w=(w_1;w_2;\cdots;w_d) w=(w1;w2;;wd),即为 x x x的权重, w w w b b b学得之后,模型就得以确定.

Linear Regression(线性回归)

  • 给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } D=\lbrace{(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)}\rbrace 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 R. xi=(xi1;xi2;;xid),yiR.
  • 线性回归(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记
  • x i x_i xi即为属性,对于离散属性:
    • 若属性值之间存在“序”(order)关系,可以通过连续化将其转化为连续值。比如“高”、“矮”转化为{1.0,0.0};“高”、“中”、“低”可以转化为{1.0,0.5,0.0}.
    • 若属性间不存在序关系,假定有 k k k个属性值,则通常转化为 k k k维向量。比如“西瓜”、“南瓜”、“黄瓜”转化为(0,0,1),(0,1,0),(1,0,0).
  • 线性回归试图学得 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,我们引入损失函数(Loss Function) 的概念。损失函数有很多种,在回归任务中最常用均方误差(也称为平方损失square loss) 这一性能度量。
  • 台湾大学的李宏毅老师称之为损失函数(Loss Function),斯坦福的吴恩达老师称之为代价函数(Cost Function),我的理解就是,所谓的损失函数指的就是模型的误差,让误差最小,就是让损失函数取最小值。
  • 因此,我们需要让均方误差最小化,即 ( 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,b)argmini=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 = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) , \frac {\partial E_{(w,b)}}{\partial w}=2\bigg( w\sum_{i=1}^m x_i^2-\sum_{i=1}^m(y_i-b)x_i \bigg), wE(w,b)=2(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\bigg( mb-\sum_{i=1}^m(y_i-wx_i) \bigg), bE(w,b)=2(mbi=1m(yiwxi)),然后令上述两式为零,可得 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}^m y_i(x_i-\bar x)}{\sum_{i=1}^m x_i^2-\frac {1}{m}\bigg( \sum_{i=1}^m x_i \bigg)^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}^m x_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).此时的“多元”指的是样本属性。
  • 对于多元线性回归,我们把数据集 D D D表示为一个 m × ( d + 1 ) m×(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 \\ 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 w w w b b b吸收入向量的形式 w ^ = ( w ; b ) \hat w=(w;b) w^=(w;b),把 y y y也写成向量形式 y = ( y 1 ; y 2 ; ⋯   ; y m ) y=(y_1;y_2;\cdots;y_m) y=(y1;y2;;ym),有 w ^ 2 = arg min ⁡ w ^ ( y − X w ^ ) T ( y − X w ^ ) {\hat w}^2=\argmin_{\hat w}(y-X\hat w)^T(y-X \hat w) w^2=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 ^ = 2 X T ( X w ^ − y ) . \frac {\partial E_{\hat w}}{\partial \hat w}=2X^T(X\hat w-y). w^Ew^=2XT(Xw^y).令上式为零可得 w ^ \hat w w^最优解的闭式解。
  • 由于上式涉及到矩阵逆的计算,我们需要讨论:
    • X T X X^TX XTX为满秩矩阵(full-rank matrix)或正定矩阵(positive definite matrix)时,令 ∂ E w ^ ∂ w ^ \frac {\partial E_{\hat w}}{\partial \hat w} w^Ew^为零可得 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) xi^=(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(xi^)=xi^T(XTX)1XTy.
    • 现实任务中, X T X X^TX XTX一般不是满秩矩阵。此时可解出多个 w ^ \hat w w^,它们都能使均方误差最小化。然后根据学习算法的偏好决定,将选择哪一个解输出,常见的作法是引入正则化项(regularization)。
  • 对数线性回归(log-linear regression):
    • 当我们希望线性模型的预测值逼近真实标记 y y y时,我们把线性回归模型简写为 y = w T x + b . y=w^Tx+b. y=wTx+b.
    • 假设上式多对应的输出标记是在指数尺度上变化,那就可以将输出标记的对数作为线性模型逼近的目标,即 ln ⁡ y = w T x + b . \ln y=w^Tx+b. lny=wTx+b.
    • 实际上是在试图让 e w T x + b e^{w^Tx+b} ewTx+b逼近 y y y
  • 广义线性模型(generalized linear model):
    • 考虑单调可微函数 g ( ⋅ ) g(\cdot) g(),令 y = g − 1 ( w T x + b ) , y=g^{-1}(w^Tx+b), y=g1(wTx+b),其中函数 g ( ⋅ ) g(\cdot) g()称为“联系函数”(link function)。
    • 显然,对数线性回归是广义线性模型在 g ( ⋅ ) = l n ( ⋅ ) g(\cdot)=ln(\cdot) g()=ln()时的特例。

Logistic Regression(对数几率回归)

  • 应用于二分类任务
  • 对于二分类任务,输出标记 y ∈ { 0 , 1 } y \in \lbrace{0,1}\rbrace y{ 0,1},而线性回归产生的预测值 z = w T x + b z=w^Tx+b z=wTx+b是实数值,因此,我们需要将实数值转换为0/1值。最理想的是单位跃阶函数(unit-step function): y = { 0 ,       z < 0 0.5 ,    z = 0 1 ,       z > 0 y=\begin{cases} 0, \space \space \space \space \space z<0\\ 0.5, \space \space z=0\\ 1, \space \space \space \space \space z>0 \end{cases} y=0,     z<00.5,  z=01,     z>0
  • 但是单位跃阶函数不连续,因此,我们需要找到一个近似单位跃阶函数的替代函数(surrogate function),并且是单调可微函数。
  • 近似单位跃阶函数的替代函数,我们选择对数几率函数(logistic function): y = 1 1 + e − z y=\frac {1}{1+e^{-z}} y=1+ez1
  • 下图显示 单位跃阶函数 和 对数几率函数 的图像:
    Machine Learning——Linear Model_第1张图片
  • 根据图像可知,对数几率函数是一种Sigmoid函数(形似 S S S的函数),它将 z z z值转换为接近 0 0 0 1 1 1 y y y值,并且其输出值在 z = 0 z=0 z=0附近变化很陡。
  • 因为 y = g − 1 ( w T x + b ) y=g^{-1}(w^Tx+b) y=g1(wTx+b),即 g ( y ) g(y) g(y),将对数几率函数作为 g ( ⋅ ) g(\cdot) g()带入得: y = 1 1 + e − ( w T x + b ) y=\frac {1}{1+e^{-(w^Tx+b)}} y=1+e(wTx+b)1变化得: ln ⁡ y 1 − y = w T x + b \ln {\frac {y}{1-y}}=w^Tx+b ln1yy=wTx+b
  • 若将 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.
  • 对数几率回归的优点:
    • 直接对分类可能性进行建模,无需事先建设数据分布,从而避免假设分布不准确所带来的问题。
    • 可以得到近似概率预测,对许多需利用概率辅助决策的任务很有用。
    • 对率函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解。
  • 求解 y = 1 1 + e − ( w T x + b ) y=\frac {1}{1+e^{-(w^Tx+b)}} y=1+e(wTx+b)1 w w w b b b
    • 若将式 y = 1 1 + e − ( w T x + b ) y=\frac {1}{1+e^{-(w^Tx+b)}} y=1+e(wTx+b)1中的 y y y视为类后验概率估计 p ( y = 1 ∣ x ) p(y=1|x) p(y=1x),则式 ln ⁡ y 1 − y = w T x + b \ln {\frac {y}{1-y}}=w^Tx+b ln1yy=wTx+b可被重写为: 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 ,                 ( 1 ) p(y=1|x)=\frac {e^{w^Tx+b}}{1+e^{w^Tx+b}},\space \space \space \space \space \space \space \space \space \space \space \space \space \space \space (1) p(y=1x)=1+ewTx+bewTx+b,               (1) p ( y = 0 ∣ x ) = 1 1 + e w T x + b .                 ( 2 ) p(y=0|x)=\frac {1}{1+e^{w^Tx+b}}.\space \space \space \space \space \space \space \space \space \space \space \space \space \space \space (2) p(y=0x)=1+ewTx+b1.               (2)
    • 于是,我们可以通过极大似然法(maximum likelihood method)来估计 w w w b b b.给定数据集 { ( x i , y i ) i = 1 m } \lbrace{(x_i,y_i)}_{i=1}^m\rbrace { (xi,yi)i=1m},对率回归模型最大化对数似然(log-likelihood): ℓ ( w , b ) = ∑ i = 1 m ln ⁡ p ( y i ∣ x i ; w , b ) ,                 ( 3 ) \ell(w,b)=\sum_{i=1}^m\ln {p(y_i|x_i;w,b)},\space \space \space \space \space \space \space \space \space \space \space \space \space \space \space (3) (w,b)=i=1mlnp(yixi;w,b),               (3)即令每个样本属于其真实标记的概率越大越好。
    • 为了便于讨论,,令 β = ( 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 ^ ; β )                 ( 4 ) p(y_i|x_i;w,b)=y_ip_1(\hat {x_i};\beta)+(1-y_i)p_0(\hat {x_i};\beta)\space \space \space \space \space \space \space \space \space \space \space \space \space \space \space (4) p(yixi;w,b)=yip1(xi^;β)+(1yi)p0(xi^;β)               (4)
    • 将(4)带入(3),再根据(1)和(2)可知,最大化式(3)等价于最小化: ℓ ( − β ) = ∑ i = 1 m ( − y i β T x i ^ + ln ⁡ ( 1 + e β T x i ^ ) ) . \ell (-\beta)=\sum_{i=1}^m\bigg(-y_i\beta^T \hat{x_i}+\ln {(1+e^{\beta^T \hat {x_i}})}\bigg). (β)=i=1m(yiβTxi^+ln(1+eβTxi^)).上式是关于 β \beta β的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降法、牛顿法等都可求得其最优解,于是就得到: β ∗ arg min ⁡ β l ( β ) \beta^*\argmin_{\beta}l(\beta) ββargminl(β)

线性判断分析(LDA)

  • 线性判断分析(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法,在二分类问题上,最早由Fisher提出,也称之为Fisher判别分析
  • LDA思想:
    • 给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;
    • 在对新鲜本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新鲜本的类别。
    • 下图是二位示意图:
      Machine Learning——Linear Model_第2张图片
  • 给定数据集 D = { ( x i , y i ) } i = 1 m , y i ∈ { 0 , 1 } D=\lbrace{(x_i,y_i)}\rbrace_{i=1}^m,y_i \in {\lbrace{0,1}\rbrace} D={ (xi,yi)}i=1m,yi{ 0,1},令 X i 、 μ i 、 Σ i X_i、\mu_i、\Sigma_i XiμiΣi分别表示第 i ∈ { 0 , 1 } i \in {\lbrace{0,1}\rbrace} i{ 0,1}类示例的集合、均值向量、协方差矩阵。
    • 若将数据投影到直线 w w w上,则两类样本的中心在直线上的投影分别为 w T Σ 0 w w^T\Sigma_0w wTΣ0w w T Σ 1 w . w^T\Sigma_1w. wTΣ1w.
    • 由于直线是一维空间,因此 w T μ 0 、 w T μ 1 、 w T Σ 0 w 和 w T Σ 1 w w^T\mu_0、w^T\mu_1、w^T\Sigma_0w和w^T\Sigma_1w wTμ0wTμ1wTΣ0wwTΣ1w均为实数.
  • 想要使同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小,即 w T Σ 0 w + w T Σ 1 w w^T\Sigma_0w+w^T\Sigma_1w wTΣ0w+wTΣ1w尽可能小;
  • 想要使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大,即 ∣ ∣ 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 w + w T Σ 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\Sigma_0w+w^T\Sigma_1w}=\frac {w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0+\Sigma_1)w}.\space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space \space (\star) J=wTΣ0w+wTΣ1wwTμ0wTμ122=wT(Σ0+Σ1)wwT(μ0μ1)(μ0μ1)Tw.                   定义类内散度矩阵(within-class scatter matrix) S w = Σ 0 + Σ 1 = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 1 ) ( x − μ 1 ) T S_w=\Sigma_0+\Sigma_1=\sum_{x\in X_0}(x-\mu_0)(x-\mu_0)^T+\sum_{x\in X_1}(x-\mu_1)(x-\mu_1)^T Sw=Σ0+Σ1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T以及类间散度矩阵(between-class scatter matrix) S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T , S_b=(\mu_0-\mu_1)(\mu_0-\mu_1)^T, Sb=(μ0μ1)(μ0μ1)T,则( ⋆ \star )式可重写为 J = w T S b w w T S w w . ( ⋆ ⋆ ) J=\frac {w^TS_bw}{w^TS_ww}.(\star \star) J=wTSwwwTSbw.()这就是 L D A LDA LDA欲最大化的目标,即 S b S_b Sb S w S_w Sw广义瑞利商(generalized Rayleigh quotient).
  • 确定 w w w
    • 式( ⋆ ⋆ \star \star )的分子和分母都是关于 w w w的二次项,因此它的解与 w w w的长度无关,只与方向有关。不失一般性,令 w T S w w = 1 , w^TS_ww=1, wTSww=1,则式( ⋆ ⋆ \star \star )等价于 min ⁡ w − w T S b w , 当 w T S w w = 1 时 . ( ⋆ ⋆ ⋆ ) \min_w{-w^TS_bw},当w^TS_ww=1时.(\star \star \star) wminwTSbw,wTSww=1.
    • 对上式及约束条件构造拉格朗日函数: L ( w , λ ) = − w T S b w + λ ( w T S w w − 1 ) L(w,\lambda)=-w^TS_bw+\lambda(w^TS_ww-1) L(w,λ)=wTSbw+λ(wTSww1) w w w求偏导可得 ∂ L ( w , λ ) ∂ w = − ∂ ( w T S b w ) ∂ w + λ ∂ ( w T S w w − 1 ) ∂ w = − ( S b + S b T ) w + λ ( S w + S w T ) w \frac {\partial L(w,\lambda)}{\partial w}=-\frac {\partial (w^TS_bw)}{\partial w}+\lambda \frac {\partial(w^TS_ww-1)}{\partial w}=-(S_b+S_b^T)w+\lambda(S_w+S_w^T)w wL(w,λ)=w(wTSbw)+λw(wTSww1)=(Sb+SbT)w+λ(Sw+SwT)w由于 S b = S b T , S w = S w T S_b=S_b^T,S_w=S_w^T Sb=SbT,Sw=SwT,所以 ∂ L ( w , λ ) ∂ w = − 2 S b w + 2 λ S w w \frac {\partial L(w,\lambda)}{\partial w}=-2S_bw+2\lambda S_ww wL(w,λ)=2Sbw+2λSww令上式等于0即可得 − 2 S b w + 2 λ S w w = 0 , -2S_bw+2\lambda S_ww=0, 2Sbw+2λSww=0, S b w = λ S w w . S_bw=\lambda S_ww. Sbw=λSww.由于我们求解的只有 w w w,所以 λ \lambda λ的值可以被任意设定,我们注意到 S b w = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w S_bw=(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw Sbw=(μ0μ1)(μ0μ1)Tw如果令 w w w恒等于 ( μ 0 − μ 1 ) T w (\mu_0-\mu_1)^Tw (μ0μ1)Tw,那么上式即可改写为 S b w = λ ( μ 0 − μ 1 ) S_bw=\lambda(\mu_0-\mu_1) Sbw=λ(μ0μ1)将其代入 S b w = λ S w w S_bw=\lambda S_ww Sbw=λSww即可解得 w = S w − 1 ( μ 0 − μ 1 ) w=S_w^{-1}(\mu_0-\mu_1) w=Sw1(μ0μ1)
  • 考虑到数值解的稳定性,在实践中通常是对 S w S_w Sw进行奇异值分解,即 S w = U Σ V T S_w=U \Sigma V^T Sw=UΣVT,这里的 Σ \Sigma Σ是一个实对角矩阵,其对角线上的元素是 S w S_w Sw的奇异值,然后再由 S w − 1 = V Σ − 1 V T S_w^{-1}=V \Sigma^{-1}V^T Sw1=VΣ1VT得到 S w − 1 S_w^{-1} Sw1
  • L D A LDA LDA推广到多分类任务中:
    • 假定存在 N N N个类,且第 i i i类示例数为 m i m_i mi.
    • 我们先定义全局散度矩阵 S t = S b + S w = ∑ i = 1 m ( x i − μ ) ( x i − μ ) T , S_t=S_b+S_w=\sum_{i=1}^m(x_i-\mu)(x_i-\mu)^T, St=Sb+Sw=i=1m(xiμ)(xiμ)T,其中 μ \mu μ是所有示例的均值向量.
    • 将类内散度矩阵 S w S_w Sw重定义为每个类别的散度矩阵之和,即 S w = ∑ i = 1 N S w i , S_w=\sum_{i=1}^NS_{w_i}, Sw=i=1NSwi,其中 S w i = ∑ x ∈ X i ( x − μ i ) ( x − μ i ) T . S_{w_i}=\sum_{x \in X_i}(x-\mu_i)(x-\mu_i)^T. Swi=xXi(xμi)(xμi)T.
    • 综上三式得: S b = S t − S w = ∑ i = 1 N m i ( μ i − μ ) ( μ i − μ ) T S_b=S_t-S_w=\sum_{i=1}^Nm_i(\mu_i-\mu)(\mu_i-\mu)^T Sb=StSw=i=1Nmi(μiμ)(μiμ)T
    • 多分类 L D A LDA LDA可以有多种实现方法:使用 S b , S w , S t S_b,S_w,S_t Sb,Sw,St三者中的任何两个即可.
    • 常见的是采用优化目标 max ⁡ W t r ( W T S b W ) t r ( W T S w W ) , \max_W \frac {tr(W^TS_bW)}{tr(W^TS_wW)}, Wmaxtr(WTSwW)tr(WTSbW),其中 W ∈ R d × ( N − 1 ) W \in R^{d×(N-1)} WRd×(N1) t r ( ⋅ ) tr(\cdot) tr()表示矩阵的迹。
    • 上式通过如下广义特征值问题求解: S b W = λ S w W . S_bW=\lambda S_w W. SbW=λSwW. W W W的闭式解则是 S w − 1 S b S_w^{-1}S_b Sw1Sb N − 1 N-1 N1个最大广义特征值所对应的特征向量组成的矩阵.

多分类学习

  • 考虑 N N N个类别 C 1 , C 2 , ⋯   , C N C_1,C_2,\cdots,C_N C1,C2,,CN,多分类学习的基本思路是拆解法,即将多分类任务拆为若干个二分类任务求解。
  • 具体来说,先对问题进行拆分,然后为拆出的每个二分类任务训练一个分类器;在测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果。
  • 问题集中在如何拆分如何集成
  • 最经典的拆分策略有三种:
    给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } , y i ∈ { C 1 , C 2 , ⋯   , C N } . D=\lbrace{(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)}\rbrace,y_i \in \lbrace{C_1,C_2,\cdots,C_N}\rbrace. D={ (x1,y1),(x2,y2),,(xm,ym)},yi{ C1,C2,,CN}.
    • 一对一(One vs. One,OvO):
      N N N个类别两两配对,从而产生 N ( N − 1 ) / 2 N(N-1)/2 N(N1)/2个二分类任务。
    • 一对其余(One vs. Rest,OvR):
      每次将一个类的样例作为正例、所有其他类的样例作为反例来训练 N N N个分类器。
    • 多对多(Many vs. Many,MvM):
      每次将若干个类作为正类,若干个其他类作为反类。

类别不平衡问题

  • 类别不平衡(class-imbalance)就是指分类任务中不同类别的训练样例数目差别很大的情况。
  • 再缩放(rescaling)策略:
    • 直接对训练集里的反类样例进行欠采样(undersampling):
      去除一些反例使得正、反例数目接近,然后再进行学习。
    • 对训练集里的正类样例进行过采样(oversampling):
      增加一些正例使得正、反例数目接近,然后再进行学习。
    • 直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将 y ′ 1 − y ′ = y 1 − y × m − m + \frac {y'}{1-y'}=\frac {y}{1-y}×\frac {m^-}{m^+} 1yy=1yy×m+m嵌入到其决策过程中,称为阈值移动(threshold-moving)。其中, m + m^+ m+是正例的数目, m − m^- m是反例数目, m + m − \frac {m^+}{m^-} mm+是观测几率,若 y 1 − y > m + m − \frac {y}{1-y}>\frac {m^+}{m^-} 1yy>mm+则预测为正例。

你可能感兴趣的:(《西瓜书》学习笔记,机器学习)