机器学习入门-西瓜书总结笔记第三章


一、基本形式

后续还要进行精简

  • “线性模型”(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+...+w_dx_d+b, f(x)=w1x1+w2x2+...+wdxd+b,
    向量形式
    f ( x ) = w T x + b f(\pmb x) = \pmb {w^Tx}+b f(xxx)=wTxwTxwTx+b
    其中 w = ( w 1 ; w 2 ; . . . ; w b ) \pmb w =(w_1;w_2;...;w_b) www=(w1;w2;...;wb) w \pmb w www b b b学得后模型就确定了。
  • 许多功能更强大的 “非线性模型(nonlinear model)” 可在线性模型的基础上通过引入层次结构或高维映射而得
  • 可解释性(comprehensibility)

二、线性回归

  • “线性回归”(linear regression)

  • 对离散属性,若属性值间存在 “序”(order) 关系,可通过连续化将其转换为连续值,例如“高”“矮”可转化为 { 1.0 , 0.0 } \{1.0,0.0\} {1.0,0.0},“高”“中”“低”可转为 { 1.0 , 0.5 , 0.0 } \{1.0,0.5,0.0\} {1.0,0.5,0.0}

  • 若属性值不存在序关系,假定有k个属性值,则通常转化为k维向量,“西瓜”“南瓜”“黄瓜”可转化为 ( 0 , 0 , 1 ) ( 0 , 1 , 0 ) ( 1 , 0 , 0 ) (0,0,1)(0,1,0)(1,0,0) (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和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 \begin{aligned} (w^*, b^*)&=\underset {w,b}{\operatorname {arg\, min}}\sum_{i=1}^m(f(x_i)-y_i)^2\\ &=\underset {w,b}{\operatorname {arg\, min}}\sum_{i=1}^m(y_i-wx_i-b)^2 \end{aligned} (w,b)=w,bargmini=1m(f(xi)yi)2=w,bargmini=1m(yiwxib)2

  • 均方误差对应了常用的欧几里得距离或简称 “欧式距离”(Euclideam distance)

  • 基于均方误差最小化来进行模型求解的方法成为 “最小二乘法”(least square method) 在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小
    -最小二乘“参数估计”(parameter estimation) 求解w和b使 E ( w , b ) = ∑ i = 1 m ( y i − w i − b ) 2 E_{(w,b)}=\sum_{i=1}^m(y_i-w_i-b)^2 E(w,b)=i=1m(yiwib)2最小化的过程
    ∂ E ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) , ∂ E ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) , \frac{\partial E_{(w,b)}}{\partial w}=2(w\sum_{i=1}^mx_i^2-\sum_{i=1}^m(y_i-b)x_i),\\ \frac{\partial E_{(w,b)}}{\partial b}=2(mb-\sum_{i=1}^m(y_i-wx_i)), wE(w,b)=2(wi=1mxi2i=1m(yib)xi),bE(w,b)=2(mbi=1m(yiwxi)),
    令两个偏导为0,可求得w和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 b = 1 m ∑ i = 1 m ( y i − w x i ) w=\frac{\sum_{i=1}^my_i(x_i-\overline x)}{\sum_{i=1}^mx_i^2-\frac{1}{m}(\sum_{i=1}^mx_i)^2}\\ b=\frac{1}{m}\sum_{i=1}^m(y_i-wx_i) w=i=1mxi2m1(i=1mxi)2i=1myi(xix)b=m1i=1m(yiwxi)
    其中 x ‾ = 1 m ∑ i = 1 m ( y i − w x i ) \overline x = \frac{1}{m}\sum_{i=1}{m}(y_i-wx_i) x=m1i=1m(yiwxi)

  • “多元线性回归”(multivariate linear regression) w ^ = ( w ; b ) \pmb{\hat w}=(\pmb{w};b) w^w^w^=(www;b),相应的把数据集D表示为一个 m × ( d + 1 ) m\times(d+1) m×(d+1)大小的矩阵 X \pmb X XXX
    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 ) \pmb X=\left ( \begin{matrix} 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{matrix}\right )= \left ( \begin{matrix} \pmb{x_1^T}&1\\ \pmb{x_2^T}&1\\ \vdots& \vdots\\ \pmb{x_m^T}&1\\ \end{matrix} \right ) XXX=x11x21xm1x12x22xm2x1dx2dxmd111=x1Tx1Tx1Tx2Tx2Tx2TxmTxmTxmT111
    把标记也写成向量形式 y = ( y 1 ; y 2 ; ⋯   ; y m ) \pmb y=(y_1;y_2;\cdots;y_m) yyy=(y1;y2;;ym)
    w ^ ∗ = arg min ⁡ w ^ ( y − X w ^ ) T ( y − X w ^ ) \pmb{\hat w^*}=\underset {{\hat w}}{\operatorname {arg\, min}}(\pmb y-\pmb{X\hat w})^T(\pmb y-\pmb{X\hat w}) w^w^w^=w^argmin(yyyXw^Xw^Xw^)T(yyyXw^Xw^Xw^)
    与一维同理,当 X T X \pmb {X^TX} XTXXTXXTX满秩矩阵(full-rank matrix)或正定矩阵(positive definite matrix) ,可求得
    w ^ ∗ = ( X T X ) − 1 X T y \pmb{\hat w^*}=(\pmb {X^TX})^{-1}\pmb {X^T y} w^w^w^=(XTXXTXXTX)1XTyXTyXTy
    则最终学得的多元线性回归模型为
    f ( x ^ i ) = x ^ i T ( X T X ) − 1 X T y f(\pmb {\hat x_i})=\pmb {\hat x_i^T}(\pmb {X^TX})^{-1}\pmb {X^T y} f(x^ix^ix^i)=x^iTx^iTx^iT(XTXXTXXTX)1XTyXTyXTy
    但现实中往往遇到大量变量, X T X \pmb {X^TX} XTXXTXXTX不是满秩矩阵,此时可以求出多个解,选择哪一个解由算法的偏好决定,常用的做法是引入 正则化(regularization)

  • 线性回归变型 “对数线性回归”(log-linear regression) l n y = w T x + b ln y = \pmb {w^Tx}+b lny=wTxwTxwTx+b,实际上是试图让 e w T x + b e^{{w^Tx}+b} ewTx+b逼近 y y y
    更一般地,考虑单调可微函数 g ( ⋅ ) g(\cdot) g(),令 y = g − 1 ( w T x + b ) , y=g^{-1}(\pmb{w^Tx}+b), y=g1(wTxwTxwTx+b),
    在这里插入图片描述

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

