【机器学习西瓜书】第三章 线性模型

【机器学习西瓜书】第三章 线性模型

文章目录

      • 【机器学习西瓜书】第三章 线性模型
        • 3.1 基本形式
        • 3.2 线性回归
        • 3.3 对数几率回归
        • 3.4 线性判别分析
        • 3.5 多分类学习
        • 3.6 类别不平衡问题

3.1 基本形式

给定由 d 个属性描述的示例 x = (x1;x2;…;xd) ,其中 xi 是 x 在第 i 个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b f(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{d}x_{d}+b f(x)=w1x1+w2x2+...+wdxd+b
一般用向量形式写成
f ( x ) = w T x + b f(x)=w^{T}x+b f(x)=wTx+b
非线性模型(nonlinear model)可在线性模型的基础上通过引入层级结构或高维映射而得。由于 w 直观表达了个属性在预测中的重要性,因此线性模型有很好的可解释性。

3.2 线性回归

给定数据集
D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) D={(x_{1},y_{1}),(x_{2},y_{2}),...,(x_{m},y_{m})} D=(x1,y1),(x2,y2),...,(xm,ym)

x i = ( x i 1 ; x i 2 ; . . . ; x i d ; ) x_{i}=(x_{i1};x_{i2};...;x_{id};) xi=(xi1;xi2;...;xid;)

y i ∈ R y_{i}\in \mathbb{R} yiR

线性回归识途学得一个线性模型来尽可能的准确预测实值输出标记。

对离散属性,若属性之间存在“序”的关系,可通过连续化将其转化为连续值。例如“高”和“矮”可以转化为{1.0,0.0},“高”、“中”、“低“可以转化为{1.0,0.5,0.0}。若属性之间不错在序关系,假定有 k 个属性值,则通常转化为 k 维向量。例如”西瓜“、”黄瓜“、”南瓜“可以转化为(0,0,1),(0,1,0),(1,0,0)。

线性回归试图学得
f ( x i ) = w x i + b f(x_{i})=wx_{i}+b f(xi)=wxi+b
使得
f ( x i ) ≃ y i f(x_{i})\simeq y_{i} f(xi)yi
均方误差最小化:可以求得 w 和 b,对应了”欧氏距离“,基于均方误差最小化来进行求解的方法称为”最小二乘法“——试图找到一条直线,使得所有样本到直线的欧氏距离之和最小。
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}(\sum_{i=1}^{m}x_{i})^{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)

对数线性回归:
l n y = w T x + b lny=w^{T}x+b lny=wTx+b
广义线性模型:
y = g − 1 ( w T x + b ) y=g^{-1}(w^{T}x+b) y=g1(wTx+b)

3.3 对数几率回归

对于二分类任务,最理想的是”单位阶跃函数“,但是其不连续,不能直接用于上文中的 g-(.),所以一般使用对数几率函数:
y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+ez1
将其作为 g-(.) 代入得:
y = 1 1 + e − ( w T x + b ) y=\frac{1}{1+e^{-(w^{T}x+b)}} y=1+e(wTx+b)1
即:

l n y 1 − y = w T x + b ln\frac{y}{1-y}=w^{T}x+b ln1yy=wTx+b
其对应的模型称为”对数几率回归“,是一种分类学习方法。这种方法有很多优点:

  • 直接对分类可能性进行建模,无需事先假设数据分布,避免了假设分布不准确带来的问题
  • 不是仅预测出类别,而是可得到近似概率预测,这对许多需要利用概率辅助决策的任务很有用
  • 对率函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都能直接用于求最优解

3.4 线性判别分析

线性判别分析(LDA),亦称 Fisher判别分析。

LDA 的思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能近,异类样例的投影点尽可能远;对新样本进行分类时,将其投影到这条线上,再根据投影点的位置来确定类别。

类内散度矩阵:
S w = ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 1 ) ( x − μ 1 ) T S_{w}=\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=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T
类间散度矩阵:
S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_{b}=(\mu _{0}-\mu _{1})(\mu _{0}-\mu _{1})^{T} Sb=(μ0μ1)(μ0μ1)T
欲最大化的目标:
J = w T S b w w T S w w J=\frac{w^{T}S_{b}w}{w^{T}S_{w}w} J=wTSwwwTSbw
即 Sb 与 Sw 的”广义瑞利商“。

3.5 多分类学习

基本思路:”拆解法“,将多分类任务拆解为若干个二分类任务求解。

经典拆分策略:

  • 一对一(OvO)
    • 将 N 个类别两两配对,从而产生 N(N-1)/2 个分类任务,最终结果可通过投票产生,把被预测的最多的作为分类结果。
  • 一对其余(OvR)
    • 每次将一个类作为正例,其他所有类作为反例来训练 N 个分类器。在测试时,若只有一个分类器预测为正类,则作为最终分类结果。若有多个分类器预测为正类,则通常考虑各分类器的预置置信度。
  • 多对多(MvM)
    • 每次将若干个类作为正类,若干个其他类作为反类。正反类的构造必须有特殊的设计,通常使用”纠错输出码“。
    • 纠错输出码(ECOC),将编码的思想引入类别拆分,并尽可能在解码过程中具有容错性。其工作过程分为两步:
      • 编码:对 N 个类别做 M 次划分,形成 M 个二分类训练集,训练出 M 个分类器。
      • 解码:M 个分类器分别对测试样本进行预测,这些预测标记组成一个编码,将这个预测编码与每个类各自的编码相比较,返回其中距离最小的类别作为最终结果。
      • 类别划分通过编码矩阵指定,常见的有二元码和三元码。前者将每个类别分别指定为正类和反类;后者在正反类之外,还可以指定“停用类”。
      • 任意两个类别之间的编码距离越短,则纠错能力越强。

3.6 类别不平衡问题

类别不平衡,指分类任务中不同类别的训练样例数目差别很大的情况。

再缩放策略:只要分类器的预测几率,高于观测几率,就应判断为正例,即
y 1 − y > m + m − \frac{y}{1-y}>\frac{m^{+}}{m^{-}} 1yy>mm+
则预测为正例。

常用三种做法:

  • 欠采样:去除一些反例,使得正反例数目接近。
  • 过采样:增加一些正例,使得正反例数目接近。
    于观测几率,就应判断为正例,即
    y 1 − y > m + m − \frac{y}{1-y}>\frac{m^{+}}{m^{-}} 1yy>mm+
    则预测为正例。

常用三种做法:

  • 欠采样:去除一些反例,使得正反例数目接近。
  • 过采样:增加一些正例,使得正反例数目接近。
  • 阈值移动:上文再缩放策略。

你可能感兴趣的:(周志华《机器学习》学习笔记)