《机器学习》读书笔记 5 第3章 线性模型

来源:互联网 发布:studded mac 编辑:程序博客网 时间:2024/04/29 01:24

一、基本形式

f(x) = w1x1+w2x2+…+wdxd+b

向量形式:f(x)= wTx+b


二、线性回归

线性回归试图学得一个线性模型以尽可能准确地预测实数输出标记。

对离散属性,若属性值间存在“序”关系,可通过连续化将其转为连续值。例如身高的高、矮可转化为1.0、0.0。高度的高、中、低可转化为1.0、0.5、0.0。

若不存在序关系,假定有k个属性值,则通常转化为k维向量,例如瓜类的西瓜、南瓜、黄瓜可转化为{0,0,1}、{0,1,0}、{1,0,0}

一元线性回归试图学得 f(xi) = wxi+b 使得 f(xi)≌yi。 确定w、b的关键在于衡量f(x)和y之间的差别,我们可以试图让均方误差最小化。均方误差有非常好的几何意义,它对应了欧式距离。基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。

一元线性回归的通过求导数,可以得出w、b最优解的闭式解。(见公式3.7、3.8)


多元线性回归(样本有多个属性描述)试图学得:f(xi) = wTxi+b使得 f(xi)≌yi。也可利用最小二乘法来对w和b进行估计。要用到矩阵运算。

广义线性模型:单调可微函数g(.) 令y = g-1(wTx+b)


三、对数几率回归

分类任务可以使用广义线性模型,只需要找到一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。

考虑二分类任务,其输出标记y属于{0,1},而线性回归模型产生的预测值是实数,将实数z转换为0/1值,最理想的是单位阶跃函数。z>0 y=1,z<0 y=0,z=0 y=0.5。

但单位阶跃函数不连续,不能作为g-1,单调可微的对数几率函数可作为替代函数。对数几率函数是一种“Sigmoid函数”。

对数几率回归(也被误翻译为  逻辑回归)实际是一种分类方法,它是直接对分类可能性进行建模,无需事先假设数据分布;它可以给出类别的近似概率;对数函数是任意阶可导的凸函数。

可通过极大似然法来估计w、b。即令每个样本属于其真实标记的概率越大越好。在求解的过程中,要用到梯度下降法、牛顿法。


四、线性判别分析

线性判别分析LDA,也称Fisher判别分析。

LDA的思想:给定训练样例集,设法将样例投影投影到一条直线,使得同类样例的投影点尽可能近,异类样例的投影点尽可能远。

对新样本分类时,也投影到同一直线,根据投影点位置判断类别。

数学建模:想要同类投影点尽可能近,可以使同类投影点的协方差尽可能小。想要异类样例的投影点尽可能远,可以让类中心点的间距离尽可能大。

   LDA要最大化的目标,就是类内散度矩阵、类间散度矩阵的广义瑞利商。其求解过程中,要用到拉格朗日乘子、奇异值分解等。

LDA可从贝叶斯决策理论解释,可以证明当两类数据同先验,满足高斯分布且协方差相等时,LDA可达到最优分类。

可以将LDA推广到多分类任务中。

多分类LDA,可通过投影来减小样本点的维数,且投影过程中使用了类别信息,因此LDA也可作为一种监督降维技术。

五、多分类学习

多分类学习的基本思路是拆解法,即将多分类任务分解为多个二分类任务。

经典的拆分策略有三种:一对一OvO、一对其余OvR、多对多MvM。

一对一:将N个类两两配对,产生N*(N-1)/2个分类任务,每个分类任务有两类数据,一类数据作为正例,一类数据作为反例,训练出一个分类器。测试阶段将新样本提交给所有分类器,得到N*(N-1)/2结果,将被预测得最多的类别作为结果。

一对其余:每次将一类作正例,其余作反例来训练N个分类器。在测试时,若仅有一个分类器预测为正类,则该类为结果。若有多个,则取置信度最高的分类。

一对一 比 一对其余 的存储及测试开销大,但一对其余的训练时间长。预测性能,则取决于具体数据分布,多数情形下两者差不多。

多对多:正类、反类构造必须要有特殊设计,不能随便选取。最常用的技术 纠错输出码ECOC。

ECOC工作过程分两步:

编码:对N个类做M次划分,每次划分将一部分类作正类,一部分类作反类。可训练出M个分类器

解码:M个分类器对测试样本预测,预测标记组成一个编码,将这个预测编码与各类的预测编码比较,返回距离最小的类做为预测结果。

类别划分通过编码矩阵指定,有两种形式:二元码(正类、反类)、三元码(正类、反类、停用类)。

ECOC编码对分类器的错误有一定的容忍和修正能力。ECOC编码越长,纠错能力越强,所需训练的分类器越多,计算、存储开销越大。对有限类别,可能的组合数目是有限的,码长超过一定范围没有意义。

对同等长度的编码,任意两类之间距离越远,则纠错能力越强,因此在码长较小时可根据这个原则计算出理论最优编码。

        非最优编码在实践中往往已能产生足够好的分类器。并非编码理论性质越好,分类性能就越好。


六、类别不平衡问题

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

从线性分类器讨论,通常y>0.5判别为正例,否则为反例。y实际表示了正例的可能性。

几率y/(1-y),大于1为正例。在类别不平衡时几率需要乘以反例数/正例数。这种策略称为再缩放或再平衡。

现有技术做法有三种:欠采样(丢弃反例),过采样(增加正例),阈值移动。

不能简单丢弃反例或重复正例。过采样代表算法SMOTE(插值产生正例),欠采样代表算法EasyEnsemble(集成学习,反例划分不同集合供不同学习器使用)

再缩放也是代价敏感学习的基础。



原创粉丝点击