三、对数几率回归

线性回归处理分类问题

  • “单位阶跃函数”(unit-step function)
    y = { 0 , z < 0 ; 0.5 , z = 0 ; 1 , z > 0 ; y=\begin{cases} 0,\quad z<0;\\ 0.5,\quad z=0;\\ 1,\quad z>0; \end{cases} y=0,z<0;0.5,z=0;1,z>0;
    由于阶跃函数不连续,使用 对数几率函数(logistic function) 作为 “替代函数”(surrogate function)
    在这里插入图片描述
    对数几率函数是一种 ”Sigmoid“函数
    y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+ez1
    它将 z z z值转化为一个接近0或1的 y y y值,并且其输出值在 z = 0 z=0 z=0附近变化很陡
    y = 1 1 + e − ( w T x + b ) y=\frac{1}{1+e^{-({w^Tx}+b)}} y=1+e(wTx+b)1
    l n y 1 − y = w T x + b ln \frac{y}{1-y}=\pmb{w^Tx}+b ln1yy=wTxwTxwTx+b
    y视为样本x作为正例的可能性,则1-y作为反例可能性,两者比值 y 1 − y \frac{y}{1-y} 1yy称为 “几率”(odds),反映了 x x x作为正例的相对可能性。对几率取对数则得到 “对数几率”(log odds,亦称logit) l n y 1 − y ln\frac{y}{1-y} ln1yy

  • 实际上是在用线性回归模型的预测结果去逼近真实标记的对数几率
    如何确定w和b
    l n P ( y = 1 ∣ x ) P ( y = 0 ∣ x ) = w T x + b ln\frac{P(y=1|\pmb x)}{P(y=0|\pmb x)}=\pmb{w^Tx}+b lnP(y=0xxx)P(y=1xxx)=wTxwTxwTx+b
    显然有
    P ( y = 1 ∣ x ) = e w T x + b 1 + e w T x + b P ( y = 0 ∣ x ) = 1 1 + e w T x + b P(y=1|\pmb x)=\frac{e^{{w^Tx}+b}}{1+e^{{w^Tx}+b}}\\ P(y=0|\pmb x)=\frac{1}{1+e^{{w^Tx}+b}} P(y=1xxx)=1+ewTx+bewTx+bP(y=0xxx)=1+ewTx+b1
    可通过 “极大似然估计法”(maximum likelihood method) 来估计w和b。
    “对数似然”(log-likelihood)
    ℓ ( w , b ) = ∑ i = 1 m l n p ( y i ∣ x i ; w , b ) \ell(\pmb w,b)=\sum_{i=1}^m ln p(y_i|x_i;w,b) (www,b)=i=1mlnp(yixi;w,b)
    即令每个样本属于其真实标记的概率越大越好
    ℓ ( β ) = ∑ i = 1 m ( − y i β T x ^ i + l n ( 1 + e β T x ^ i ) ) \ell(\pmb \beta)=\sum_{i=1}^m (-y_i \pmb {\beta^T\hat x_i}+ln(1+e^{{\beta^T\hat x_i}})) (βββ)=i=1m(yiβTx^iβTx^iβTx^i+ln(1+eβTx^i))
    是关于 β \pmb \beta βββ的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如 梯度下降法(gradient descent method)牛顿法(Newton method) 等都可以求得最优解
    β ∗ = arg min ⁡ β ℓ ( β ) \pmb \beta^* = \underset {\beta}{\operatorname {arg\, min}}\ell(\pmb \beta) βββ=βargmin(βββ)

四、线性判别分析LDA

  • 线性判别分析(Linear Discriminant Analysis,简称LDA),亦称 “Fisher判别分析”

  • LDA思想非常朴素:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;对新样本进行分类时,将其投影到同样这条直线上,再根据投影点的位置确定新样本的类别。
    在这里插入图片描述给定数据集 D = ( x i , y i ) i = 1 m , y i ∈ { 0 , 1 } D={(x_i,y_i)}_{i=1}^m,y_i\in\{0,1\} D=(xi,yi)i=1myi{0,1},令 X i \pmb{X_i} XiXiXi μ i \pmb{\mu_i} μiμiμi Σ i \pmb{\Sigma_i} ΣiΣiΣi分别表示第 i ∈ { 0 , 1 } i\in\{0,1\} i{0,1}类示例的集合、均值向量、协方差矩阵
    欲最大化目标
    J = ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ w T Σ 0 w + w T Σ 1 w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( Σ 0 + Σ 1 ) w \begin{aligned} J&=\frac{\left || \pmb{w^T\mu_0}-\pmb{w^T\mu_1}\right||}{{w^T\Sigma_0w}+{w^T\Sigma_1w}}\\ &=\frac{\pmb{w^T}(\pmb \mu_0 - \pmb \mu1)(\pmb \mu_0 - \pmb \mu1)^T\pmb w}{\pmb w^T(\pmb \Sigma_0+\pmb \Sigma_1)\pmb w} \end{aligned} J=wTΣ0w+wTΣ1wwTμ0wTμ0wTμ0wTμ1wTμ1wTμ1=wwwT(ΣΣΣ0+ΣΣΣ1)wwwwTwTwT(μμμ0μμμ1)(μμμ0μμμ1)Twww
    定义 “类内散度矩阵”(within-class scatter matrix)
    S w = Σ 0 + Σ 1 = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 1 ) ( x − μ 1 ) T \begin{aligned} \pmb S_w &= \pmb \Sigma_0 + \pmb \Sigma_1\\ &=\sum_{x\in X_0}(\pmb x-\pmb \mu_0)(\pmb x-\pmb \mu_0)^T + \sum_{x\in X_1}(\pmb x-\pmb \mu_1)(\pmb x-\pmb \mu_1)^T \end{aligned} SSSw=ΣΣΣ0+ΣΣΣ1=xX0(xxxμμμ0)(xxxμμμ0)T+xX1(xxxμμμ1)(xxxμμμ1)T
    以及 “类间散度矩阵”(between-class scatter matrix)
    S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T \pmb S_b = (\pmb \mu_0-\pmb \mu_1)(\pmb \mu_0-\pmb \mu_1)^T SSSb=(μμμ0μμμ1)(μμμ0μμμ1)T
    则最大化目标可重写为
    J = w T S b w w T S w w J=\frac{\pmb w^T\pmb S_b \pmb w}{\pmb w^T\pmb S_w \pmb w} J=wwwTSSSwwwwwwwTSSSbwww
    这就是LDA欲最大化的目标,即 S b \pmb S_b SSSb S w \pmb S_w SSSw“广义瑞利商”(generalized Rayleigh quotient)

  • 如何确定 w \pmb w www? 式中分子分母都是关于 w \pmb w www的二次项,因此式的解与 w \pmb w www的长度无关,只与其方向性有关,不失一般性,令 w T S w w = 1 \pmb w^T\pmb S_w \pmb w = 1 wwwTSSSwwww=1,则式等价于
    min ⁡ w − w T S b w s . t . w T S w w = 1 \underset {w}{\operatorname { min}} \quad-\pmb w^T\pmb S_b\pmb w\\ s.t. \quad \pmb w^T\pmb S_w \pmb w = 1 wminwwwTSSSbwwws.t.wwwTSSSwwww=1
    可由拉格朗日乘子法求解
    S b w = λ S w w \pmb S_b \pmb w = \lambda \pmb S_w\pmb w SSSbwww=λSSSwwww
    其中 λ \lambda λ是拉格朗日乘子,注意到 S b w \pmb S_b \pmb w SSSbwww的方向恒为 μ 0 − μ 1 \pmb \mu_0-\pmb \mu_1 μμμ0μμμ1,则
    w = S w − 1 ( μ 0 − μ 1 ) \pmb w = \pmb S_w^{-1}(\pmb \mu_0-\pmb \mu_1) www=SSSw1(μμμ0μμμ1)
    推广到多分类

  • “全局散度矩阵”
    S t = S b + S w = ∑ i = 1 m ( x i − μ ) ( x i − μ ) T \begin{aligned} \pmb S_t &= \pmb S_b +\pmb S_w\\ &=\sum_{i=1}^m(\pmb x_i - \pmb \mu)(\pmb x_i - \pmb \mu)^T \end{aligned} SSSt=SSSb+SSSw=i=1m(xxxiμμμ)(xxxiμμμ)T
    类内散度矩阵
    S w = ∑ i = 1 N S w i \pmb S_w = \sum_{i=1}^N\pmb S_{w_i} SSSw=i=1NSSSwi
    其中
    S w i = ∑ x ∈ X i ( x − μ i ) ( x − μ i ) T \pmb S_{w_i}=\sum_{x \in X_i}(\pmb x-\pmb \mu_i)(\pmb x-\pmb \mu_i)^T SSSwi=xXi(xxxμμμi)(xxxμμμi)T
    S b = S t − S w = ∑ i = 1 N m i ( μ i − μ ) ( μ i − μ ) T \begin{aligned} \pmb S_b &= \pmb S_t -\pmb S_w\\ &=\sum_{i=1}^Nm_i(\pmb \mu_i - \pmb \mu)(\pmb \mu_i - \pmb \mu)^T \end{aligned} SSSb=SSStSSSw=i=1Nmi(μμμiμμμ)(μμμiμμμ)T
    常见的一种实现是采用优化目标
    max ⁡ W t r ( W T S b W ) t r ( W T S w W ) \underset {W}{\operatorname { max}}\frac{tr(\pmb W^T \pmb S_b \pmb W)}{tr(\pmb W^T \pmb S_w \pmb W)} Wmaxtr(WWWTSSSwWWW)tr(WWWTSSSbWWW)
    可通过广义特征值求解
    S b W = λ S w W \pmb S_b \pmb W = \lambda \pmb S_w \pmb W SSSbWWW=λSSSwWWW
    W \pmb W WWW的闭式解则是 S w − 1 S b \pmb S_w^{-1}\pmb S_b SSSw1SSSb的N-1个最大广义特征值所对应的特征向量组成的矩阵

  • LDA也常被视为一种经典的监督降维技术

