《机器学习概述》

本文介绍了机器学习的基本概念,包括监督学习和无监督学习,并重点讲解了模型评估的方法,如过拟合、欠拟合、留出法、交叉验证法和自助法。接着,深入探讨了决策树的学习过程、信息熵和信息增益等关键概念,以及剪枝处理在防止过拟合中的作用。
摘要由CSDN通过智能技术生成

一、背景

首先抛出两个问题:
为什么看到微湿路面, 感到和风,看到晚霞,就认为明天是好天呢?
为什么色泽青绿,根蒂蜷缩,敲声浊响,就能判断出是正熟的好瓜呢?
这是因为在我们的生活经验中已经遇见过很多类似情况,出现1所述的现象后,第二天通常会是好天气。如果一个西瓜是2所述,通常都是好瓜。

那么什么是机器学习呢?
它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在计算机中,“经验”通常以数据的形式存在,因此,机器学习的主要内容,就是从数据中产生模型算法,即学习算法。
有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型,在面对新的情况时,模型会给我们提供相应的判断。

从数据中学得模型的过程称为学习或者训练。
如果我们欲预测的是离散值,如“好瓜”, “坏瓜”,此类学习任务称为分类,若欲预测的是连续值,如西瓜成熟度,0.98,0.78,则称为回归。

我们还可以对西瓜做聚类,即将训练集中的西瓜分为若干组,每组称为一个簇,这样的学习过程有助于我们了解数据内在的规律。

根据训练信息是否拥有标记信息,学习任务可大致分为2类:“监督学习”和“无监督学习”,分类和回归是监督学习,而聚类则是无监督学习。

二、模型评估与选择

1. 过拟合和欠拟合

当学习器把训练样本学的太好了的时候,很可能把训练样本自身的一些特点当做了所有潜在样本都会具有的一般性质,这就成为过拟合,相反的就成为欠拟合。
在这里插入图片描述
2. 评估方法

(1)留出法

留出法直接将数据集划分为2个互斥的集合,其中一个作为训练集S,另外一个作为测试集T,在S上训练出模型后,用T来评估其测试误差。
需要注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。
常见的做法是将2/3~4/5的样本用于训练,剩余样本用于测试。

(2)交叉验证法
在这里插入图片描述
交叉验证先将数据集划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性。可以通过分层采样获得。然后每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集,这样就可以获得k组训练/测试集,从而进行k次训练和测试,最终返回这k次结果的均值。
其中k的最常用的取值是10.
如果令k=m,则获得了交叉验证法的一个特例:留一法,即每个子集拥有一个样本,这样实际评估的模型与期望的模型就很相似了,然而,在数据集比较大时,训练的计算开销是难以忍受的。

(3)自助法

给定包含m个样本的数据集D,每次随机从D中挑选一个样本,将其放入数据集D1,中,然后将该样本放回D,使得该样本在下次采样时,仍有可能被采到,这个过程重复执行m次,我们就得到了包含m个样本的数据集D1。
在这里插入图片描述
通过概率计算,我们可以知道,通过自主采样,初始数据集中约有36.8%的样本未出现在采样数据集中。于是我们可以用D1作为训练集,D-D1作为测试集。

3. 性能度量

(1)准确率和召回率
在这里插入图片描述
准确率:
在这里插入图片描述
召回率:
在这里插入图片描述
通常情况下,准确率和召回率是一对矛盾的度量,准确率高时,召回率往往偏低,相反依然。

(2)P-R曲线
在这里插入图片描述
在进行比较时,如果一个学习器的P-R曲线被另一个完全包住,则可断言,后者的性能优于前者。如果存在交叉,则可以通过比较P-R曲线下的面积进行比较。但是面积通常难以计算,一次我们一般采用F1度量,即准确率和召回率的调和平均值:
在这里插入图片描述
在一些应用中,对准确率和召回率的重视程度会有所不同,此时,可以使用加权调和平均来进行度量:
在这里插入图片描述

