- 第三章 线性模型
回归任务 ---> 二分类任务 ---> 多分类任务.
- 如何使用线性模型进行回归学习?
线性回归
线性模型形式简单、易于建模,但却蕴涵着机器学习中一些重要的基本思想.许多功能更为强大的非线性模型可在线性模型的基础上通过引入层级结构或高维映射而得。
对离散属性:
1.若属性值间存在"序" 关系,可通过连续化将其转化为连续值;
2.若属性值间不存在序关系,假定有 k 个属性值,则通常转化为 k 维向量。
均方误差 <---> 欧几里得距离(欧氏距离)
最小二乘法:基于均方误差最小化来进行模型求解的方法。
在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。
线性回归试图学得
线性回归模型的最小二乘"参数估计" :求解ω 和b 使均方误差最小化的过程;
当我们希望线性模型的预测值逼近真实标记y时, 就得到了线性回归模型,简写为y=wTx+b .
广义线性模型:考虑单调可微函数g() ,令y=g-1(wTx+b ).(g()称为“联系函数”,连续且充分光滑)
对数线性回归:lny = wTx +b.是广义线性模型在g() = ln() 时的特例.
- 如何使用线性模型进行分类任务学习?
只需找一个单调可做函数将分类任务的真实标记y与线性回归模型的预测值联系起来.
对数几率回归:虽然它的名字是"回归",但实际却是一种分类学习方法。这种方法有很多优点,例如它是直接对分类可能性进行建模,无需事先假设数据分布?这样就避免了假设分布不准确所带来的问题;它不是仅预测出"类别",而是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用;此外,对率函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解。
对数几率函数:在一定程度上近似单位阶跃函数的"替代函数" ,并希望它单调可微。
线性判别分析LDA:
LDA 的思想非常朴素: 给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别;LDA也被视为一种经典的监督降维技术。
几个定义:St = Sb + Sw
类内散度矩阵:Sb
类间散度矩阵:Sw
全局散度矩阵:St
LDA欲最大化的目标:Sb 与 Sw的额“广义瑞利商“。
多分类学习:
多分类学习的基本思路是“拆解发”,即将多分类任务拆为若干个二分类任务求解。
最经典的拆分策略:“一对一”(OvO)、“一对多余”(OvR)、“多对多”(MvM);
类别 | 拆分策略 | 最终结果 |
OvO | 将N个类别两两配对,从而产生N(N-1)/2个二分类任务 | 可通过投票产生:即把被预测得最多的类别作为最终分类结果 |
OvR | 每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器 | 1.若仅有一个分类器预测为正类,则对应的类别标记作为最终分类结果. 2.若有多个分类器预测为正类,则选择置信度最大的类别标记作为分类结果. |
MvM | 每次将若干个类作为正类,若干个其他类作为反类. 最常用的MvM技术"纠错输出码(EOOC)";ECOC是将编码的思想引入类别拆分,并尽可能在解码过程中具有容错性,工作过程主要分为两步: 编码--->解码. OvO 和OvR 是MvM 的特例. | 在解码阶段,各分类器的预测结果联合起来形成了测试示例的编码,该编码与各类所对应的编码 进行比较,将距离最小的编码所对应的类别作为预测结果. |
MvM其他实现方式:如DAG (Directed Acyclic Graph) 拆分法:将类别划分表达成树形结构,每个结点对应于一个二类分类器.
类别不平衡问题:指分类任务中不同类别的训练样例数目差别很大的情况.
类别不平衡学习的一个基本策略 一 "再缩放";现有技术大体上有三类做法:"欠采样"、"过采样"、"阔值移动"。
欠采样:去除一些反例使得正、反例数目接近,然后再进行学习;代表性算法SMOTE.
过采样:增加一些正例使得正、反例数目接近,然后再进行学习;代表性算法EasyEnsemble.
- 第4章 决策树
- 决策树是基于树结构来进行决策的,一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个属性测试
决策树学习的目的:是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循"分而治之" 策略;
决策树的生成是一个递归过程;在决策树基本算法中,有三种情形会导致递归返回:
(1) 当前结点包含的样本全属于同一类别,无需划分;
(2) 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;
(3) 当前结点包含的样本集合为空,不能划分.
信息熵:度量样本集合纯度最常用的一种指标;
决策树学习的关键是即如何选择最优划分属性;可用信息增益来进行决策树的划分属性选择。一般选择信息增益最大的属性被选为划分属性。
信息增益准则对可取值数目较多的属性有所偏好,C4.5 决策树算法不直接使用信息增益,而是使用"增益率"来选择最优划分属性。
增益率准则对可取值数目较少的属性有所偏好,C4.5算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。
CART 决策树:使用"基尼指数" 来选择划分属性;选择那个使得划分后基尼指数最小的属性作为最优划分属性;
决策树的生成容易过拟合,分支过多造成时间开销较大,此时需要剪枝处理。
剪枝:是决策树学习算法对付"过拟合"的主要手段;决策树剪枝的基本策略有"预剪枝" 和"后剪枝"。
预剪枝:在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;
后剪枝:先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能
带来决策树泛化性能提升,则将该子树替换为叶结点。
现实学习任务中常会遇到连续属性,在决策树学习中使用连续属性时,连续属性离散化技术可派上用场,最简单的策略是采用二分法对连续属性进行处理。
现实任务中常会遇到不完整样本,即样本的某些属性值缺失;若简单地放弃不完整样本,仅使用无缺失值的样本来进行学习,是对数据信息极大的浪费,有必要考虑利用有缺失属性值的训练样例来进行学习,需解决两个问题:
(1) 如何在属性值缺失的情况下进行划分属性选择?
(2) 给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
划分边界
决策树所形成的分类边界有一个明显的特点:轴平行,即它的分类边界由若干个与坐标轴平行的分段组成;每一段划分都直接对应了某个属性取值,使得学习结果有较好的可解释性。
在学习任务的真实分类边界比较复杂时,必须使用很多段划分才能获得较好的近似,此时的决策树会相当复杂,预测时间开销会很大。若能使用斜的划分边界,则决策树模型将大为简化;"多变量决策树" 就是能实现这样的"斜划分"甚至更复杂划分的决策树。
在此类决策树中,非叶结点不再是仅对某个属性,而是对属性的线性组合进行测试。
多变量决策树的学习过程中,不是为每个非叶结点寻找一个最优划分属性,而是试图建立一个合适的线性分类器。
决策树学习算法最著名的代表是ID3和CART;
C4.5Rule:是一个将C4.5 决策树转化为符号规则的算法;
OC1:先贪心地寻找每个属性的最优权值,在局部优化的基础上再对分类边界进行随机扰动以试图找到更好的边界;
"感知机树":在决策树的每个叶结点上训练一个感知机 或 直接在叶结点上嵌入多层神经网络.
"增量学习":即在接收到新样本后可对己学得的模型进行调整,而不用完全重新学习。主要机制是通过调整分支路径上的划分属性次序来对树进行部分重构,代表性算法有ID4、ID5R、ITI等。
?_ ?问题:
本周学习的这两章节,大体范围上了解了概念与过程,但对于书中的算法公式有点混,没有去记忆公式,看几遍了解就过去了,譬如对于根据表格属性数据建立的决策树还是看不太懂为何如此。