解析周志华《机器学习》之线性模型

小李又冒泡啦!过完国庆,感觉整个生活的节奏快起来了,要做的事情也突然多了,现在就是定期佛性更新啦,没有更新期间还收到了不少简信以及多了几个粉丝,真滴感谢!
过几天组合要汇报西瓜书的线性模型,故做个记录。
————————————————————

线性模型

1.基本形式

线性模型从字面上来说就是一条直线或一个平面(如下图)

解析周志华《机器学习》之线性模型_第1张图片
从图上可以看出,它 实际上是一个函数,是可以通过学习属性的线性组合来预测的函数,我们可以利用它完成分类或者回归的问题。
它的函数表达形式如下:
我们通常用向量表达:

通过两个表达式,可以看到因为w的存在, 使得各个属性都分配一个权值w,可直观地反应各个属性在模型的重要性。这也是线性模型的 可解释性。举个例子:
上面这个表达式是对西瓜的好坏的预测,从表达式可以看出,根蒂、敲声、色泽在判定瓜好与坏种的权重是依次下降的,也就说明了要先看根蒂其次才是敲声和色泽。
线性模型的优点: a.形式简单、易于建模 b.可解释性 c.非线性模型的基础

2.线性回归

线性回归问题就是试图学到一个线性模型尽可能准确地预测新样本的输出值.
例如:通过历年的人口数据预测2017年人口数量。在这类问题中,往往我们会先得到一系列的有标记数据,例如:2000-->13亿...2016-->15亿,这时输入的属性只有一个,即年份;也有输入多属性的情形,假设我们预测一个人的收入,这时输入的属性值就不止一个了,例如:(学历,年龄,性别,颜值,身高,体重)-->15k。
有时这些输入的属性值并不能直接被我们的学习模型所用,需要进行相应的处理,
对于离散值的属性,可作下面的处理:
若属性值之间存在“序关系”,则可以将其转化为连续值,例如:身高属性分为“高”“中等”“矮”,可转化为数值:{1, 0.5, 0}。
若属性值之间不存在“序关系”,则通常将其转化为向量的形式,例如:性别属性分为“男”“女”,可转化为二维向量:{(1,0),(0,1)}。

2.1一元线性回归

一元线性回归即输入只有一元,如下图

那么基于这个表达式,
解析周志华《机器学习》之线性模型_第2张图片
具体推导求解如下:
①均方误差最小化:
解析周志华《机器学习》之线性模型_第3张图片
②设置一个代价函数E(w,b)
③分别对,w和b求导,E为凸函数,导数为0即为最优解
解析周志华《机器学习》之线性模型_第4张图片

④求解得:
解析周志华《机器学习》之线性模型_第5张图片

具体公式推导见: 南瓜书PumpkinBook

2.2多元线性回归

当输入变为多元的时候如何解决?

通常对于多元问题,使用矩阵的形式来表示数据。在本问题中,将具有m个样本的数据集表示成矩阵X,将系数w与b合并成一个列向量,这样每个样本的预测值以及所有样本的均方误差最小化就可以写成下面的形式:
解析周志华《机器学习》之线性模型_第6张图片
同样地,我们使用最小二乘法对w和b进行估计,令均方误差的求导等于0,需要注意的是, 当一个矩阵的行列式不等于0时,我们才可能对其求逆,因此对于下式,我们需要考虑矩阵(X的转置*X)的行列式是否为0,若不为0,则可以求出其解,若为0,则需要使用其它的方法进行计算,如正则化项。
解析周志华《机器学习》之线性模型_第7张图片

2.3对数线性回归

若y值并不是线性变化,而是在指数尺度上变化,我们该怎么办?
解析周志华《机器学习》之线性模型_第8张图片

这时候实际上,我们只需要将指数曲线投影在一条直线上,如上图所示,这里的对数函数起到了将线性回归模型的预测值与真实标记联系起来的作用。

扩展:
解析周志华《机器学习》之线性模型_第9张图片

3.对数几率回归

回归就是通过输入的属性值得到一个预测值,利用上述广义线性模型的特征,是否可以通过一个联系函数,将预测值转化为离散值从而进行分类呢?
二分类任务输出标记为y∈{0,1},线性模型产生的预测值是实值,需将实值z转换为0/1值。最理想的函数是阶跃函数,但实际上,阶跃函数不符合联系函数连续单调可微的特点,这时候引入对数几率函数(这实际上也是一个sigmoid函数)。

解析周志华《机器学习》之线性模型_第10张图片
解析周志华《机器学习》之线性模型_第11张图片
若将y看做样本为正例的概率,(1-y)看做样本为反例的概率,则上式实际上使用线性回归模型的预测结果器逼近真实标记的对数几率。因此这个模型称为“对数几率回归”(logistic regression)
如何确定w和b?
解析周志华《机器学习》之线性模型_第12张图片

利用最大似然估计:
解析周志华《机器学习》之线性模型_第13张图片

推导过程:
解析周志华《机器学习》之线性模型_第14张图片

4.线性判别分析(LDA)

线性判别分析(Linear Discriminant Analysis,简称LDA),其基本思想是:将训练样本投影到一条直线上,使得同类的样例尽可能近,不同类的样例尽可能远。如图所示:

解析周志华《机器学习》之线性模型_第15张图片
解析周志华《机器学习》之线性模型_第16张图片
想让同类样本点的投影点尽可能接近,不同类样本点投影之间尽可能远,即: 让各类的协方差之和尽可能小,不用类之间中心的距离尽可能大。欲最大化目标如下(J式子,分子为类之间的中心距离,采用欧几里得二范式,分母为协方差之和):
解析周志华《机器学习》之线性模型_第17张图片
基于这样的情况,LDA定义了两个散度矩阵。
解析周志华《机器学习》之线性模型_第18张图片
因此因而可得到了LDA的最大化目标: “广义瑞利商”。转化为最优化求解w的问题,当求解出w后,对新的样本进行分类时,只需将该样本点投影到这条直线上,根据与各个类别的中心值进行比较,从而判定出新样本与哪个类别距离最近。
引入拉格朗日乘子法求解:
解析周志华《机器学习》之线性模型_第19张图片

推广到多分类
解析周志华《机器学习》之线性模型_第20张图片
若W是一个投影矩阵, 则多分类LDA将样本投影到N-1维空间,N-1通常远小于数据原有的属性数,可减小样本点的维数,且投影过程中保持区分类别的信息,故LDA也是种监督降维技术。
解析周志华《机器学习》之线性模型_第21张图片

5.多分类学习

现实中我们经常遇到不只两个类别的分类问题,即多分类问题,在这种情形下,我们常常运用“拆分”的策略,通过多个二分类学习器来解决多分类问题,即将多分类问题拆解为多个二分类问题,训练出多个二分类学习器,最后将多个分类结果进行集成得出结论
经典的拆分策略有三种:“一对一”(OvO)、“一对其余”(OvR)和“多对多”(MvM)
OvO:给定数据集D,假定其中有N个真实类别,将这N个类别进行两两配对(一个正类/一个反类),从而产生N(N-1)/2个二分类学习器,在测试阶段,将新样本放入所有的二分类学习器中测试,得出N(N-1)个结果,最终通过投票产生最终的分类结果。
OvR:给定数据集D,假定其中有N个真实类别,每次取出一个类作为正类,剩余的所有类别作为一个新的反类,从而产生N个二分类学习器,在测试阶段,得出N个结果,若仅有一个学习器预测为正类,则对应的类标作为最终分类结果。

OvO VS OvR

解析周志华《机器学习》之线性模型_第22张图片
从上图可以看出:OvO和OvR相比,前者要训练的分类器要多,因此存储和测试开销要相对多些。但是在训练时,前者每个分类器只使用部分数据,后者要用全量数据,所以类别多时,OvO的训练开销要更小一些
MvM:给定数据集D,假定其中有N个真实类别,每次取若干个类作为正类,若干个类作为反类,若进行了M次划分,则生成了M个二分类学习器,在测试阶段(解码),得出M个结果组成一个新的码,最终通过计算海明/欧式距离选择距离最小的类别作为最终分类结果。此方法需特殊的设计,正反不能随意取。
常用的技术: 纠错输出码(ECOC)
解析周志华《机器学习》之线性模型_第23张图片
举个例子:
对训练数据集做5次划分:
1.标记C2为正例,其他为反例,训练出二分类的分类器f1
2.标记C1、C3为正例,其他为反例,训练出二分类的分类器f2
3.标记C3、C4为正例,其他为反例,训练出二分类的分类器f3
4.标记C1、C2、C4为正例,其他为反例,训练出二分类的分类器f4
5.标记C1、C4为正例,其他为反例,训练出二分类的分类器f5
解析周志华《机器学习》之线性模型_第24张图片
ECOC编码对分类器错误有一定容忍和修正能力,编码越长、纠错能力越强。
对同等长度的编码,理论上来说,任意两个类别之间的编码距离越远,则纠错能力越强。

6.类别不平衡问题

分类任务中不同类别的训练样例差别很大的情况,例如正例有900个,而反例只有100个,这个时候我们就需要进行相应的处理来平衡这个问题.
解析周志华《机器学习》之线性模型_第25张图片

总结

解析周志华《机器学习》之线性模型_第26张图片

——————————
终于!希望下周汇报顺利!

你可能感兴趣的:(解析周志华《机器学习》之线性模型)