| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> AI遮天传 ML-集成学习 -> 正文阅读 |
|
[人工智能]AI遮天传 ML-集成学习 |
“Two heads are better than one.” “三个臭皮匠,顶一个诸葛亮” 把多个人的智慧集合到一起,可能会比一个人好,放在机器学习上,我们借鉴这一经验,把融合多个学习方法的结果来提升效果的方法,我们叫做:Ensemble learning 集成学习。 一、集成学习简介假设我们有三个样本,h1、h2、h3代表三个分类器,预测结果如下: 对于上图这种结果,我们可以看到h1、h2、h3预测的准确率都是2/3,我们让h1、h2、h3进行投票,发现在最后一行,三个样本都预测对了,这样便是产生了积极的影响。 同理对于上面两种情况,分别是没有影响和产生了负面影响。 由于可能会产生不同的影响,因此我们要求:分类器需要效果好且不同! (效果不好(弱分类器 acc<50%):情况c,相同:情况b)
两个概念:?强学习器: 有高准确度的学习算法 弱学习器: 在任何训练集上可以做到比随机预测 略好 error = ? -γ 我们能否把一个弱学习器增强成一个强学习器? 集成学习基本想法?有时一个单个分类器 (e.g. 决策树、神经网络…) 表现 不好,但是它们的加权融合表现不错。 算法池中的每一个学习器都有它的权重。 当需要对一个新的实例作预测时:
集成学习策略法1:平均
法2:投票
法3:学习
二、Weighted Majority Algorithm (加权多数算法)加权多数算法 – 预测假设二值输出:算法池里有n个算法,每个算法已经有自己的输出,它的权值分别是w1,w2...wn, 主算法对其进行加权得到q0和q1,谁大我们就pred谁。 加权多数算法 – 训练三、Bagging如果我们只有一个弱学习器,如何通过集成来提升它的表现? 不同的数据上训练可以获得不同的基础模型 一个朴素的方法: 从训练集种采样不同的子集且训练不同的基础模型 这些模型会大不相同,但它们的效果可能很差。 解决办法: 拔靴采样(Bootstrap sampling)
Bagging 算法For t = 1, 2, …, T Do
最后,分类一个新的样本x∈X 时,通过对 Ht 多数投票(等权重)。 比如我们从大集合S中放回采样T组,每组样例都有自己的训练值ci,来了一个新的样本x,我们对每个ci(x)进行输出投票。 数据集: Rousseeuw 和 Leroy (1986),臭氧含量 vs. 温度。 100 拔靴采样样本。 灰色线条: 初始的10个预测器; 红色线条: 平均。 ?Breiman “Bagging Predictors” Berkeley Statistics Department TR#421, 1994。 给定样例集S,Breiman重复下列工作100次报告平均结果: 方法 I:
方法 II: ????????重复50次: 生成拔靴采样集合Di , 进行决策树学习,记 eB 为决策树多数投票在测试 集T上的错误率 (集成大小 = 50) 同样的实验,但使用最近邻分类器 (欧式距离) 发生了什么? 为什么 ? Bagging:讨论Bagging 在学习器“不稳定”时有用,关键是预测方法的不稳定性。 ????????E.g. 决策树、神经网络 为什么?
总结加权多数算法
Bagging
四、Boosting是否有一个集成算法能够考虑学习中数据的差异性? 基本想法--从失败中学习
AdaBoost简而言之:少数提升,多数降低。 AdaBoost.M1此时做错的一定是少数派,我们把正确的降低权重(β<1, 归一化),重复t轮融合,去新的权重log(1/β) 我们不停地更新权重w1,w2...wT,把每一个分类器(带着自己权值)融合在一起,来一个新的样本时加权计算。 例如: ?最终假设 AdaBoost在实际使用时的优点
AdaBoost注意事项性能依赖于 数据 & 弱学习器 在下列情况中使用AdaBoost会 失效
过去的实验表明,AdaBoost 似乎 很容易受到噪声的影响 五、讨论Bagging vs. Boosting训练集合
预测函数
效果
重新调权 vs. 重新采样
Bagging & boosting 应用
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 1:35:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |