| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 集成学习学习笔记——Blending与Stacking(7) -> 正文阅读 |
|
[人工智能]集成学习学习笔记——Blending与Stacking(7) |
一、主要思想基于先前我们所拥有的传统机器学习的分类器或者回归器,我们在第一层输出一系列预测结果。再基于这一系列预测结果,作为第二层模型的context输入,再最后输出一个集成的预测结果。 二、Blending数据集T 【步骤】总结来说:训练集用来训练第一层模型,验证集用来调参,测试集用来度量模型效果 (1)将数据划分为训练集和测试集(test_set),再将训练集二次划分为训练集(train_set)和验证集(val_set) (2)创建第一层的多个模型,这些模型可以同质化也可以异质化 (3)使用train_set训练(2)中的多个模型,然后用训练好的模型对val_set,test_set做预测得到val_predict,test_predict (4)创建第二层模型,使用val_predict作为训练集训练第二层的模型 (5)使用第二层训练好的模型对第二层测试集test_predict进行预测,最后得到的cost即为整个预测集的误差 ?(图片转自https://blog.csdn.net/sinat_35821976/article/details/83622594) 三、Stacking【Blending的缺点】Blending在模型搭建过程中,第二层集成模型的训练只用到了validation set,这是对数据的浪费 【步骤】 (1)基于数据集T生成训练集train_set和测试集test_set。 (2)在第一层中,对train_set做K折交叉验证:每次验证都相当于用(K-1)/K的train_set训练一个模型,再用拟合好的模型对1/K的train_set做预测(得到1/K*#(train_set)个预测label),同时也对test_set做预测得到#(test_set)个预测label (3)对(2)得到的K个1/K部分的train_set预测,我们将这一系列预测值合并为一列向量,这其实就是第一层中的一个基模型在K折交叉验证中对每个样本的一次预测,记为;同时对(2)中对test_set做预测得到的K*#(test_set)个预测label,做平均或加权平均,形成 (4)上述(3)是一个基模型在第一层所输出的结果,当我们对N个基模型做完之后会得到。我们最终第二层集成模型的拟合是以A整体为train_set,即用A1至AN作为N个context预测train_set样本对应的ground truth;同时以B整体为test_set。 ? ?(图片转自Datawhale) 四、优缺点对比Blending的优点:
Blending的缺点:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:49:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |