机器学习-面经(part6、集成学习)

news2024/11/17 19:37:27

10 集成学习

        定义:通过结合多个学习器(例如同种算法但是参数不同,或者不同算法),一般会获得比任意单个学习器都要好的性能,尤其是在这些学习器都是"弱学习器"的时候提升效果会很明显。

10.1 Boosting(提升法)

         可以用于回归和分类 问题,它每一步产生一个弱预测模型(如决策树 ),并加权累加到总模型中加权累加到总模型中;如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升。

        梯度提升算法首先给定一个目标损失函数,它的定义域是所有可行的弱函数集合;提升算法通过迭代的选择一个负梯度方向上的基函数来逐渐逼近局部最小值。

提升的理论意义:如果一个问题存在弱分类器,则可以通过提升的办法得到强分类器。

基本思想:一个接一个的(串行)训练基学习器,每一个基学习器主要用来修正前面学习器的偏差。

10.1.1 梯度提升(GBDT)

        DT表示使用决策树作为基学习器,使用的CART树。GBDT是迭代,但GBDT每一次的计算是都为了减少上一次的残差,进而在残差减少(负梯度)的方向上建立一个新的模型,其弱学习器限定了只能使用CART回归树模型。     残差=(实际值-预测值)

10.1.1.1 GBDT是训练过程如何选择特征?

        GBDT使用基学习器是CART树,CART树是二叉树,每次使用yes or no进行特征选择,数值连续特征使用的最小均方误差,离散值使用的gini指数。在每次划分特征的时候会遍历所有可能的划分点找到最有的特征分裂点,这是用为什么gbdt会比rf慢的主要原因之一。

10.1.1.2 GBDT如何防止过拟合?

        一般使用缩减因子对每棵树进行降权,可以使用带有dropout的GBDT算法,dart树,随机丢弃生成的决策树,然后再从剩下的决策树集中迭代优化提升树。

        GBDT与Boosting区别较大,它的每一次计算都是为了减少上一次的残差,而为了消除残差,可以在残差减小的梯度方向上建立模型;

        在GradientBoost中,每个新的模型的建立是为了使得之前的模型的残差往梯度下降的方法。

10.1.1.3 梯度提升的如何调参?‍

1. 首先我们从步长(learning rate)和迭代次数(n_estimators)入手。

    开始选择一个较小的步长来网格搜索最好的迭代次数。将步长初始值设置为0.1;

2. 找到了一个合适的迭代次数,对决策树进行调参。首先对决策树最大深度max_depth和内部节点再划分所需最小样本数(min_samples_split)进行网格搜索。

再对min_samples_split和叶子节点最少样本数(min_samples_leaf)一起调参。

得出: {'min_samples_leaf': 60, 'min_samples_split': 1200},

3.对比最开始完全不调参的拟合效果,可见精确度稍有下降,主要原理是我们使用了0.8的子采样,20%的数据没有参与拟合。

需要再对最大特征数(max_features)进行网格搜索。

10.1.1.4 GBDT对标量特征要不要one-hot编码?

        从效果的角度来讲,使用category特征和one-hot是等价的,所不同的是category特征的feature空间更小。微软在lightGBM的文档里也说了,category特征可以直接输入,不需要one-hot编码,准确度差不多,速度快8倍。而sklearn的tree方法在接口上不支持category输入,所以只能用one-hot编码。

10.1.1.5 为什么GBDT用负梯度当做残差?

1. 负梯度的方向可证,模型优化下去一定会收敛

2. 对于一些损失函数来说最大的残差方向,并不是梯度下降最好的方向,倒是损失函数最小与残差最小两者目标不统一

10.1.2 自适应提升(AdaBoost)

定义: 是一种提升方法,将多个弱分类器,组合成强分类器。

Adaboost既可以用作分类,也可以用作回归。

算法实现:

1.提高上一轮被错误分类的样本的权值,降低被正确分类的样本的权值;

2.线性加权求和。误差率小的基学习器拥有较大的权值,误差率大的基学习器拥有较小的权值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1492558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于出国留学和考研比较----以本人双非跨考计算机为例

文章目录 中心论点国内就业现状勿让旧认知害了自己那出国留学真的一无是处了吗?1. 藤校仍旧是具有极高价值2. 时间成本低3. 研究生一定比单纯的本科找工作强!4. 很多人说出国读博好,可以无脑入,真是这样吗? 中心论点 如果在选择出国留学还是国内考研的最终核心诉求都是有更好…

Luajit 2023移动版本编译 v2.1.ROLLING

文章顶部有编好的 2.1.ROLLING 2023/08/21版本源码 Android 64 和 iOS 64 luajit 目前最新的源码tag版本为 v2.1.ROLLING on Aug 21, 2023应该是修正了很多bug, 我是出现下面问题才编的. cocos2dx-lua 游戏 黑屏 并报错: [LUA ERROR] bad light userdata pointer 编…

CSS盒模型居中方法,web小程序开发工具

面试知识点 主要内容包括html,css,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,设计模式,项目等等。 html 1.浏览器页面有哪三层构成&#xff0c…

在Vue中搭建Three.js环境(超详细、保姆级),创建场景、相机、渲染器《一》

目录 Three.js简介创建vue项目引入Three.js实际操作环节文件目录创建初始化场景、相机 Three.js简介 Three.js 是一款基于 WebGL的 JavaScript 3D 库,它封装了 WebGL API,为开发者提供了简单易用的 API 来在 Web 浏览器中展示 3D 图形。Three.js 提供了…

【C#杂谈】在 .NET Framework 中使用新的C#语言特性

前排提示:提出一个可以让 [^1] 这中语法可以在.NET Framework运行时中使用的方法 众所都周知,.NET Framework(以下简称 .NF)作为一个被微软官方确认不在继续发布新特性的运行时,它所对应的C#语言版本被(官方…

