西瓜书学习笔记day3

线性模型

1、基本形式

线性模型试图学得一个通过数据集的各个属性的线性组合来进行预测的函数。
即:
在这里插入图片描述
在w与b得到确定后,模型就得以确定。

线性模型简单,但却蕴涵着一些机器学习的基本思想,许多强大的非线性模型可在线性模型的基础上通过引入层级结构或高位映射来获得。

与此同时,由于参数w是可以确定的,故线性模型具有很好的“可解释性”,可以直观表示各个属性在预测中的重要性。

2、线性回归

对于数据集:
在这里插入图片描述
我们可以使用线性回归,试图学习到一个模型:
在这里插入图片描述
对于w和b的确认,我们需要衡量y与f(x)的区别。
我们常使用“均方误差”作为回归任务中的性能度量。故我们需要找到合适的w与b来使得均方误差最小化。
在这里插入图片描述

均方误差对应了几何中的欧氏距离,基于均方误差进行模型求解的方法被称为“最小二乘法”

在线性回归中,最小二乘法就是找到一条直线,使所有样本到直线上的欧氏距离之和最小。

求解w和b的过程被称作线性回归模型的最小二乘“参数估计”,我们可以将E(w,b)分别对w和b求导,得到
在这里插入图片描述
然后使得导数为0,就可获得w与b的最优解,即为模型参数值。

当参数不止一个时,被称作多元线性回归,原理基本相同,我们试图学得:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
令上式为0可以获得最优解,但在具体的问题中,有时XTX往往不是满秩矩阵,有时变量数甚至会超过样例数,导致x的列数多余行数,此时就可解出多个满足均方误差最小化的w,具体选择哪一个解作为输出,则取决于机器学习算法的偏好,常见的做法是引入“正则化”。

除了上述的线性回归外,线性回归还有很多丰富的变化。
若我们认为被预测值y在指数尺度上进行变化,那我们可以将输出标记的对数作为线性模型逼近的目标:
在这里插入图片描述
在这里插入图片描述

类似这种方法得到的线性模型被称为广义线性模型,其中的函数g(.)被称为“联系函数”,对数线性回归就是g(.)=ln(.)时的特例。

3、对数几率回归

对于线性模型来讲,不但可以解决回归问题,也可以解决分类问题,我们可以寻找一个单调可微函数来将分类任务的真实标记y与线性回归的预测值联系起来。

对于二分类任务来说,我们把输出标记为y∈{0,1},而线性回归模型产生的预测值
在这里插入图片描述
是实值,于是我们需要将实值z转化为0/1值,最理想的方式是使用“单位阶跃函数”:
在这里插入图片描述
在这里插入图片描述
但是如图所示,单位阶跃函数并不连续,不能直接用做获取广义线性模型时的g(.),故我们需要一个近似单位阶跃函数的、单调可微的“替代函数”,我们常常使用“对数几率函数”作为替代函数:
在这里插入图片描述
若使用对数几率函数构建广义线性模型,则:
在这里插入图片描述
将y视为样本x是正例的可能性,1-y是其反例可能性,两者的比值y/1-y被称作“几率”。
对几率取对数得到的“对数几率”:
在这里插入图片描述
从本质上来讲,我们实质上是在使用线性回归模型的结果去逼近真实标记的对数几率,虽然名称中带着“回归”,但对数几率回归其实是一种分类方法,它有许多好处:
①直接对分类可能性进行建模,无需事先假设数据分布。
②不仅仅得到预测的类别,还可以给出近似概率估计。
③由于对数几率函数是任意阶可导的凸函数,有良好的数学特性,故可使用许多的数值优化算法来求取最优解。

下面我们来对上式子中的w和b进行求解:
若将y视为类后验概率估计:
在这里插入图片描述
则可变化为:
在这里插入图片描述
显然可以得出:
在这里插入图片描述
然后我们可以使用“极大似然法”来对w和b进行估计。
对于给定的数据集在这里插入图片描述

