当前位置: 首页 > news >正文

集成学习的小九九

        集成学习(Ensemble Learning)是一种机器学习的方法,通过结合多个基本模型的预测结果来进行决策或预测。集成学习的目标是通过组合多个模型的优势,并弥补单个模型的不足,从而提高整体性能。

集成学习的主要策略

在集成学习中,有两个主要的策略:平均法和投票法。

  • 平均法:平均法通过对多个模型的预测结果进行平均或加权平均,得到最终的预测结果。例如,对于回归问题,可以计算多个模型的预测值的平均值作为最终的预测结果;对于分类问题,可以采用投票法来进行决策。
  • 投票法:投票法通过对多个模型的预测结果进行投票,选择得票最多的类别作为最终的预测结果。例如,对于分类问题,可以将每个模型的预测结果看作一个投票,并选择得票最多的类别作为最终的分类结果。

集成学习的优势

集成学习的优势在于:

  1. 提高泛化能力:集成学习能够通过结合多个模型的预测结果,减少单个模型的偏见和方差,从而提高整体的泛化能力,降低过拟合的风险。
  2. 提高预测准确性:通过集成多个模型,可以利用各自模型的优势,弥补单个模型的不足,从而提高最终的预测准确性。
  3. 增加稳定性:集成学习能够降低模型的不确定性,提高系统的稳定性和鲁棒性,对异常数据或噪声具有较好的抗干扰能力。

集成学习分类 

目前的集成学习方法分为两类(Boosting类方法、Bagging类方法):
1)个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表算法Boosting类方法;
2)个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表算法Bagging类方法;bagging类方法又可分为:bagging、随机森林等。 boosting类方法又可分为:AdaBoost、GBDT等。

Bagging类方法

个体学习器间不存在强依赖关系、可同时生成的并行化方法

Bagging类方法结构图

 

主要代表方法 

Bagging

定义是通过不同模型的训练数据集的独立性来提高不同模型之间的独立性我们在原始训练集上进行有放回的随机采样得到𝑀 个比较小的训练集并训练𝑀 个模型然后通过投票的方法进行模型集成。

Bagging方法结构图

Bagging的步骤如下:

  1. 自助采样:从原始训练集中通过有放回地随机采样生成多个不同的采样集(有些样本可能会被重复采样,有些样本可能被遗漏),每个采样集的大小与原始训练集相同。
  2. 基本模型训练:使用每个采样集独立地训练一个基本模型,可以使用相同的学习算法或不同的学习算法。每个模型都是在略有差异的数据子集上进行训练的。
  3. 预测整合:对于回归问题,通常将每个基本模型的预测结果进行平均,得到最终的预测值;对于分类问题,则进行投票,选择得票最多的类别作为最终的预测结果。

Bagging的优势在于:

  1. 减小方差:由于每个基本模型都是在不同的数据子集上训练的,因此它们之间具有一定的差异性。通过平均或投票整合多个模型的结果,可以减小模型预测的方差,提高整体的泛化能力。
  2. 抗过拟合:自助采样会引入一些随机性和变化性,从而减少模型对训练数据的过度拟合。通过构建多个模型并平均它们的预测结果,可以降低过拟合风险。
  3. 并行化处理:每个基本模型的训练是相互独立的,因此可以并行地进行训练和预测,提高训练效率。

        需要注意的是,Bagging并不能改善模型的偏差(bias),因此如果基本模型本身存在很大的偏差,Bagging可能无法有效提升性能。此外,Bagging方法可能增加模型的复杂度和计算资源消耗,因为需要构建多个模型并进行整合。因此,在使用Bagging时需要权衡集成效果和计算成本之间的平衡。

随机森林RF

 定义:Bagging的基础上再引入了随机特征进一步提高每个基模型之间的独立性在随机森林中每个基模型都是一棵决策树

随机森林简化结构图

 

随机森林的主要步骤如下:

  1. 随机采样:从原始训练集中通过有放回地随机采样得到多个不同的训练子集。每个子集的大小与原始训练集相同,但是可能包含一些重复样本和遗漏样本。
  2. 决策树训练:使用每个训练子集独立地训练一个决策树模型。在构建决策树时,对于每个节点的划分,随机选择一部分特征子集作为候选划分特征,从中选择最优特征进行划分。这样可以增加决策树之间的差异性,提高整体集成模型的多样性。
  3. 预测整合:对于回归问题,随机森林通过对多个决策树的预测结果进行平均,得到最终的预测值;对于分类问题,则进行投票,选择得票最多的类别作为最终的预测结果。

