机器学习 周志华笔记

已经发布博客

************************************************************

周志华教授

机器学习教材总结

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已

问题总结:

生成式模型和判别式模型区别概念分别是什么。

bias偏差 和 variance方差 概念的。

模型可以理解为基函数(一个函数的固定形式,也就是函数只会在这个函数的基础上变化而不会丢掉的函数)和权重的组合即一类问题的算法。参数就是算法学习的结果,

就像决策树学习产生的从根节点通往叶节点的路径q和每个叶节点上面的期望权重w,改变参数(q,w)就是改变已有模型。

优化目标函数需要实现两个目的:第一:尽量让预测值接近真实值;第二:保证模型的泛化能力(GeneralizationAbility)。为达到第一点,我们可以最小化损失函数,

对于第二点,我们可以最小化损失函数过程中加上控制模型复杂度的惩罚项,也可称为正则化项,如L1,L2损失。我们优化目标函数以达到误差和复杂度综合最优。

通常机器学习每一个算法中都会有一个目标函数,算法的求解过程是通过对这个目标函数优化的过程。在分类或者回归问题中,通常使用损失函数(代价函数)作为其目标函数。

损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的算法使用的损失函数不一样。

 损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。

“非凸”函数的问题,简单一点说就是这个函数有很多个局部最低点,如下图所示:而我们希望我们的代价函数是一个如下图所示,碗状结构的凸函数,

这样我们算法求解到局部最低点,就一定是全局最小值点

所谓的代价函数Cost Function,其实是一种衡量我们在这组参数下预估的结果和实际结果差距的函数,比如说线性回归的代价函数定义为:

下面我们说说梯度下降,梯度下降算法是调整参数θ使得代价函数J(θ)取得最小值的最基本方法之一。从直观上理解,就是我们在碗状结构的凸函数上取一个初始值,然后挪动这个值一步步靠近最低点的过程,如下图所示:

从数学上理解,我们为了找到最小值点,就应该朝着下降速度最快的方向(导函数/偏导方向)迈进,每次迈进一小步,再看看此时的下降最快方向是哪,再朝着这个方向迈进,直至最低点。

L1 正则化偏向于稀疏,它会自动进行特征选择,去掉一些没用的特征,也就是将这些特征对应的权重置为 0.

L2 正则化主要功能是为了防止过拟合,当要求参数越小时,说明模型越简单,而模型越简单则,越趋向于平

滑,从而防止过拟合。

范数:

L0范数是指向量中非0的元素的个数。

L1范数是指向量中各个元素绝对值之和                 

当 p = 2 时,L 2 范数被称为欧几里得范数(Euclidean norm)。它表示从原点

出发到向量 x 确定的点的欧几里得距离。

当机器学习问题中零和非零元素之间的差异非常重要时,通常会使用 L 1 范数

199. 隐马尔可夫。机器学习 ML 模型 易

隐马尔可夫模型三个基本问题以及相应的算法说法正确的是( )

A.评估—前向后向算法

B.解码—维特比算法

C.学习—Baum-Welch 算法

D.学习—前向后向算法

正确答案:ABC

解析:评估问题,可以使用前向算法、后向算法、前向后向算法。

先说三个相关数据标记:①样本的真实标记 ②样本在训练集中的标记(可能含噪声)③样本在训练时每次得到的输出标记

噪声(noise):训练集的标记与真实标记的误差平方的均值,即②-①的平方的均值。

偏置(bias):训练模型的时候,每一次训练得到的训练集预测标签与原始真实标签的偏离程度(即③与①的差),如果此偏离程度过小,则会导致过拟合的发生,因为可能将训练集中的噪声也学习了。

所以说偏置刻画了学习算法本身的拟合能力,如果拟合能力不好,偏置较大,出现欠拟合;反之拟合能力过好,偏置较小,容易出现过拟合。在训练的时候可以发现这个bias理论上应该是逐渐变小的,

表明我们的模型正在不断学习有用的东西。【当然这是针对只有一个训练集的情况下,如果有多个训练集,就计算出每一个样本在各个训练集下的预测值的均值,

然后计算此均值与真实值的误差即为偏差】

方差(variance):同样是针对训练模型时每一次得到的训练集预测标签,但是此时是最终一次训练以后得到的所有标签之间的方差且与真实标签无关(即③本身的方差),

即计算这些预测标签的均值,再计算(每一个标签-均值)的平方和。可以想象,刚开始方差肯定是很小的,因为刚开始学习,啥都不会,即使对于有或者无噪声的数据,

