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

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没有实现这个算法。

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

其实它是这样的。

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

就是这样。

相关推荐
java1234_小锋2 小时前
Scikit-learn Python机器学习 - 特征预处理 - 标准化 (Standardization):StandardScaler
python·机器学习·scikit-learn
xz2024102****5 小时前
吴恩达机器学习合集
人工智能·机器学习
anneCoder5 小时前
AI大模型应用研发工程师面试知识准备目录
人工智能·深度学习·机器学习
空白到白5 小时前
机器学习-决策树
人工智能·决策树·机器学习
纪东东6 小时前
机器学习——使用K近邻算法实现一个识别手写数字系统
人工智能·机器学习·近邻算法
THMAIL6 小时前
机器学习从入门到精通 - 数据预处理实战秘籍:清洗、转换与特征工程入门
人工智能·python·算法·机器学习·数据挖掘·逻辑回归
Moutai码农6 小时前
1.5、机器学习-回归算法
人工智能·机器学习·回归
非门由也7 小时前
《sklearn机器学习——绘制分数以评估模型》验证曲线、学习曲线
人工智能·机器学习·sklearn
THMAIL7 小时前
深度学习从入门到精通 - AutoML与神经网络搜索(NAS):自动化模型设计未来
人工智能·python·深度学习·神经网络·算法·机器学习·逻辑回归
wei_shuo7 小时前
使用 Auto-Keras 进行自动化机器学习
机器学习·自动化·keras