随机森林的优势在于:

  1. 高性能:随机森林在处理大规模数据时具有较好的效率和性能。通过并行训练多个决策树,可以有效利用计算资源。
  2. 鲁棒性:随机森林对于缺失值和异常值具有一定的鲁棒性,它可以处理不完整或有噪声的数据集,并且不容易过拟合。
  3. 变量重要性评估:通过随机森林,可以对特征的重要性进行评估,帮助选择最相关的特征,并进行特征选择。

        需要注意的是,随机森林的参数设置也会影响模型的性能。例如,决策树中的候选划分特征数目、每棵树的最大深度以及随机采样的次数等。合理地选择这些参数可以进一步提高随机森林的性能与泛化能力。

        总之,随机森林是一种强大的集成学习方法,可应用于回归、分类和特征选择等任务,且在许多实际问题中取得了优异的表现。

 Boosting类方法

 个体学习器间存在强依赖关系、必须串行生成的序列化方法

Boosting类方法结构图

Boosting 类方法是一种集成学习的方法。它通过迭代地训练基本模型,并加权整合它们的预测结果来提高整体模型的性能。相比于 Bagging 类方法, Boosting 方法更注重弱分类器之间的关联。

        Boosting 的主要思想是按顺序构建多个基本模型,在每次迭代中关注前一个模型“错分”的样本,尝试对其进行更好的分类。通过不断调整样本权重,让后续模型着重处理前一个模型处理错误的样本。最终,将所有基本模型的预测结果进行加权平均得到最终的预测结果。

Boosting 的步骤如下:

  1. 初始化样本权重:将所有样本的权重初始化为相等值。
  2. 基本模型训练:迭代训练多个基本模型,每个模型都在上一个模型分类错误的样本上进行训练。
  3. 样本权重更新:根据每个基本模型对样本的分类结果,调整每个样本的权重。被错误分类的样本权重会被放大,而被正确分类的样本权重则会缩小。
  4. 集成模型整合:将所有基本模型的预测结果进行加权平均,得到最终的预测结果。

        常见的 Boosting 方法有 AdaBoost(Adaptive Boosting)、GBDT(Gradient Boosting Decision Tree)等。AdaBoost 是 Boosting 方法的经典算法之一,它通过调整样本权重来训练基本模型的分类器。GBDT 是 Boosting 方法的另一种形式,它通过训练多个决策树并加权组合它们的预测结果来提高模型性能。

Boosting 的优势在于:

  1. 高性能: Boosting 可以构建具有很强泛化性能的集成模型,对于各种各样的机器学习问题都具有较好的适应性和表现。
  2. 改善偏差: Boosting 能够有效地处理高偏差问题。通过迭代地训练基本模型,并集成它们的结果,可以不断减少模型的偏差,从而提高模型的预测准确率。
  3. 可解释性: Boosting 中的基本模型通常是简单的分类器或回归器,这使得 Boosting 方法的结果更加可解释。

        需要注意的是,Boosting 方法对数据噪声和离群值比较敏感,因此在使用时需要进行数据清洗和特征选择等预处理。同时,由于 Boosting 方法本身比较复杂,对于计算资源要求高,需要一定的时间和计算成本。

主要代表方法

AdaBoost

        AdaBoost(Adaptive Boosting)是一种著名的 Boosting 方法,旨在提高分类器的性能。它通过迭代地训练一系列弱分类器,并根据它们的分类错误情况动态调整样本权重,最终将这些弱分类器加权组合成一个强分类器。

AdaBoost 训练过程图