五、多分类学习

  • 将多分类拆解成若干个二分类任务求解,最经典的拆分策略有三种:“一对一”(One vs. One,简称OvO)“一对其余”(One vs.Rest,简称OvR)“多对多”(Many vs. Many,简称MvM)
    在这里插入图片描述若OvR中,多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果。

  • OvO和OvR是MvM的特例,MvM的正、反类构造必须有特殊的设计,最常用的MvM技术:“纠错输出码”(Error 3 Output Codes,简称ECOC)
    ECOC工作过程主要分为两步:

  • 编码: 对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成二分类训练集;这样一共产生M个训练集,可训练出M个分类器,二元码 (正类和反类)和 三元码(正类,反类,停用类)

  • 解码: M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果
    在这里插入图片描述

  • ECOC编码越长,纠错能力越强。然而,编码越长,意味着所需训练的分类器越多

六、类别不平衡问题

  • 类别不平衡(class-imbalance)就是指分类任务中不同类别的训练样例数目差别很大的情况
  • “再缩放”(rescaling)
    y ′ 1 − y ′ = y 1 − y × m − m + \frac{y'}{1-y'}=\frac{y}{1-y}\times\frac{m^-}{m^+} 1yy=1yy×m+m

再缩放思想简单,但是是建立在“训练集是真实样本总体的无偏采样”,这个假设往往不成立。

  • 现有做法有三类:“欠采样”(undersampling),去除一些多余样例,使正、反例数目接近,然后再进行学习;“过采样”(oversampling) 增加一些数量少类型的样例,使正反样例数量接近,然后再进行学习;第三类,直接基于原始训练集进行学习,但在训练好的分类器进行预测时,将再缩放式嵌入到决策过程中,成为 “阈值移动”(threshold-moving)
  • 过采样的代表性算法 SMOTE,进行差值产生额外的正例
  • 欠采样的代表性算法 EasyEnsemble,利用集成学习机制,将反例划分为若干个集合供不同的学习器使用,这样对每个学习器来看都是进行了欠采样,但是全局来看却不会丢失重要信息
  • “再缩放”也是“代价敏感学习”(cost-sensitive learning)
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值