第三章 线性模型

来源:互联网 发布:拳皇14出招优化补丁 编辑:程序博客网 时间:2024/05/22 08:23

  • 第三章 线性模型
    • 基本形式
    • 线性回归
    • 对数几率回归
    • 线性判别分析
    • 多分类学习

第三章 线性模型

基本形式

线性模型(linear mode)试图学得一个通过属性的线性组合来进行预测的函数:

f(x⃗ )=ω1x1+ω2x2+...+ωdxd+b

向量形式
f(x⃗ )=ω⃗ Tx⃗ +b

其中ω⃗ =(ω1;ω2;...;ωd)x⃗ (x1;x2;...;xd)为由d个属性描述的示例,xix⃗ 在第i个属性上的取值。
线性模型形式简单,有丰富的变化,易于建模,并且有很好的可解释性(comprehensibility)

线性回归

对于给定数据集D=(x1,y1),(x2,y2),..,(xm,ym)“线性回归”(linear regression)试图学得一个线性模型以尽可能准确预测实值输出标记即f(xi)=ωTxi+b,使得f(xi)yi,这称为“多元线性回归”(multivariate linear regression)。

  • 关于离散属性
    若属性值间存在“序”(order)关系,可通过连续化将其转化为连续值;若属性值间不存在序关系,则通常转化为k维向量(k为属性值个数)
  • 确定ω和b
    利用“最小二乘法”使均方误差最小化来进行模型求解。
  • 线性回归模型(矩阵XTX满秩)
    f(x^i)=x^Ti(XTX)1XTy⃗ )

    其中矩阵X表示数据集D,大小为m×(d+1):
    这里写图片描述
    向量y⃗ =(y1;y2;...;ym)表示标记。
  • 对数线性回归
    lny=ωTx+b

    这里写图片描述
  • 广义线性模型
    y=g1(ωTx+b)

    其中函数g(・)称为“联系函数”(link function)

对数几率回归

对于二分类任务,其输出标记y {0,1},需要将实值z=ωTx+b转换为0/1值。

  • 单位阶跃函数(unit-step function)
    y=0,0.5,1,z < 0;z = 0;z > 0,
  • 对数几率函数(logistic function)
    y=11+ez

    对数几率函数是一种“Sigmoid函数”,它将z值转化为一个接近0或1的y值,并且在z = 0附近变化很陡。将其带入广义线性模型得y=11+eωTx+b,将其转化为对数形式:lny1y=ωTx+b
    将y视为样本x作为正例的相对可能性,所以称y1y为“几率”(odds),反映x作为正例的相对可能性。对几率取对数则得到“对数几率”(log odds,或logit)。
    这里写图片描述

线性判别分析

线性判别分析(linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法。

  • LDA思想
    给定训练样例集,设法将样例投影到一条直线上,使同类样例的投影点尽可能接近,异类样例的投影点尽可能远离,通过新样例在直线上的投影点的位置来确定新样本的类别。
    这里写图片描述
  • 类内散度矩阵(within-class scatter maxtrix)
    Sω=0+1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T
  • 类间散度矩阵(between-class scatter matrix)
    Sb=(μ0μ1)(μ0μ1)T
  • 广义瑞利商
    J=ωTSbωωTSωω

    这就是LDA欲最大化的目标

多分类学习

对于多分类问题,基本策略是利用二分类学习器来解决多分类问题。

  • 拆解法

    将多分类任务拆分为若干个二分类任务求解,最经典的拆分策略有三种:
    给定数据集D={(x1,y1),(x2,y2),...,(xm,ym)},yi{C1,C2,...,CN}。

    • “一对一”(One vs. One,简称OvO)
      OvO将这N个类别两两配对,为区分类别CiCj训练一个分类器。在测试阶段,新样本同时提供给所有分类 器,将被预测得最多的类别作为最终分类结果。
    • “一对其余”(One vs. Rest,简称OvR)
      OvR每次将一个类的样例作为正例,所有其他类的样例作为反例来训练N个分类器。测试时若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果;若有多个,则选择置信度最大的类别标记作为分类结果。
      这里写图片描述
    • “多对多”(Many vs. Many,简称MvM)
      MvM每次将若干个类作为正类,若干个其他类作为反类。MvM的正,反类构造必须有特殊的设计,不能随意选取。最常用的MvM技术:“纠错输出码”(Error Correcting Output Codes,简称ECOC)

  • ECOC
    ECOC编码对分类器的错误有一定的容忍和修正能力。一般对同一个学习任务,ECOC编码越长,纠错能力越强。对同等长度的编码,理论上任意两个类之间的编码距离越远,则纠错能力越强。
  • ECOC工作过程
    • 编码:
      对N个类别做M次划分,类别划分通过“编码矩阵”指定,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集;这样产生M个训练集,训练出M个分类器。
    • 解码:
      M个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。
  • 编码矩阵(coding matrix)

    • 二元码
      将每个类别分别指定正类和反类
    • 三元码
      除了正,反类之外,还可指定“停用类”

    这里写图片描述

原创粉丝点击