AdaBoost 的主要步骤如下:

  1. 初始化样本权重:将所有样本的权重初始化为相等值。
  2. 基本分类器训练:在每次迭代中,使用当前样本权重训练一个弱分类器(例如决策树、神经网络等)。
  3. 分类器权重计算:根据当前分类器在训练集上的分类错误率计算其对应的权重。
  4. 样本权重更新:根据分类器的权重和分类结果,调整样本的权重。被错误分类的样本权重会增加,而被正确分类的样本权重会减小。
  5. 终止条件判断:如果达到预设的迭代次数或分类错误率已满足要求,则停止迭代;否则返回第2步。
  6. 强分类器整合:将每个弱分类器的预测结果进行加权组合,得到最终的预测结果。

AdaBoost 的特点包括:

  1. 自适应调整:AdaBoost 根据每个基分类器的表现自适应地调整样本权重,使其更加关注容易被错分的样本。
  2. 集成模型权重:通过对每个弱分类器的分类错误率计算其权重,能有效地决定其在最终结果中的贡献程度。
  3. 顺序训练:AdaBoost 每次迭代都在前一轮的错误样本上进行训练,以此增强模型对错误样本的学习能力。

AdaBoost 在实际应用中表现出了良好的性能和泛化能力。然而,它也存在一些限制,比如对离群值、噪声和标签错误比较敏感,需要进行数据预处理和异常值处理。此外,AdaBoost 的计算复杂度较高,因为需要训练多个基本分类器并动态调整样本权重。

总体而言,AdaBoost 是一种强大的集成学习方法,广泛应用于分类问题,并且对于处理二分类和多分类任务都具有很好的效果。

GBDT

GBDT(Gradient Boosting Decision Tree)是一种基于梯度提升的集成学习方法,它通过训练多个决策树并加权组合它们的预测结果来提高模型性能。

GBDT 的主要步骤如下:

  1. 初始化模型:将整体模型的初始预测值设为一个常数,通常是目标变量的均值。
  2. 迭代训练决策树:在每次迭代中,训练一个新的决策树来拟合上一轮模型的残差(实际值与当前预测值之间的差异)。
  3. 更新模型预测:将新训练的决策树的预测结果乘以一个较小的学习率,并将其加入到总体模型的预测值中。
  4. 终止条件判断:重复进行第2步和第3步,直到达到预设的迭代次数或满足其他终止条件。

GBDT 的特点包括:

  1. 梯度提升:GBDT 通过迭代地拟合上一轮模型的残差来逐步改进模型的预测效果,这是一种贪心算法。
  2. 决策树集成:GBDT 中使用的基本模型是决策树,每次迭代都会训练一个新的决策树来捕捉模型的残差信息。
  3. 学习率控制:通过引入学习率,可以控制每个决策树对最终模型的贡献程度,避免过拟合。

GBDT 在实际应用中具有广泛的适用性和优势:

  1. 高预测性能:GBDT 能够很好地拟合复杂的非线性关系,并在各种类型的数据集上取得较高的预测准确率。
  2. 特征自动选择:GBDT 可以通过决策树的特性自动选择重要的特征,避免了手动特征工程的繁琐过程。
  3. 处理异构数据:GBDT 能够有效地处理混合类型的数据,包括连续型、离散型和类别型特征。
  4. 处理缺失值:GBDT 能够处理部分特征缺失的情况,不需要对缺失值进行额外的处理。

需要注意的是,由于 GBDT 是一种串行算法,不能进行并行计算,因此在大规模数据集上的训练速度相对较慢。此外,GBDT 对异常值和噪声比较敏感,可能会导致过拟合现象,因此在使用时需要进行数据清洗和调参等操作。

总的来说,GBDT 是一种强大而广泛应用的集成学习方法,适用于回归和分类问题,并在业界和学术界都有广泛的应用。

XGBoost

 XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升决策树的集成学习算法,它是GBDT的一种改进和扩展版本。XGBoost 在性能和扩展性上进行了优化,被广泛应用于机器学习和数据挖掘任务中。

XGBoost 在GBDT的基础上引入了以下几个创新点:

  1. 正则化:引入了正则化项,控制模型复杂度,减少过拟合风险。
  2. 分裂节点的方法:采用近似贪心算法,通过使用Hessian矩阵的二阶导数信息,提高了分裂节点的效率和准确性。
  3. 优化目标函数:使用了更加灵活的目标函数,可以根据具体问题调整代价函数,适应不同的任务需求。
  4. 并行化处理:支持多线程并行计算,加快了模型训练的速度。