Unity使用UnityWebRequest读取音频长度不对的解决方法

在开发的过程中碰到这样一个问题,有的音频文件通过UnityWebRequest读取出来后,AudioClip的Length会不对,比如本身有7秒,读出来只有3秒。代码如下: IEnumerator TestEnumerator() {UnityWebRequest www UnityWebReque…

BERT学习【BERT的例子以及作用】

一、case 1.case1 多输入单输出。通过输入一个句子(sequence),然后输出一个句子的分类(这个句子是正向还是负向)。将句子输入BERT,然后通过softmax输出分类。 2.case2 多输入多输出。输入一个句子&…

专业的安全数据交换系统,如何进行网间数据安全交换?

网络隔离是企业网络安全管理的重要组成部分,它有助于提高网络的整体安全性,保护企业资产和客户数据,同时满足法规合规要求。很多企业为了防止内部核心数据泄露,都实施了网络隔离,比如划分成内网、外网,有的…

安装R语言,完整教程

安装R语言,完整教程 介绍特点 应用场景和用户对象安装教程下载地址安装打开软件 介绍 R语言是一种用于统计分析和数据可视化的编程语言,广泛应用于学术研究、数据科学、商业分析等领域。它由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman于1995年开发…

Ps:色阶

色阶 Levels命令用于改善图像的对比度和调整亮度/暗度平衡,通过操作图像的直方图来精细调整图像的阴影、中间调和高光。 Ps菜单:图像/调整/色阶 Adjustments/Levels 快捷键:Ctrl L Ps菜单:图层/新建调整图层/色阶 New Adjustment…

Acwing 周赛145 解题报告 | 珂学家 | 贪心构造

前言 整体评价 VP了这场比赛&#xff0c;偏简单吧。T3是道贪心构造题&#xff0c;卡语言&#xff0c;因为题和数都是从CF拿来的。 A. 平均成绩 思路: 模拟 这边有个小技巧&#xff0c;就是规避浮点运算。 可以左右侧都乘以3。 #include <bits/stdc.h>using namespac…

稀碎从零算法笔记Day9-LeetCode:最后一个单词的长度

题型&#xff1a;字符串、反转字符串 链接:58. 最后一个单词的长度 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述&#xff08;红字为笔者添加&#xff09; 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔…

Linux Ubuntu 部署SVN

最近需要在ubuntu server上部署一个svn&#xff0c;记录 不需要特定版本 如果不需要特定版本&#xff0c;这样安装就是最简单的 sudo apt update然后开始安装 sudo apt install subversion等到安装完成之后执行查看版本命令&#xff0c;如果正常输出那就没问题了 svnadmin …

Rust 开发的高性能 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

最近&#xff0c;我在 Python 潮流周刊 中分享了一个超级火爆的项目&#xff0c;这还不到一个月&#xff0c;它在 Github 上已经拿下了 8K star 的亮眼成绩&#xff0c;可见其受欢迎程度极高&#xff01;国内还未见有更多消息&#xff0c;我趁着周末把一篇官方博客翻译出来了&a…

绝地求生:调整不同血雾颜色效果,显著提升抽靶击中时的反馈效果

嗨&#xff0c;我是闲游盒~ 有很多玩家在玩游戏时&#xff0c;游戏设置方面默认的偏多&#xff0c;其中就有击中敌人时&#xff0c;血雾颜色呈暗绿色&#xff0c;导致抽靶时不好判断是否击中敌人。 在补枪方面也有很大影响&#xff0c;尤其在植被茂密的地形中。 你看得出来被击…

EPSON RA8000CE (RTC模块)压电侠

RA8000CE是一个集成了32.768 kHz数字温度补偿晶体振荡器(DTCXO)的RTC模块。它包括各种功能&#xff0c;如具有闰年校正的秒到年时钟/日历&#xff0c;时间警报&#xff0c;唤醒计时器&#xff0c;时间更新中断&#xff0c;时钟输出和时间戳功能&#xff0c;可以在外部或内部事件…

【Photoshop2020版本】零基础笔记(一)

哈喽大家好~最近博客内容换方向了哈哈哈~换成“实用版”了。 今天给大家带来的是 PS 相关内容 其实我也是刚学PS&#xff0c;所以想着自己做笔记还不如发布出去&#xff0c;让大家都能看到&#xff0c;有兴趣的伙伴们&#xff0c;可以跟着我的笔记一块学习&#xff0c;这个专…

出现身份验证错误,无法连接到本地安全机构 顺利解决这个问题希望能帮助大家

出现身份验证错误&#xff0c;无法连接到本地安全机构&#xff0c;远程计算机&#xff1a;XX&#xff0c;这可能是由于密码过期&#xff0c;如果密码已过期请更新密码。 我们可以在系统属性中对远程进行设置&#xff0c;以解决远程桌面无法连接到本地安全机构这一问题。 步骤…

HTML常用的五种标签,太棒了

form表单细节 一、表单 1.表单 标签用于为用户输入创建 HTML 表单 2.表单能够包含 input 元素&#xff0c;比如文本字段、复选框、单选框、提交按钮等等。 3.表单还可以包含 menus、textarea、fieldset、legend 和 label 元素。 4.表单用于向服务器传输数据。 二、表单form 的…

大语言模型在科技研发与创新中的角色在快速变化

在技术研发与创新中&#xff0c;比如在软件开发、编程工具、科技论文撰写等方面&#xff0c;大语言模型可以辅助工程师和技术专家进行快速的知识检索、代码生成、技术文档编写等工作。在当今的软件工程和研发领域&#xff0c;尤其是随着大语言模型技术的快速发展&#xff0c;它…