我们都无法做出精准判断,然而随着学习的进行,有些我们会越学越好,但是会越来越多地受到噪声数据的干扰,方差也会越来越大。

误差(error):预测标记与训练集中标记的误差(③和②的差)。

什么是bias?

偏置单元(bias unit),在有些资料里也称为偏置项(bias term)或者截距项(intercept term),它其实就是函数的截距,

与线性方程 y=wx+b 中的 b 的意义是一致的。在 y=wx+b中,b表示函数在y轴上的截距,控制着函数偏离原点的距离,

其实在神经网络中的偏置单元也是类似的作用。 

因此,神经网络的参数也可以表示为:(W, b),其中W表示参数矩阵,b表示偏置项或截距项。

************************************************************

第一章 绪论

1.1引言

1.2 基本术语

数据集:数据记录的集合。

示例/样本:每条记录是关于一个对象的描述。,

属性/特征:对象的性质,比如西瓜的色泽,根蒂,敲声

属性值:属性的取值,比如:西瓜的青绿色,乌黑色

样本空间/输入空间/属性空间:属性张成的空间

特征向量:每一个示例都是一个特征向量。

训练/学习:从数据学得模型的过程

训练数据

训练样本

训练集

假设

学习器:模型

标记:

样例:有标记的示例

分类:离散值的预测

回归:连续之的预测

二分类:正类,反类。

多分类:

测试:用学习得到的模型进行预测

测试样本

聚类:把训练集中的西瓜分成若干组

簇:每一个小组

有监督学习:分类和回归

无监督学习:聚类

泛化:学习模型适用于新样本的能力

1.3 假设空间

归纳:特殊到一般的泛化过程,从具体事实总结规律,适用到更广阔的范围

演绎:从一般到特殊的过程

1.4 归纳偏好

学习得到的模型对应了假设空间中的一个假设。同一个数据集会产生几个模型,会输出不同的结果。

归纳偏好:算法学习过程中对某种类型假设的偏好。

奥卡姆剃刀:选择最简单的原则

图1.4 没有免费的午餐:显示图b中弯曲复杂的曲线效果比简单光滑的曲线效果好。也就是总误差和学习算法好坏无关

考虑所有潜在问题,所有算法都一样,但是通常情况,针对具体的问题,我们只会考虑我们关注的某些点

********************************************************************

第二章 模型评估与选择 

2.1 经验误差与过拟合 

经验误差:学习器在训练集上的误差。也叫训练误差,误差越小越好

泛化:模型适用于新样本的能力。预测和实际符合的程度,泛化越好,拟合越好。

过拟合:训练样本误差很小,但是测试样本误差很大,也就是泛化性能不好

欠拟合:对新旧数据表现不好

模型选择:选择泛化误差最小的模型

2.2 评估方法

用测试集测试学习器对新样本的判别能力,用测试误差作为泛化误差的近似

对数据集D进行处理,产生训练集S和测试集T。方法有:留出法,交叉验证法,自助法,

2.2.1 留出法

数据集简单划分为两个互斥的集合训练集和测试集。

2.2.2 交叉验证法

把集合D划分为K个大小相似的互斥子集,每个子集保持数据分布的一致性。每次用k-1个做训练集,余下最后一个做测试集。这样得到k个测试结果。

2.2.3 自助法

有放回采样,得到新的数据集。结果有重复数据,约有3成没有出现。把没有出现的数据作为测试集。适合数据集较小的情况。缺点是产生估计偏差。

2.2.4 调参和最终模型

不同的参数对同一个算法学习得到的模型会产生显著的影响。

对候选参数指定范围和步长决定几个特定的参数进行选择。

训练集,验证集,测试集。

2.3 性能度量                                     

性能度量:衡量模型泛化能力的评价标准。

模型的好坏取决于算法和数据还有任务需求

回归任务用的性能度量是均方误差

2.3.1 错误率和精度

2.3.2 查准率P,查全率R与F1

比如:搜索网站给用户的结果中有多少比例是用户感兴趣的,用户感兴趣的有多少比例被搜索出来了。

查准率和查全率是矛盾的。只能一高一低。

平衡点:查准率=查全率 

商品推荐,查准率更重要,抓捕罪犯,查全率更重要。

F1基于查准率和查全率的调和平均。

F贝塔是加权调和平均。表达对P和R不同的偏好。

P-R曲线与平衡点示意图

2.3.3 ROC 和 AUC

ROC:receiver operating characteristic受试者工作特征

2.3.4 代价敏感错误率和代价曲线 

错误的代价/后果不同,比如医生判断病情。给错误赋予“非均等代价”。