XGBoost的特点和优势包括:

  1. 高效性能:XGBoost在内部实现上进行了许多优化,使用了稀疏特征存储、缓存块和并行计算等技术,使得其在大规模数据集上的训练速度更快。
  2. 准确性:XGBoost通过使用正则化和近似贪心算法等技术,能够更好地拟合复杂的非线性关系,提供更准确的预测结果。
  3. 可解释性:XGBoost能够输出特征的重要性信息,帮助用户进行特征选择和模型解释。
  4. 支持多种任务:XGBoost不仅适用于回归和分类问题,还可以处理排序、排名、推荐系统等其他类型的机器学习任务。

总之,XGBoost是一种强大而灵活的梯度提升算法,具有优秀的性能和广泛的应用领域。无论在竞赛中还是实际应用中,XGBoost都展现出了卓越的效果,并成为了机器学习领域中最受欢迎的算法之一。

相关文章:

集成学习的小九九

集成学习(Ensemble Learning)是一种机器学习的方法,通过结合多个基本模型的预测结果来进行决策或预测。集成学习的目标是通过组合多个模型的优势,并弥补单个模型的不足,从而提高整体性能。 集成学习的主要策略 在集成…...

深入理解Scrapy

Scrapy是什么 An open source and collaborative framework for extracting the data you need from websites. In a fast, simple, yet extensible way. Scrapy是适用于Python的一个快速、简单、功能强大的web爬虫框架,通常用于抓取web站点并从页面中提取结构化的数…...

想做WMS仓库管理系统,找了好久才找到云表

公司内部仓库管理原方式均基于人工电子表格管理方式来实现收发存管理,没有流程化管理,无法保证数据的准确性和及时性,同时现场操作和数据核对会出现不同步的情况,无法提高仓库的运作效率,因此,我们基于云表…...

公司销售个人号如何管理?

微信管理系统可以帮助企业解决哪些问题呢? 一、解决聊天记录监管问题 1.聊天记录的保存,让公司的管理者可以随时查看公司任意销售与客户的聊天记录,不用一个一个员工逐一去看,方便管理; 2.敏感词监控,管理者…...

COLE HERSEE 48408 工业4.0、制造业X和元宇宙

COLE HERSEE 48408 工业4.0、制造业X和元宇宙 需要数据来释放工业4.0的全部潜力——价值链中的所有公司都可以访问大量数据。一个新的互联数据生态系统旨在提供解决方案:制造业x。 在德国联邦经济事务和气候行动部以及BDI、VDMA和ZVEI贸易协会的密切合作下,实施制…...

【Vue基础-数字大屏】加载动漫效果

