机器学习西瓜书(周志华)第三章 线性模型 (LR 对数几率函数\LDA\类别不平衡)

本文深入探讨了线性模型,包括线性回归、对数几率回归(Logistic Regression)和线性判别分析(LDA)。重点讲解了对数几率回归的逻辑函数、极大似然求解方法以及多分类问题。此外,还讨论了类别不平衡问题的定义和解决策略,如调整分类阈值。最后提到了sklearn中线性模型的参数含义。
摘要由CSDN通过智能技术生成

1. 线性回归

1.1 基本形式:

在这里插入图片描述
许多功能更为强大的非线性模型可通过在线性模型的基础上通过引入层级结构或者高维映射得到。

若将无序属性连续化,则会不恰当的引入序关系,对于后续处理如距离计算等造成误导。
均方误差又称为平方损失

手动推导
在这里插入图片描述
现实任务中 XTX 往往不是满秩矩阵,在许多任务中属性的数目甚至会超过样例数,从而导致 X 的列数多于行数,此时会有多个解ωˆ 使得均方误差最小化,具体选择哪一个解作为输出将由学习算法的归纳偏好设定,常见的做法是引入正则化项。

1.2 对数线性回归

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 对数几率回归(logistic regression)

2.1 对数几率函数(logistic function)

在这里插入图片描述
对数几率函数(Sigmoid函数)在一定程度上近似单位阶跃函数的替代函数,并且单调连续可微,形式:
y = 1 1 + e − z y = \dfrac{1}{1+e^{- z}} y=1+ez1

2.2 用极大似然求解

极大似然法:样本都是独立同分布的,通过若干次试验,利用试验结果得到某个参数值能够使样本出现的概率最大。
在这里插入图片描述
上式是关于 β \beta β的高阶可导连续凸函数(函数二阶导非负),经典的数值优化算法如梯度下降法、牛顿法等都可求得其最优解

2.3 LR的多分类问题

二分类问题

3. 线性判别分析

线性判别分析LDA(Linear Discriminant Analysis) LDA在模式识别领域(如人脸识别、航舰识别等图像识别领域)中有非常广泛的应用。
在学习LDA之前,有必要将自然语言处理领域中的LDA做出区分,在自然语言处理领域, LDA是隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),他是一种处理文档的主题模型。我们本文只讨论线性判别分析,因此后面所有的LDA均指线性判别分析。
LDA是一种监督学习的降维技术,也就是说他的数据集的每个样本是有类别的输出,这一点与PCA不同,PCA是不考虑样本类别输出的无监督降维技术。LDA思想的的概括:“投影后类内方差最小,类间方差最大”。我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。

可能还是有点抽象,我们先看看最简单的情况。假设我们有两类数据 分别为红色和蓝色,如下图所示,这些数据特征是二维的,我们希望将这些数据投影到一维的一条直线,让每一种类别数据的投影点尽可能的接近,而红色和蓝色数据中心之间的距离尽可能的大。

在这里插入图片描述

上图中提供了两种投影方式,哪一种能更好的满足我们的标准呢?从直观上可以看出,右图要比左图的投影效果好,因为右图的红色数据和蓝色数据各个较为集中,且类别之间的距离明显。左图则在边界处数据混杂。以上就是LDA的主要思想了,当然在实际应用中,我们的数据是多个类别的,我们的原始数据一般也是超过二维的,投影后的也一般不是直线,而是一个低维的超平面。
在这里插入图片描述

1)LDA原理
[https://www.cnblogs.com/pinard/p/6244265.html]
[https://www.cnblogs.com/liuyc/p/6151892.html]

在这里插入图片描述
线性判别分析——多分类任务
在这里插入图片描述
一种有监督的降维技术,但是目前用的比较少了。

2)LDA算法流程

在这里插入图片描述

以上就是使用LDA进行降维的算法流程。实际上LDA除了可以用于降维以外,还可以用于分类。一个常见的LDA分类基本思想是假设各个类别的样本数据符合高斯分布,这样利用LDA进行投影后,可以利用极大似然估计计算各个类别投影数据的均值和方差,进而得到该类别高斯分布的概率密度函数。当一个新的样本到来后,我们可以将它投影,然后将投影后的样本特征分别带入各个类别的高斯分布概率密度函数,计算它属于这个类别的概率,最大的概率对应的类别即为预测类别。

4. 多分类学习

4.1 利用二分类学习器解决多分类问题

多分类的基本思路:“拆解法”,即将多分类任务拆分成若干个二分类任务求解。
具体操作:(1)先对问题进行拆分;(2)为每个拆分的二分类问题训练一个分类器;(3)测试时,对这些分类的预测结果进行集成已获得最终的分类结果。**关键点在于:如何对多分类问题进行拆分,以及如何对多个分类器进行集成。

4.2 最经典的拆分策略(OvO,OvR,MvM)

(1)一对一(One vs. One),数据集一共有N个类别,按照一对一拆分得到(N-1)*N/2种可能,即一共得到(N-1)*N/2个分类器,在测试阶段将新样本放入各个分类器中,最终结果通过投票产生,被预测最多的类型作为最终的分类结果。
在这里插入图片描述
(2)一对剩余(One vs. Rest):数据集一共有N个类别,挑选一类为正类,其他剩余的样本为反类,一共得到N个分类器,在测试时若仅有一个分类器预测为正类,则对应的类标记为最终分类结果,若有多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大的类别标记作为分类结果。
在这里插入图片描述
图片参考:[https://blog.csdn.net/qq_22238533/article/details/77774223]

OvO和OvR的优缺点:

  • OvO有(N-1)*N/2个分类器,OvR有N个分类器,因此存储开销和测试时间开销OvO比较大。
  • OvO每个分类器只用了两个类别的样例,而OvR每个分类器都用了全部的样例,因此在类别较多的情况下,OvO的训练时间较短。
  • 对于测试性能,这取决于具体的数据分布,在多数情形下两者差不多。

(3)多对多(Many vs. Many)
MvM是每次将若干个类作为正类,若干个其他类作为反类。显然,OvO和OvR是MvM的特例。MvM的正、反类构造必须有特殊的设计,不能随意选取。这里我们介绍一种最常用的MvM技术纠错输出码 (Error CorrectingOutputCodes,简称 ECOC)
ECOC是将编码的思想引入类别拆分,并尽可能在解码过程中具有容错性。ECOC工作过程主要分为两步:

  • 编码:对N个类别做M次划分,每次划分将一部分类别划为正类,一部分划为反类,从而形成一个二分类训练集。这样一共产生M个训练集,可训练出M个分类器。
  • 解码:M 个分类器分别对测试样本进行预测,这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。

类别划分通过"编码矩阵"指定。编码矩阵有多种形式,常见的主要有二元码和三元码。前者将每个类别分别指定为正类和反类,后者在正、反类之外,还可指定"停用类"。图3.5给出了一个示意图,在图 3.5(a) 中,分类器f2将Cl类和C3类的样例作为正例,C2类和C4类的样例作为反例;在图3.5(b)中,分类器f4将C1类和C4类的样例作为正例,C3 类的样例作为反例。在解码阶段,各分类器的预测结果联合起来形成了测试示例的编码,该编码与各类所对应的编码进行比较,将距离最小的编码所对应的类别作为预测结果。例如在图 3.5(a) 中,若基于欧民距离,预测结果将是 C3。

在这里插入图片描述
海明距离:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值