这种情况我们不是强调最小化错误次数,而是强调最小化“总体代价”

代价曲线反映出学习器期望的总体代价。横轴是正例概率代价,纵轴是归一化代价。

归一化/规范化:把不同变化范围的值映射到固定范围中。

********************************************************************

第三章:线性模型 监督学习

3.2 线性回归 

最小二乘法:基于均方误差最小化来进行模型求解的方法(均方误差对应了欧氏距离)

(修改:均方差和欧氏距离没有关系2018-06-19 391508 June Tuesday the 25 week, the 170 day SZ),书上写的是有关系的。

也就是试图找到一条直线,使所有样本到直线的欧式距离之和最短。

数值优化算法:梯度下降gradient descent,牛顿法newton method.

3.3 对数几率回归(逻辑回归)LR/逻辑斯地回归logistics regression

寒小阳老师的博客,讲的真好。https://blog.csdn.net/han_xiaoyang/article/details/49123419

我学了一年机器学习,大脑里面都是糊涂的,不知道逻辑回归讲啥东西,看了他的博客,瞬间懂了,也忘不掉了,书上写的看过很快就忘了。

逻辑回归始于输出结果为有实际意义的连续值的线性回归,但是线性回归对于分类的问题没有办法准确而又具备鲁棒性地分割,因此我们设计出了逻辑回归这样一个算法,

它的输出结果表征了某个样本属于某类别的概率。

逻辑回归的成功之处在于,将原本输出结果范围可以非常大的θTX 通过sigmoid函数映射到(0,1),从而完成概率的估测。

而直观地在二维空间理解逻辑回归,是sigmoid函数的特性,使得判定的阈值能够映射为平面的一条判定边界,当然随着特征的复杂化,判定边界可能是多种多样的样貌,

但是它能够较好地把两类样本点分隔开,解决分类问题。

求解逻辑回归参数的传统方法是梯度下降,构造为凸函数的代价函数后,每次沿着偏导方向(下降速度最快方向)迈进一小部分,直至N次迭代后到达最低点。

3.4 LDA 

Linear Discriminant Analysis线性判别分析:把样例投射到一条直线上,让同类样例尽可能接近,异类样例尽可能远。对新的样例,根据投影点的位置决定新样本的分类。主要用于二分类

********************************************************************

第四章 决策树 decision tree  二分类与回归,属于监督学习

决策树

决策树分为两大类,分类树和回归树。分类树是我们比较熟悉的决策树,比如C4.5分类决策树。分类树用于分类标签值,如晴天/阴天、用户性别、网页是否是垃圾页面。而回归树用于预测实数值,如明天的温度、用户的年龄、网页的相关程度。也就是分类树的输出是定性的,而回归树的输出是定量的。

4.2.1 信息增益 

信息熵度量样本纯度,熵越小,纯度越高。(可以把熵想成杂质)

信息增益越大,纯度提升越大,用来进行决策树的划分属性选择。(权重最大,最重要的参考依据),对取值数目属性多的不准确。

4.2.2 增益率/比  gain ratio

C4.5 决策树算法采用增益率选择最优属性,对取值数目少的属性有所偏好

第六章:

SVM支持向量机:一般用于二分类,用一个超平面把数据分为两个部分。属于监督学习

支持向量:距离超平面最近的样本点

核函数:把原始样本空间映射到高维,然后才能顺利把样本分开,也就是把非线性学习扩展为线性学习。各种核函数统称核方法。

2018-05-21 14:42:43 May Monday the 21 week, the 141 day SZ

第七章 贝叶斯分类器 

7.2 极大似然估计

7.3 朴素贝叶斯分类器

朴素的原因是因为天真的假设所有特征相互独立,换言之,每个属性独立的对分类结果产生影响。

7.6 EM 算法 Expectation maximization期望最大化

EM 算法是用于含有隐变量模型的极大似然估计或者极大后验估计,有两步组成:E 步,求期望(expectation);

M 步,求极大(maxmization)。本质上 EM 算法还是一个迭代算法,通过不断用上一代参数对隐变量的估计来对当

前变量进行计算,直到收敛。

注意:EM 算法是对初值敏感的,而且 EM 是不断求解下界的极大化逼近求解对数似然函数的极大化的算法,也

就是说 EM 算法不能保证找到全局最优值。对于 EM 的导出方法也应该掌握。

隐变量:训练样本不全,比如瓜蒂掉落,无法判断是蜷缩还是硬挺。

EM算法估计参数隐变量的方法。

两步走策略:

E 步:选取一组参数,求出在该参数下隐含变量的条件概率值;