对数概率回归模型最大化“对数似然”为:
在这里插入图片描述
即使每个样本属于其真实标记的概率越大越好。
在这里插入图片描述
在这里插入图片描述

4、线性判别分析

是一种经典的线性学习方法,用于解决二分类问题,亦称“Fisher判别分析”(LDA)

基本思想:给定训练集样例,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远离,在对新样本进行分类时,将其投影到相同的直线上,根据位置来判断分类,如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、多分类学习

有些二分类学习方法可以直接推广到多分类,但是我们一般是基于某些策略来利用二分类学习器来解决多分类问题。

对于N个类别:C1,C2…,CN,多分类的基本思路为“拆解法”,首先对问题进行拆分,然后为每个二分类问题训练一个分类器,最后对这些分类器的结果进行集成来获得最终的多分类结果。

经典拆分策略:
①一对一(OvO):
对于N个类别进行两两配对,从而产生N(N-1)个二分类任务,最终被预测最多的类别就是最终的预测分类结果
②一对其余(OvR):
对于N个类别,每次将其中一个类别当作正例,其余类别当作反例,创建N个分类任务。若结果只有一个是正例,则该分类为最终分类,若有多个结果为正例,则选择置信度最大的那个类别。
③多对多(MvM)
每次将若干个类作为正类,若干个其他类作为反类,这种方法正反例的构造必须有特殊的设计,不能随意选取,这里介绍一个最常用的MvM技术:纠错输出码(ECOC)

首先进行编码:
对N个类别进行M次划分,每次划分都将一部分化为正类,一部分化为反类,这样可以训练出M个二分类分类器。
然后进行解码:
M个分类器分别对测试样本进行预测,这些预测标记组成一个编码,将这个预测编码雨每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果。

类别划分通过“编码矩阵”指定,常见的有二元码、三元码。
二元码:将每个类别指定为正类与反类。
三元码:除了正类与反类外,还可指定“停用类”,

在这里插入图片描述
如图所示,在预测后比较距离(这里可以使用欧氏距离或海明距离),距离最近的类就是预测结果。

“纠错输出码”对分类器的错误具有一定的纠正能力,假设在预测时某个分类器分类错误,仍然可能产生正确的分类结果。但是对同一个任务来说,编码越长,纠错能力越强,同时所需要训练的分类器也越多。除此之外,对于有限的类别数,可能的组合数目也是有限的,码长超过一定范围后就失去了意义。对于同等长度的编码,两个类别的编码距离越远,纠错能力就越强。

6、类别不平衡问题

前面几种分类学习方法都有一个共同的基本假设:不同类别的训练样例数目相当。但在实际训练过程中,有的任务不同类别的训练样例数目有时会差距很大,会对机器学习的过程造成干扰。

在使用线性分类器时,我们一般认为
在这里插入图片描述
然而,在训练集中正反例的数目不同时,这一方法显然不适用,故我们用m+代表样本中共的正例数目,m-代表样本中的反例数目,只要分类器的预测几率大于观测几率(m+/m-)就应当判断为正例。
故在真实决策过程中,我们会使用

来代替原本的
在这里插入图片描述
以上所说就是类别不平衡学习的一个基本策略“再缩放”。

但是这种方法也有一些缺陷,再缩放是基于“训练集是真是样本的无偏采样”这个假设来实现的,但是这个假设往往不成立。故现在技术方面大概有三种做法来解决这个问题。
①欠采样
在训练集中去除一些反例来使得正、反例数目接近,然后再进行学习。
②过采样
是对训练集里的正类样例进行“过采样”,通过增加一些正例的方式来使得正、反例数目接近,然后进行学习。
③阈值移动
直接基于原始的训练集进行学习,但在进行预测时把式子:

嵌入到决策过程中,相当于移动决策时的概率阈值。

除此之外,再缩放也是“代价敏感学习”的基础,在代价敏感学习中将m-/m+替换为cost+/cost-,就可以进行代价敏感学习(cost+为将正例分为反例的代价,cost-是将反例分为正例的代价)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值