机器学习(周志华)学习笔记(一)
目录
学习内容:
三、线性模型
3.1 基本形式
3.2 线性回归
3.3 对数几率回归
3.4 线性判别分析(LDA)
3.5 多分类问题
3.6 类别不平衡
学习时间:
学习内容:
三、线性模型
3.1 基本形式
线性模型试图学得一个通过属性的线性组合来进行预测的函数,即:
一般用向量形式写为:
其中w和b学到之后,模型就确定下来。w是每一项属性的权重系数矩阵。
下面将介绍几种经典的线性模型。
3.2 线性回归
在给定数据集里做线性回归,学得一个线性模型。本质即为确定权重系数w。令:
如何确定w和b?
->均方误差最小法(在线性回归中即为最小二乘法,试图找到一条直线,使所有样本到直线上的欧氏距离之和最小)
从上面的思想过渡到多元线性回归、对数线性回归。
(多元线性回归)
(对数线性回归)
其中对数线性回归,实际是是让逼近y,形式上仍是线性回归。但至此我们只能对数据集回归出两种线(直线、曲线),但这远远不能满足具有其它潜在关系的数据集。故更一般地,考虑单调可微函数g(·):
这样得到的模型称为“广义线性模型”,其中函数g(·)称为联系函数。现在我们可对大部分具有线性关系的数据集进行回归。
3.3 对数几率回归
上述我们解决了利用线性模型进行回归学习,但若要做分类任务该怎么办?
->特殊的g(·)函数
理想情况下,单位阶跃函数是最好的选择。但是单位阶跃函数不连续,不满足可微。所以我们需要找到近似单位阶跃函数的代替品,并希望它单调可微。而对数几率函数正是这样一个常用的替代函数。
在这里我们要特别注意,虽然名字是对数几率回归,但实际上确实一种分类学习方法。
如何确定w和b?
->极大似然法
3.4 线性判别分析(LDA)
LDA是一种经典的线性学习方法,也叫Fisher判别分析。
LDA的思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离。在对新样本进行分类时,将其投影投影到这条直线上,再根据投影的位置点来确定新样本的类别。
当两类数据同先验、满足高斯分布且协方差相等时,LDA可达到最优分类。
投影的操作可以减少样本点的维数,并且投影过程中使用了类别信息,因此LDA常被视为一种经典的监督降维技术。
3.5 多分类问题
有些二分类方法可以直接推广到多分类,但更多情况下,是利用二分类学习器来解决多分类问题。
多分类学习的基本思路是“拆解法”,即将多分类任务拆分为若干个二分类任务求解。其中最经典的拆分策略有三种:“一对一”OvO,“一对其余”OvR,“多对多”MvM。
OvO:将N个类别两两配对,从而产生N(N-1)/2个分类问题(分类器)。在测试阶段,将新样本同时提交给所有分类器,并产生N(N-1)/2个结果,最终结果通过投票产生。
OvR:每次将一个类的样例作为正例,所有其他类的样例作为反例;从而训练N个分类器。在测试时若仅有一个分类器预测为正类,则对应的类别标记为最终分类;若有多个分类器预测为正类,则通常考虑分类器的置信度,选择置信度最大的类别标记作为分类结果。
MvM:每次将若干个类作为正类,若干个其它类作为反类。但正反类构造必须有特殊的设计,不能随便选取。这里纠错输出码(EOOC)就是一种最常见的MvM技术。ECOC工作过程分为两步:
①编码:对N个类别做M次划分,每次划分将一部分化为正,一部分化为反,从而形成一个二分类训练集,这样一共产生M个训练集,可以训练M个分类器。
②解码:M个分类器分别对样本进行预测,这些预测标记组成一个编码,将这个预测编码与每个类别的各自编码进行编码,返回其中距离最小的类别作为预测结果。
一般来说。对于同一个学习任务,ECOC编码越长,纠错能力越强;对于同等长度的编码,理论上来说,任意两个类别之间的编码距离越远,纠错能力越强。
3.6 类别不平衡
是指分类任务中不同类别的训练样例数目差别很大的情况。如何解决?
->欠采样:去除一些样例数较多的类别样本。
->过采样:添加一些样例数较少的类别样本。
->再缩放/阈值移动:直接基于原始训练集进行学习,但在预测时嵌入:
其中是反例数目,是正例数目
学习时间:
15:30-17:04