机器学习(周志华)读书笔记-(三)线性模型

线性模型

线性模型形式简单、易于建模,(如简单的二元一次方程线性函数,复杂的线性函数,多维变量与因变量的关系)却蕴涵着机器学习中的一些重要的基本思想。许多功能更为强大的线性模型可以在线性模型的基础上通过引入层级结构或者高维映射而得。 几种经典的线性模型(线性回归、对数几率回归、线性判别分析、多分类学习)

1、线性回归:根据已有的数据确定一个函数然后预测,怎样衡量函数的准确度呢,均方误差是常用的,几何意义上是求得一条线使得所有的样本到直线的欧式距离之和最小,基于均方误差最小化进行模型求解的方法称为最小二乘法,以单变量为例f(x)=wx+b,求解w和b使得机器学习(周志华)读书笔记-(三)线性模型m代表有m个数据,通过使得所有数据误差就和最小的w,b就是所要求得的最佳参数。

机器学习(周志华)读书笔记-(三)线性模型

将求解公式等于0可求得w和b的最优封闭解

机器学习(周志华)读书笔记-(三)线性模型

由此多元线性回归的参数求解以同样的思路求解,多参数转为矩阵涉及到矩阵逆的计算,在不满秩的时候经常会出现不止一组解使得均方误差最小,涉及到选择偏好,处理时加入正则化。也可以使用线性回归的衍生物,即让得到的模型和另外的函数产生关系lny=wx+b,这其实是输入空间到输出的一个非线性预测,对数线性回归。

2、对数几率回归:二分类任务的结果[0,1],而一般函数的输出是实值,单位阶跃函数以一定阈值划分类别。但是单位阶跃函数不连续不能直接作用于函数的输出对数几率函数常用的代替函数机器学习(周志华)读书笔记-(三)线性模型对数几率函数(在神经网络里有重要的作用)是一种sigmoid函数(S型函数)将z值转化为一个接近0或1的y值。使用最大似然估计的方法来计算出w和b两个参数的取值。

机器学习(周志华)读书笔记-(三)线性模型

3、线性判别分析:(LDA)经典的线性学习方法,基本思想是:将训练样本投影到一条直线上,使得同类的样例尽可能近,不同类的样例尽可能远。如图所示:

机器学习(周志华)读书笔记-(三)线性模型

想让同类样本点的投影点尽可能接近,不同类样本点投影之间尽可能远,即:让各类的协方差之和尽可能小,不用类之间中心的距离尽可能大。基于这样的考虑,LDA定义了两个散度矩阵。如图:类内散度矩阵(越小越好) 类间散度矩阵(越大越好),最后得到了LDA的最大化目标:“广义瑞利商”

机器学习(周志华)读书笔记-(三)线性模型 机器学习(周志华)读书笔记-(三)线性模型

机器学习(周志华)读书笔记-(三)线性模型

最优化求解w的问题,当求解出w后对新的样本进行分类时,只需将该样本点投影到这条直线上,根据与各个类别的中心值进行比较,从而判定出新样本与哪个类别距离最近。

4、多分类学习:多分类的问题常常是使用差分策略,通过二分类学习来解决多分类问题,即将多分类问题拆解为多个二分类训练二分类学习器最后通过继承得到结果,最经典拆分策略有三种:“一对一”(OvO)、“一对其余”(OvR)和“多对多”(MvM),核心思想与示意图如下所示:

机器学习(周志华)读书笔记-(三)线性模型机器学习(周志华)读书笔记-(三)线性模型

1)OvO:给定数据集D假定其中有N个真实类别,将这N个类别进行两两配对(一个正类/一个反类),从而产生N(N-1)/2个二分类学习器,在测试阶段,将新样本放入所有的二分类学习器中测试,得出N(N-1)个结果,最终通过投票产生最终的分类结果。训练N个分类器,开销较大。
2)OvM:给定数据集D假定其中有N个真实类别,每次取出一个类作为正类,剩余的所有类别作为一个新的反类,从而产生N个二分类学习器,在测试阶段得出N个结果若仅有一个学习器预测为正类,则对应的类标作为最终分类结果。优时也要考虑预置置信度的大小确定类别。
3)MvM:给定数据集D假定其中有N个真实类别,每次取若干个类作为正类,若干个类作为反类(通过ECOC码给出编码),若进行了M次划分,则生成了M个二分类学习器,在测试阶段(解码),得出M个结果组成一个新的码,最终通过计算海明/欧式距离选择距离最小的类别作为最终分类结果。

5、类别不平衡问题:指分类问题中不同类别的训练样本相差悬殊的情况,在分类是实际上是输出的y值是与一个阈值比较,y反应的是一个类别被划分的可能性大小,阈值是0.5表明正反两类结果可能性一致,一般情况下假设训练集无偏差的,因此观测几率就代表真实几率,则如果出现机器学习(周志华)读书笔记-(三)线性模型,则预测就为正例,但是预测其实依靠y/1-y是否大于来判断,这要求对预测值进行微调,即根据此公式判断是实际上是依靠,机器学习(周志华)读书笔记-(三)线性模型,但是此时依据假设样本绝对均匀,但是这种假设不成立,需要多样本尽可能处理,常见的处理这种问题的做法有三种:在训练样本较1)多的类别中进行“欠采样”(undersampling),使得正反接近再学习,常见的算法有:EasyEnsemble。
2)在训练样本较少的类别中进行“过采样”(oversampling),例如通过对反例中的数据进行插值,来产生额外的反例,常见的算法有SMOTE。
3)直接基于原数据集进行学习,对预测值进行“再缩放”处理。 再缩放也是代价敏感学习的基础。