三、决策树

1. 算法介绍
在这里插入图片描述
决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制,例如,我们要对“这是好瓜吗”这样的问题进行决策时,通常会进行一系列的判断或者“子决策”:
我们先看“它是什么颜色?”,如果是“青绿色”, 则我们再看“它的根蒂是什么形态?”,如果是蜷缩,我们再判断“它敲起来是什么声音?”,最后,我们得出最终决策,这是个好瓜。
一般的,一棵决策树包含一个根节点,若干个内部节点和若干个叶节点,其中,跟节点包含样本全集,从根节点到每个叶子节点的路径对应了一个判定测试序列,决策树的学习目的是为了产生一棵泛化能力强的决策树。

2. 算法流程
在这里插入图片描述
显然,决策树的生成是一个递归过程,在决策树算法中,有三种情形会导致递归返回:
当前节点包含的样本全属于同一类别, 无须划分。
当前属性值为空,或是所有样本在所有属性值上取值相同,无法划分。
当前节点包含的样本集合为空,不能划分。

3. 划分选择

一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别。

(1)信息熵

信息熵是度量样本集合纯度最常用的一种指标,假定当前样本集合D中,第k类样本所占的比例为Pk,则D的信息熵定义为:
在这里插入图片描述
其中|y|为类别数,Ent(D)的值越小,则D的纯度越高。

(2)信息增益

假定离散属性a有v个可能的取值(a1,a2,a3…av),若使用a来对样本集D进行划分,则会产生v个分支,其中第v个分支节点包含了D中所有在属性a上取值为av的样本,记为Dv,再考虑到不同的分支节点包含的样本数不同,给分支节点赋予权重|Dv|/|D|,便得到了用属性a来对样本集D划分的信息增益。
在这里插入图片描述
一般的,信息增益越大,则意味着使用属性a来进行划分所获得的纯度提升越大。因此,我们可用信息增益来进行决策树的划分属性选择。

以下图的西瓜数据集为例,
在这里插入图片描述
该数据集中包含17个训练样本,其中8个正样本,9个负样本,可以计算出该数据集的信息熵为:
在这里插入图片描述
用色泽划分后所获得3个分支节点的信息熵为:
在这里插入图片描述
于是,可以计算出属性“色泽”的信息增益为:
在这里插入图片描述
同理,可以计算出其他的属性的信息增益:
在这里插入图片描述
显然,属性“纹理”的信息增益最大,于是它被选为划分属性。
在这里插入图片描述
然后,决策树算法对每个分支节点做进一步的划分,以上图中纹理=清晰的样本集合D1为例,可以计算出各属性的信息增益为:
在这里插入图片描述
类似的,对每个节点进行上述操作,最终得到的决策树如下:
在这里插入图片描述
此外,还有增益率、基尼指数等属性划分准则,在此不再赘述,有兴趣的可以去了解一下。

4. 剪枝处理

剪枝是决策树算法中,对付过拟合的主要手段,在决策树学习中,有时候会造成决策树分支过多,导致过拟合,因此,可通过主动去掉一些分支来降低过拟合的风险。

(1)预剪枝

预剪枝是指在决策树生成过程中,对每个结点在划分前后进行估计,若当前节点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点标记为叶节点。
在这里插入图片描述
以上图的数据集为例,上半部分为训练集,下半部分为测试集。生成下图所示的未剪枝决策树以及预剪枝决策树。
在这里插入图片描述
在这里插入图片描述
从上图可以看出,预剪枝给决策树带来了欠拟合的风险。

(2)后剪枝

后剪枝是先从训练集中生成一棵完整的决策树,然后自底向上对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化能力的提升,则将该子树替换为叶节点。
基于上面的数据集,后剪枝决策树如下图所示
在这里插入图片描述
一般情形下,后剪枝决策树的欠拟合风险很小,泛化能力往往优于预剪枝决策树,但是后剪枝是在生产未剪枝决策树之后进行的,因而训练时间的开销会更大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值