M 步:结合 E 步求出的隐含变量条件概率,求出似然函数下界函数(本质上是某个期望函数)的最大值。

重复上面 2 步直至收敛。

第八章:集成学习 ensemble learning

8.1 个体与集成

结合多个学习器获得比单一学习器更好的泛化性能。分为同质(相同种类)和异质学习器(不同种类的学习器)

根据个体学习器生成方式,集成学习器分为串行生成的序列化方法(个体间存在强依赖关系)比如Boosting和同时生成的并行化方法(不存在强依赖关系),比如:Bagging和随机森林。

8.2 Boosting算法 

把弱学习器变成强学习器。工作原理是:先训练一个基学习器,然后增大误差样本的权重,重复训练T个不同的学习器,然后T个基学习器加权结合。(重赋权值法,重采样法)

AdaBoost是最有名的Boosting算法,是英文"Adaptive Boosting"(自适应增强)的缩写.算法原理:基学习器的线性组合来最小化指数损失函数。

如果指数损失函数最小,则分类错误率也会最小。但是AdaBoost只适合二分类任务

Boosting 的本质实际上是一个加法模型,通过改变训练样本权重学习多个分类器并进行一些线性组合。而

Adaboost 就是加法模型+指数损失函数+前项分布算法。Adaboost 就是从弱分类器出发反复训练,在其中不断调整数

据权重或者是概率分布,同时提高前一轮被弱分类器误分的样本的权值。最后用分类器进行投票表决(但是分类器的

重要性不同

3)Boosting 之 GBDT

将基分类器变成二叉树,回归用二叉回归树,分类用二叉分类树。和上面的 Adaboost 相比,回归树的损失函数

为平方损失,同样可以用指数损失函数定义分类问题。但是对于一般损失函数怎么计算呢?GBDT(梯度提升决策树)

是为了解决一般损失函数的优化问题,方法是用损失函数的负梯度在当前模型的值来模拟回归问题中残差的近似值。

注:由于 GBDT 很容易出现过拟合的问题,所以推荐的 GBDT 深度不要超过 6,而随机森林可以在 15 以上。

Xgboost

这个工具主要有以下几个特点:

0.  支持线性分类器

1.  可以自定义损失函数,并且可以用二阶偏导

2.  加入了正则化项:叶节点数、每个叶节点输出 score 的 L2-norm

3.  支持特征抽样

4.  在一定情况下支持并行,只有在建树的阶段才会用到,每个节点可以并行的寻找分裂特征。

8.3 Bagging与随机森林

8.3.1 Bagging 

基本思路:基于自主采样法(拿出,放回,重复操作),得出T个含有m个样本的采样集,每个采样集训练一个学习器,然后组合学习器。

(简单投票法(分类),简单平均法(回归))

8.3.2随机森林

RF是Bagging的扩展变体。

随机森林 Random Forest 是一个包含多个决策树的分类器

第十四章 概率图模型 

概率模型把学习任务归结为计算变量的概率分布。生成式模型考虑联合概率分布,判别式模型考虑条件分布。

概率图模型用图表达变量关系的概率模型。

14.1 隐马尔科夫模型

隐马尔可夫模型是用于标注问题的生成模型。有几个参数(π,A,B):初始状态概率向量 π,状态转移矩阵 A,

观测概率矩阵 B。称为马尔科夫模型的三要素。

马尔科夫三个基本问题:

0.  概率计算问题:给定模型和观测序列,计算模型下观测序列输出的概率。–》前向后向算法

1.  学习问题:已知观测序列,估计模型参数,即用极大似然估计来估计参数。–》Baum-Welch(也就是 EM 算法)和极大

似然估计。

2.  预测问题:已知模型和观测序列,求解对应的状态序列。–》近似算法(贪心算法)和维比特算法(动态规划求最优

路径)

14.2 马尔科夫随机场

14.3 条件随机场

给定一组输入随机变量的条件下另一组输出随机变量的条件概率分布密度。条件随机场假设输出变量构成马尔

科夫随机场,而我们平时看到的大多是线性链条随机场,也就是由输入对输出进行预测的判别模型。求解方法为极大

似然估计或正则化的极大似然估计。

14.6 话题模型 

是一种生成式的有向图模型,主要用于文本处理中,典型代表就是LDA:latent Dirichlet Allocation隐狄利克雷分布。几个概念,词,文档,话题

认识你是我们的缘分,同学,等等,学习人工智能,记得关注我。

微信扫一扫
关注该公众号

《湾区人工智能》

猜你喜欢

转载自blog.csdn.net/BTUJACK/article/details/84228288