随笔:集成学习:关于随机森林,梯度提升机的东拉西扯

1.集成学习

这里不会描述算法过程。

当我们有许多学习器对同一个任务做出判断,他们预测的概率可能各不相同,比如预测一个男生(小徐)会不会喜欢另一个女生(小雪),支持向量机算出来小徐爱上小雪的概率是0.8,朴素贝叶斯认为是0.3,决策树觉得是0.7。假设大于0.5算认可。

我们不知道该听谁的,就按照最简单的两个方法来决定:

(1).少数服从多数:有两个分类器的预测概率都大于0.5,我们就认为是真的,小徐会喜欢小雪。这种硬核决策的方法被称为硬投票。

(2).概率平均计算:那么喜欢的概率就是(0.8+0.3+0.7)/ 3 = 0.6,说明也是喜欢,这种基于最高的概率就是软决策。不过这个例子有点简单,软决策是不同决策的概率,然后各自平均,概率最高的类就是最后选择的结果。

这种把各种分类器组合起来的方法就是集成学习。不过集成方法有两种,第一种是并形计算,第二种串行计算。

这是什么意思?

(1).并行计算,就是说这一组分类器各训练各的,互不干扰。训练完之后,再组合到到一起。比如随机森林。显然,各个分类器之间几乎相互不联系,所以他们的关系很弱,也就是弱依赖关系。代表算法是随机森林。

(2).串行计算,就是说这一组分类器,就跟人体蜈蚣一样,前面依赖后面,呕了,学习器之间有很强的依赖关系,代表算法是AdaBoost

2.bagging和pasting

当我们有一组分类器的时候,要对他们进行训练,用的是同一个训练集,每个分类器抽取训练集中的一部分训练。对于其中一个分类器,对于样本的抽取有两种

(1).抽到的样本放回去,这种方法叫做bagging

(2).抽到的样本不放回去,这种方法叫做pasting

也就是说,如果分类器可以用同样的样本训练,那么他就是bagging,如果不允许就是pastting。

理论上上来讲,每个单独的分类器,它的偏差要高于集成的。bagging训练出来的结果一般要比pasting更好,因为允许抽到同样的样本,所以多样性更好,降低了偏差。

随机森林就是弱关系的一组决策树集成起来的。西瓜书说随机森林是用bagging训练的。这个我觉得看情况吧,也许有些库使用了pasting也说不定。

3.boosting

前面已经说了bagging了,所以boosting就不说了。

就是前面的分类器对样本预测,后面对错误的样本多关注,也就是后面的分类器依赖前面的预测器的表现。

4.stacking

这种方法应该用得不多,因为我看scikit-learn没有实现这个算法。

它的奇特之处在于,把使用不同的分类器组合,堆叠起来,前面一层分类器做预测,输出可能的预测,然后把预测的结果给后面一层分类器做输入,有点像是神经网络,对不起,我不该这么说,这样误导了其他人。

其实它是这样的。

把训练集分类两个部分。第一个部分用来训练第一层的分类器,训练完毕之后,就用第二个部分训练集输入训练好的第一层,第一层会输出一组结果,这个结果就是第二层训练器的输入了,然后用第二部分的标签相匹配,用来训练第二层的分类器。

就是这样。

相关推荐
罗西的思考10 小时前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
Jsundoku16 小时前
第七章 机器学习 -- 其他经典算法
人工智能·算法·机器学习
Apok'16 小时前
零基础学Python量化(1):研究大纲与流程
python·机器学习·金融·数据挖掘·数据分析
老鱼说AI17 小时前
SNN脉冲神经网络:全连接、卷积与循环SNN
人工智能·深度学习·神经网络·机器学习·自然语言处理
Jsundoku18 小时前
第八章 机器学习 -- 集成学习
人工智能·机器学习·集成学习
在所不辞兄18 小时前
【零基础学智能仿真-62】从应变—应力计算弹性常数
人工智能·深度学习·神经网络·机器学习·有限元·智能仿真
kaixin_啊啊18 小时前
【零基础学AI】第 17 章——一个机器学习项目怎样完成
人工智能·机器学习
STLearner18 小时前
KDD 2026 | (2月轮)时空数据(Spatial-Temporal)论文总结时空【下】(人群移动,城市科学(资源调度,)
大数据·人工智能·python·深度学习·机器学习·语言模型·数据挖掘
程序猿编码18 小时前
YOLOv5/v7/YOLOX 全支持:基于 TensorRT 的工业视觉推理底座详解
c++·yolo·机器学习·推理·模型推理
数聚天成DeepSData19 小时前
第三方地图工具导出的 Landsat 影像,使用条件和 USGS 官方下载的一样吗
人工智能·深度学习·机器学习·数据集·deepsdata