一、需求描述 当网页正在加载而处于空白页面状态时,可以在该页面上显示加载动画提示。 二、步骤代码 1、全局下载npm install -g json-server npm install -g json-server 2、在src目录下新建文件夹mock,新建文件data.json存放模拟数据 {"one&…...

CSS 样式简写

在CSS中有许多简写的样式,它们被广泛使用。简写最好按照如下顺序进行书写 font font: font-style font-weight font-size/line-height font-familyfont-style italic//斜体 normal//正常字体(默认)font-weight 一般填写数字 400 normal(默认值) 700 bold(默认值)f…...

SQL Server创建数据库

简单创建写法 默认初始大小为5MB,增长速度为2MB create database DBTEST自定义 用户创建的数据库都被存放在sys.database中,每个数据库在表中占一行,name字段存放的数据库的名称,具体字段可以看此博客sys.database系统表详细说明 所以判断…...

树莓派安装.NET 6.0

首先安装.Net Core依赖(未使用) sudo apt install -y libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev libcurl4 libcurl4-openssl-dev libssl-dev uuid-dev unzip libgdiplus libc6-dev libkrb5-3 需要安装的依赖微软官方文档已经列出…...

小华HC32F448串口使用

目录 1. 串口GPIO配置 2. 串口波特率配置 3. 串口接收超时配置 4. 串口中断注册 5. 串口初始化 6. 串口数据接收处理 7. DMA接收配置和处理 1. 串口GPIO配置 端口号和Pin脚号跟STM32没什么区别。 串口复用功能跟STM32大不一样。 如下图,选自HC32F448 表 2…...

Redis实现简易消息队列的三种方式

Redis实现简易消息队列的三种方式 消息队列简介 消息队列是一种用于在计算机系统中传递和处理数据的重要工具。如果你完全不了解消息队列,不用担心,我将尽力以简单明了的方式来解释它。 首先,想象一下你正在玩一个游戏,而游戏中…...

基于SpringBoot的在线小说阅读平台系统

基于SpringBoot的在线小说阅读平台系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 个人中心 登录界面 管理员界面 摘要 基于Spring Boot的在线小说阅读…...

VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色

引用地址...

uniapp h5 MD5加密

文章目录 1.当使用 CryptoJS 进行 MD5 加密时,你需要先引入 CryptoJS 库并确保它已经正确安装。下面是一个更详细的示例代码:2.然后,在需要使用 MD5 加密的地方,引入 CryptoJS 代码库:3.接下来,我们定义一个…...

2023_Spark_实验十八:安装FinalShell

下载安装包 链接:https://pan.baidu.com/s/14cOJDcezzuwUYowPsOA-sg?pwd6htc 提取码:6htc 下载文件名称:FinalShell.zip 二、安装 三、启动FinalShell 四、连接远程 linux 服务器 先确保linux系统已经开启,不然连接不上 左边…...

文件服务器管理服务器怎么设置

文件服务器是一种提供文件存储和共享服务的服务器,它可以方便企业内部的员工共享文件,提高工作效率。为了更好地管理和维护文件服务器,需要对其进行合理的设置。下面小编将介绍文件服务器管理服务器的基本设置方法。 一、选择合适的操作系统 …...

LeetCode每日一题——Single Number

文章目录 一、题目二、题解 一、题目 136. Single Number Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. You must implement a solution with a linear runtime complexity and use only constant extra …...

有什么手机软件能分离人声和音乐?

很多人在制作混剪视频,需要二次创作的时候,就经常会把人声分离、背景音乐伴奏提取出来,然后重新加入自己的创意跟想法。下面就一起来看看如何用手机软件分离人声和音乐的吧! 音分轨 一款可以分离人声和背景音乐的手机软件&#x…...

私人服务器可以干嘛

目录 搭建个人网站或博客: 远程桌面: 作为网盘储存: 作为测试和学习环境: 推广产品: 游戏私服(注意,仅限于个人自己单机玩): 个人服务器可以用于多种用途,以下是一些常见的用途:…...

【EI会议征稿】第三届高性能计算与通信工程国际学术会议(HPCCE 2023)

第三届高性能计算与通信工程国际学术会议(HPCCE 2023) 第三届高性能计算与通信工程国际学术会议(HPCCE 2023)将于2023年12月22-24日在长沙召开。HPCCE 2023将围绕“高性能计算与通信工程”的最新研究领域,为来自国内外高等院校、科学研究所、…...

项目管理,如何做到流程标准化?

在PMP管理学习规范化、标准化和流程化的背景下,我们在日常工作中会遇到各种大小不一的工作项目。为了能够确保项目按时高质量地完成,项目管理变得至关重要。项目管理可以简单地解释为,在给定的时间和资源限制下,通过协调有限资源&…...

windows编译ollvm笔记

准备工作 1.找到Android SDK目录配置好cmake环境变量 E:\AndroidSDK\cmake\3.18.1(E:\AndroidSDK为 Android SDK目录地址)。 下载llvm-mingw编译环境(gcc编译器的windows版本,即可以在windows平台上使用gcc编译器),下载地址&…...

问:TCP/IP协议栈在内核态的好还是用户态的好

“TCP/IP协议栈到底是内核态的好还是用户态的好?” 问题的根源在于,干嘛非要这么刻意地去区分什么内核态和用户态。 引子 为了不让本文成为干巴巴的说教,在文章开头,我以一个实例分析开始。 最近一段时间,我几乎每…...

JavaScript-Vue基础语法-创建-组件-路由

文章目录 1.创建vue项目1.1.自定义创建项目1.2.项目结构解析1.3.主要文件1.4.其它 2.项目运行3.Vue组件概念3.1.组件基础概念3.2.单文件组件三要素3.3.组件注册3.4.组件通信 4.Vue路由概念4.1.简单使用4.2.路由参数4.3.嵌套路由4.4.路由导航4.5.代码导航4.6.路由守卫 5.总结 HT…...

前端开发中的 TypeScript 泛型:深入解析

前端开发中的 TypeScript 泛型:深入解析 TypeScript(简称 TS)是一种由微软开发的强类型超集 JavaScript 语言,它为前端开发者提供了更严格的类型检查和更强大的工具支持。其中,泛型是 TypeScript 中的一个强大概念&am…...

06-spring的beanFactoryPostProcessor的执行

文章目录 1. 接口BeanFactoryPostProcessor1.1 英文说明及要点2. BeanDefinitionRegistryPostProcessor3. 执行逻辑4. 几个重要实现类1. 接口BeanFactoryPostProcessor 1.1 英文说明及要点 Factory hook that allows for custom modification of an application context’s b…...

想要精通算法和SQL的成长之路 - 分割数组的最大值

想要精通算法和SQL的成长之路 - 分割数组的最大值 前言一. 分割数组的最大值1.1 二分法 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 分割数组的最大值 原题链接 首先面对这个题目,我们可以捕获几个关键词: 非负整数。非空连续子数组。 那么我…...

【深度学习】【Opencv】【GPU】python/C++调用onnx模型【基础】

【深度学习】【Opencv】【GPU】python/C调用onnx模型【基础】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【Opencv】【GPU】python/C调用onnx模型【基础】前言Python版本OpenCVWindows平台安装OpenCVopencv调用onnx模型 C版本…...

Oracle update 关联更新优化方法

关联更新顾名思义就是指,更新的数据从关联的表中获取并update到目标表。并且该SQL将会是一个天然的嵌套循环。有两种优化思路解决: 1、PLSQL 根据rowid更新 是否需要加order by rowid的考量: 如果buffer cache足够大,能够放得下要…...

USB协议学习(一)帧格式以及协议抓取

USB协议学习(一)帧格式以及协议抓取 笔者来聊聊MPU的理解 这里写自定义目录标题 USB协议学习(一)帧格式以及协议抓取MPU的概念以及作用MPU的配置新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式…...

做企业网站联系/百度投诉中心24小时电话

数据来源百度百科 皮尔森相关系数 皮尔森相关系数的公式为: 样本的简单相关系数一般用r表示,其中n 为样本量, 分别为两个变量的观测值和均值。r描述的是两个变量间线性相关强弱的程度。r的取值在-1与1之间,若r>0,…...

网站数据库 权限设计/交换链接营销实现方式解读

1、项目背景 https://passport.csdn.net/login CSDN登录页面 2、功能实现 自动运行用例 自动生成测试报告 自动断言与截图 自动将最新测试报告发送到指定邮箱 数据,页面元素分离 PageObjectUnittestddt数据驱动用例 执行日志、分布式执行 3、项目架构…...

做网站建本地环境作用/seo网站推广的主要目的包括

前面说完了此项目的创建及数据模型设计的过程。如果未看过,可以到这里查看,并且项目源码已经放大到github上,可以去这里下载。代码也已经部署到sina sea上,地址为http://fengzheng.sinaapp.com/先跳过视图展示及表单处理的部分,先…...

php网站建设制作方案/百度基木鱼建站

智慧警务三维电子沙盘系统 以“情报大数据、指挥扁平化、勤务可视化、情指勤一体化”为设计思想,整合三台合一、有无线通讯、12110短信平台、天网、交通平台、治安卡口、情报平台、一标三实、PGIS、GPS,采用大数据、云计算、三维GIS、移动互联网、物联…...

有域名了怎么做网站/百度信息流推广技巧

目录一、RequestMapping1.作用范围:2.属性二、请求参数的绑定三、请求参数乱码问题四、自定义类型转换器1.定义一个转换类实现Converter接口2.在springmvc的配置文件中配置类型转换器3.在springmvc配置文件中引用配置的类型转换五、使用Servlet原生API六、一些常用注…...

陕西煤业化工建设集团网站/seo优化内页排名

一、WebSocket与HTTP长轮询WebSocket属于HTML5 规范的一部分,提供的一种在单个 TCP 连接上进行全双工通讯的协议。允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连…...