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

目录

 

3 线性模型

3.1 基本形式

3.2 线性回归

3.3 对数几率回归

3.4 线性判别分析

3.5 多分类学习

3.6 类别不平衡问题

课后习题


3 线性模型

3.1 基本形式

  • 线性模型:试图学得一个通过属性的线性组合来进行预测的函数,即

用向量形式写成

非线性模型可以由线性模型转化而成。

3.2 线性回归

误差平方和

所谓线性回归,就是已知数据集学成一个线性模型,使得误差平方和最小。

具体的做法很简单,就是分别求Ew,b关于w和b的偏导并使其为0.

令上面的两个式子为0,解得:

下面我们讨论矩阵形式:
我们把w和b写成向量形式^w=(w,b),把数据集D表示成m(d+1)的矩阵X*。每一行对应一个示例,改行前d个元素表示d个属性值,最后一个为1:

把标记写成向量形式:y=(y1;y2;...;ym)

误差平方和的矩阵形式

 

解得,

考虑单调可微函数g(x),令y=g-1(wTx+b)。这样的模型称为广义线性模型

3.3 对数几率回归

上一节的线性模型用于回归学习,分类学习就需要有新的方法。
考虑二分类任务,输出标记y在0和1之间,我们将z=wTx+b转成0/1值,最理想的是单位阶跃函数

单位阶跃函数

但是单位阶跃函数不连续,不好算,所以我们用逻辑回归函数来代替,逻辑回归函数是一种Sigmoid函数。

逻辑回归函数

若将y视为样本x作为正例的可能性,则1-y是反例的可能性,二者比例y/1-y称为几率,其对数ln(y/1-y)称为对数几率
我们可以用极大似然法来估计w和b。
我个人认为教材上写的有点难以理解,我找了一些博客:

3.4 线性判别分析

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

则可得到最大化目标


类内散度矩阵

类间散度矩阵

则J可以表示为:

J也被称为Sb和Sw的“广义瑞利商”

由于J的分子和分母都是关于w的二次项,因此解与w的长度无关,仅与其方向有关 。令wTSww=1,则原问题等价于求w使得-wTSbw最小。由拉格朗日乘数法,等价于:


注意到Sbμ0-μ1同向,则代入得

 

实际上可以对Sw进行奇异值分解,详见教材。

LDA可以推广到多任务之中,详见教材。

3.5 多分类学习

经典的拆分策略有三种:

一对一策略:举个例子,现在有A、B、C、D四个种类,要确定某个样本属于四类中的哪一类。那么我们可以事先训练好六个二分类的分类器——A/B、A/C、A/D、B/C、B/D、C/D。然后把要确定类别的样本分别放入这六个分类器。假设分类结果分别是A、A、A、B、D、C。可以知道六个分类器中有三个认为这个样本术语A,认为是B、C、D的各有一个。所以我们可以认为这个样本就是术语A类的。

一对多策略:举个例子,现在有A、B、C、D四个种类,要确定某个样本属于四类中的哪一类。那么我们可以事先训练好四个二分类的分类器——A/BCD、B/ACD、C/ABD、D/ABC,分类器输出的是一个函数值。然后把要确定类别的样本分别放入这四个分类器。假设四个分类器的结果分别是“属于A的概率是0.9”,“属于B的概率是0.8”、“属于C的概率是0.7”、“属于B的概率是0.6”。那我们可以认为这个样本是属于A。

多对多策略:每次将若干个类作为正类,若干个其他类作为反类。其中需要这种策略需要特殊的设计,不能随意取。常用的技术:纠错输出码。工作步骤分为:

 

  • 编码:对N个类别做M次划分,每次划分将一部分类别化为正类,另一部分分为反类,产生M个训练集——M个分类器。
  • 解码:M个分类器分别预测,这些预测标记组成一个编码,将其与每个类别的编码比较,区别最小的就是最终结果。
  •  

3.6 类别不平衡问题

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

从线性分类器的角度来说,若

3.46

则预测为正例。
然而,正反例数目不同时,观测几率m+/m-,由于我们假设无偏采样,则观测几率就代表真实几率,于是若

3.47

则预测为正例。
但是原来的分类器基于3.46进行决策,所以需要再缩放操作。

3.48 再缩放操作

但是我们很难保证“训练集是真实样本总体的无偏采样”。现有技术有3种做法:

  1. “欠采样”:直接去除一些反例。
  2. “过采样”:增加一些正例。
  3. 阈值移动:不增不减,但是预测时采取式(3.48)。

课后习题

3.1 线性模型y=w^{t}+b两个实例相减得到y_{i}-y_{0}=w^{t}(x_{i}-x_{0}),以此消除了b。所以可以对训练集每个样本都减去第一个样本,然后对新的样本做线性回归,只需要用模型y=w^{t}x

3.6 在当前维度线性不可分,可以使用适当的映射方法,使其在更高一维上可分,典型的方法有KLDA,可以很好的划分数据。

令码长为9,类别数为4,试给出海明距离意义下理论最优的EOOC二元码并证明之。
对于ECOC二元码,当码长为2n时,至少可以使2n个类别达到最优间隔,他们的海明距离为2(n−1)。比如长度为8时,可以的序列为

1    1    1    1    -1    -1    -1    -1
1    1    -1    -1    1    1    -1    -1
1    -1    1    -1    1    -1    1    -1
-1    -1    -1    -1    1    1    1    1
-1    -1    1    1    -1    -1    1    1
-1    1    -1    1    -1    1    -1    1
其中4,5,6行是对1,2,3行的取反。若分类数为4,一共可能的分类器共有24−2种(排除了全1和全0),在码长为88的最优分类器后添加一列没有出现过的分类器,就是码长为99的最优分类器。
 

 

参考文献
链接:https://www.jianshu.com/p/055a546b55df

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值