五分钟速通机器学习---集成学习(一)
接下来,我将用五篇文章带大家速通机器学习中的集成学习,每天5分钟,掌握一个知识点。
第一章我们先来大体认识一下集成学习。全程大白话,小白也可以读懂。
在认识一个新的名词之前,首先我们要先问自己三个问题:它具体是什么,它有什么用,它都包含什么。今天我们也按照这三个问题来了解“集成学习”。
1.集成学习是什么
集成学习是由集成(ensemble)和学习(learning)组成的,它是通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统、基于委员会的学习等。
那将这个定义用大白话翻译过来就是:将好几个臭皮匠,通过某种计谋,让他们团结起来。
那我们一点一点分析,想要达成我们的目的(也就是进行集成学习),第一步我们要先凑齐一些臭皮匠(找到多个学习器),第二步我们要找到让他们团结起来的计谋(结合学习器的策略)。
这就是集成学习,通过某种策略,将多个学习器结合起来,让他们变得比单一的学习器更强大(也就是能顶一个诸葛亮)。
那我们的疑问又来了,上面说的学习器是什么,结合策略又是什么呢?
学习器通常是由一个现有的学习算法从训练数据产生的,相当于一个训练好的模型。策略在后面会单开一章讲解,这里可以把这种策略单纯当作“加法”。
2.集成学习有什么用
当出现一样新的模型算法或者新的发明的时候,一定是因为它能解决某些现实中的问题,或者说,相比于其他东西,它能解决的更好。
那集成学习的出现,能够获得比单一学习器更加优越的泛化性能,也就是说,提高了模型的准确率等,能够解决一些“一个臭皮匠自己无法单独完成”的问题和任务,并且完成的更快更好。
这个时候有人就会产生疑问,“1+1>1的道理我肯定明白,这不就是单纯多用了几个模型,怎么就算是一种新的算法了”。这就不得不说,集成学习的另一大优势:单个学习器误差独立。
什么叫误差独立,意思就是,误差能够相互抵消,并不会相互影响,我们拿一个表举例子。

这个表展示了三组测试样本和三个学习器,学习器分别是:h1、h1、h3,测试样本分别是:测试样例1、测试样例2、测试样例3。我们先看表(a),我们用测试样例1进行训练的时候,学习器h1预测结果是正确的,学习器h2预测结果是错误的,学习器h3预测结果是正确的,秉持着“少数服从多数”的集成策略,最终测试样例1集成学习完预测结果是正确的。后面都是如此。
从上面的表中,我们可以知道,每个学习器之间的误差是独立存在的,尽管上面的表(a)中的测试样例1中学习器h2预测错误,但是因为剩下两个是正确的,一定程度上进行了误差抵消,使得最终测试样例1下的结果仍是正确的。
3.集成学习都包括什么
对于同样的一堆物品,按照不同的标准,可以分成不同类别。
集成学习如果按照“学习器关系”来分,可以分成:同质集成和异质集成。如果按照“学习顺序”来分,可以分为:串行集成和并行集成。

首先我们来看按照“学习器关系”分类的情况(上图中的基学习器其实就是个体学习器也就是一个学习器)。同质指的是,所有学习器都是一样的,比如说,我要选三个学习器h1、h2、h3,但他们仨都是决策树,这就叫同质集成(注意,这里虽然三个学习器都是决策树,但仍比单一使用一个决策树模型性能要好)。那同样的道理,异质集成就是三个学习器是不一样的。
然后我们来看按照“学习顺序”分类的情况。我们假设一种情况:我现在要培养三个臭皮匠,那我用两种方法对他们仨进行培养。第一种,我租了三个屋子,将他们三个人分开培养,那他们三个之间就不会相互影响。第二种,我就租了一个屋子,我将他们三个放一起培养,那他们三个之间就会相互影响。这就是并行与串行。如果各个学习器之间没有依赖关系,各自独立,互不影响,就是并行集成。但如果,各个学习器之间有训练的先后循序,并且相互影响,这就是串行集成。
这就是今天这章的全部内容,主要带大家简单了解一下集成学习,接下来的几章将继续带大家探索集成学习。
更多推荐
所有评论(0)