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

机器学习基础 衡量模型性能指标

目录

1 前言

​编辑1.1 错误率(Error rate)&精度(Accuracy)&误差(Error):

 1.2 过拟合(overfitting): 训练误差小,测试误差大

 1.3 欠拟合(underfitting):训练误差大,测试误差大

1.4 MSE:

1.5 RMSE:

1.6 MAE:

1.7 R-Squared:

2 准确度的缺陷 :

3 混淆矩阵:

4 精准率:

​5 召回率:

6 准确率:

7 F1 Score:

8 宏平均和微平均:

9 偏差与方差:

思考:如何解决偏差、方差问题?


1 前言

大家知道已经,机器学习通常都是将训练集上的数据对模型进行训练,然后再将测试集上的数据给训练好的模型进行预测,最后根据模型性能的好坏选择模型,对于分类问题,大家很容易想到,可以使用正确率来评估模型的性能,那么回归问题可以使用哪些指标用来评估呢?

1.1 错误率(Error rate)&精度(Accuracy)&误差(Error):

  • 错误率: 分类错误的样本数占样本总数的比例:E=a/m
  • 精度: Accuracy=1-a/m
  • 误差:学习器的实际预测输出与样本的真实输出之间差异
  • 训练(经验)误差(training/empirical error):训练集上的误差
  • 测试误差(testing error):测试集上的误差
  • 泛化误差(generalization error):除训练集外所有样本上的误差

 由于事先并不知道新样本的特征,我们只能努力使经验误差最小化;

很多时候虽然能在训练集上做到分类错误率为零,分类精度为100%,但多数情况下这样的学习器并不好。

 1.2 过拟合(overfitting): 训练误差小,测试误差大

学习器把训练样本学习的“太好”,将训练样本本身的特点  当做所有样本的一般性质,导致泛化性能下降

  • 优化目标加正则
  • 增加样本数量
  • early stop

 1.3 欠拟合(underfitting):训练误差大,测试误差大

训练样本的一般性质尚未学好

  • 决策树:拓展分支
  • 神经网络:增加训练轮数

1.4 MSE:

MSE (Mean Squared Error)叫做均方误差,公式如下:

\frac{1}{m}sum_{i=1}^{m}(y^{i}-p^{i})^{2}

其中_{_{_{}^{}}^{}}^{}y^{i}表示第 i个样本的真实标签,p^{i}表示模型对第 i 个样本的预测标签。线性回归的目的就是让损失函数最小。那么模型训练出来了,我们在测试集上用损失函数来评估模型就行了。

1.5 RMSE:

RMSE(Root Mean Squard Error)均方根误差,公式如下:

sqrt\frac{1}{m}sum_{i=1}^{m}(y^{i}-p^{i})^{2}

 RMSE 其实就是 MSE 开个根号。有什么意义呢?其实实质是一样的。只不过用于数据更好的描述。

例如:要做房价预测,每平方是万元,我们预测结果也是万元。那么差值的平方单位应该是千万级别的。那我们不太好描述自己做的模型效果。怎么说呢?我们的模型误差是多少千万?于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的了,在描述模型的时候就说,我们模型的误差是多少万元。

1.6 MAE:

MAE (平均绝对误差),公式如下:

\frac{1}{m}sum_{i=1}^{m}|y^{i}-p^{i}|^{2}

MAE 虽然不作为损失函数,确是一个非常直观的评估指标,它表示每个样本的预测标签值与真实标签值的 L1 距离。

1.7 R-Squared:

上面的几种衡量标准针对不同的模型会有不同的值。比如说预测房价 那么误差单位就是万元。数子可能是 3,4 ,5 之类的。那么预测身高就可能是 0.1,0.6 之类的。没有什么可读性,到底多少才算好呢?不知道,那要根据模型的应用场景来。 看看分类算法的衡量标准就是正确率,而正确率又在 0~1 之间,最高百分之百。最低 0 。如果是负数,则考虑非线性相关。很直观,而且不同模型一样的。那么线性回归有没有这样的衡量标准呢?
 R-Squared 就是这么一个指标,公式如下:

R^{2}=1-\frac{sum_{i}(p^{i}-y^{i})^{2}}{sum_{i}(y_{mean}^{i}-y^{i})^{2}}

其中y mean表示所有测试样本标签值的均值。为什么这个指标会有刚刚我们提到的性能呢?我们分析下公式:

其实分子表示的是模型预测时产生的误差,分母表示的是对任意样本都预测为所有标签均值时产生的误差,由此可知:

  1. R^{2}leq1,当我们的模型不犯任何错误时,取最大值 1。
  2. 当我们的模型性能跟基模型性能相同时,取 0。
  3. 如果为负数,则说明我们训练出来的模型还不如基准模型,此时,很有可能我们的数据不存在任何线性关系。

2 准确度的缺陷 :

准确度这个概念相信对于大家来说肯定并不陌生,就是正确率。例如模型的预测结果与数据真实结果如下表所示:

编号预测结果真实结果
112
242
333
422
524

很明显,算出来该模型的准确度为 2/5。

那么准确对越高就能说明模型的分类性能越好吗?非也!举个例子,现在我开发了一套信号传播信道系统,只要输入你的一些基本信号传播信道信息,就能预测出你现在是否有NLOS,并且分类的准确度为 0.999。您认为这样的系统的预测性能好不好呢?

您可能会觉得,哇,这么高的准确度!这个系统肯定很牛逼!但是我们知道,一般信号传播信道的概率非常低,假设分类的概率为 0.001,那么其实我这个信号传播信道系统只要一直输出NLOS,准确度也可能能够达到 0.999。

看到这里您应该已经体会到了,一个分类模型如果光看准确度是不够的,尤其是对这种样本极度不平衡的情况( 10000 条正常信息数据中,只有 1 条的类别是NLOS,其他的类别都是LOS)。

3 混淆矩阵:

混淆矩阵是机器学习模型评估的原始依据之一,通常可以用于评估一个分类器的分类性能[71]。该方法主要针对二元分类问题,可以将数据集分为肯定类和否定类,分类器做出阳性和阴性的判断。混淆矩阵的分类情形分析表显示四组不同的判断结果为真阳性(TP)、假阳性(FT)、真阴性(TN)、假阴性(FN),为分类器的评估指标提供了推导基础。

以信号传播信道预测为例,真阳性与假阴性分别是传播信道为LOS和传播信道为NLOS的结果阳性,真阴性和假阳性分别是传播信道为NLOS和传播信道为LOS的结果阴性。可以看出,真阳性和真阴性是信道传播正确的分类。如表1-1所示。

表1-1    混淆矩阵

混淆矩阵

预测值

传播信道为LOS

传播信道为NLOS

真实值

传播信道为LOS

Ture Positive,TP

False Negative,FN

传播信道为NLOS

False Positive,FP

True Negative,TN

4 精准率:

准确率是所有类别整体性能的平均,如果希望对每个类都进行性能估计,就需要计算精确率(Precision)和召回率(Recall).精确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,在机器学习的评价中也被大量使用.

精准率(Precision)也称为FPR,指的是模型预测为 Positive 时的预测准确度,其计算公式如下:

Precisionin=\frac{TP}{TP+FP}


​5 召回率:

召回率(Recall)也称为TPR,指的是我们关注的事件发生了,并且模型预测正确了的比值,其计算公式如下:

Recall=\frac{TP}{FN+TP}

也就是说 TPR 就是召回率。所以 TPR 描述的是模型预测 Positive 并且预测正确的数量占真实类别为 Positive 样本的比例。而 FPR 描述的模型预测 Positive 并且预测错了的数量占真实类别为 Negtive 样本的比例。

模型的精准率变高,召回率会变低,精准率变低,召回率会变高。

6 准确率:

由于混淆矩阵统计的是分类正确和错误的个数,只针对数量的分析对于模型优劣的衡量很难完成,故可以通过使用准确率(Accuracy,A)进行分类器的性能评估,计算公式如式所示。

A=\frac{TP+TN}{TP+TN+FP+FN}

7 F1 Score:

精准率变高,召回率会变低,精准率变低,召回率会变高。那如果想要同时兼顾精准率和召回率,这个时候就可以使用 F1 Score 来作为性能度量指标了。

F1 Score 是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。 F1 Score 可以看作是模型准确率和召回率的一种加权平均,它的最大值是 1,最小值是 0。其公式如下:

F1=\frac{2*precision*racall}{prercision+recall}

  • 假设模型 A 的精准率为 0.2,召回率为 0.7,那么模型 A 的 F1 Score 为 0.31111。
  • 假设模型 B 的精准率为 0.7,召回率为 0.2,那么模型 B 的 F1 Score 为 0.31111。
  • 假设模型 C 的精准率为 0.8,召回率为 0.7,那么模型 C 的 F1 Score 为 0.74667。
  • 假设模型 D 的精准率为 0.2,召回率为 0.3,那么模型 D 的 F1 Score 为 0.24。

从上述 4 个模型的各种性能可以看出,模型C的精准率和召回率都比较高,因此它的 F1 Score 也比较高。而其他模型的精准率和召回率要么都比较低,要么一个低一个高,所以它们的 F1 Score 比较低。

这也说明了只有当模型的精准率和召回率都比较高时 F1 Score 才会比较高。这也是 F1 Score 能够同时兼顾精准率和召回率的原因。

8 宏平均和微平均:

为了计算分类算法在所有类别上的总体精确率、召回率和F1值,经常使用两种平均方法,分别称为宏平均(Macro Average)和微平均(MicroAverage)。

宏平均是每一类的性能指标的算术平均值。微平均是每一个样本的性能指标的算术平均值.对于单个样本而言,它的精确率和召回率是相同的(要么都是1,要么都是0)。因此精确率的微平均和召回率的微平均是相同的。同理,F1 值的微平均指标是相同的。当不同类别的样本数量不均衡时,使用宏平均会比微平均更合理些.宏平均会更关注小类别上的评价指标。

9 偏差与方差:

通过实验可以估计学习算法的泛化性能,而“偏差-方差分解”可以用来帮助解释泛化性能。偏差-方差分解试图对学习算法期望的泛化错误率进行拆解。

  1. 偏差度量了学习算法期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力
  2. 方差度量了同样大小训练集的变动所导致的学习性能的变化,即刻画数据扰动所造成的影响;
  3. 噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度

泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务为了取得好的泛化性能,需要使偏差小(充分拟合数据)而且方差较小(减少数据扰动产生的影响)

一般来说,偏差与方差是有冲突的,称为偏差-方差窘境。

如下图所示,假如我们能控制算法的训练程度:

  1. 在训练不足时,学习器拟合能力不强,训练数据的扰动不足以使学习器的拟合能力产生显著变化,此时偏差主导泛化错误率;
  2. 随着训练程度加深,学习器拟合能力逐渐增强,方差逐渐主导泛化错误率;
  3. 训练充足后,学习器的拟合能力非常强,训练数据的轻微扰动都会导致学习器的显著变化,若训练数据自身非全局特性被学到则会发生过拟合。

思考:如何解决偏差方差问题?

整体思路:首先,要知道偏差和方差是无法完全避免的,只能尽量减少其影响。

1)在避免偏差时,需尽量选择正确的模型,一个非线性问题而我们一直用线性模型去解决,那无论如何,高偏差是无法避免的。

2)有了正确的模型,我们还要慎重选择数据集的大小,通常数据集越大越好,但大到数据集已经对整体所有数据有了一定的代表性后,再多的数据已经不能提升模型了,反而会带来计算量的增加。而训练数据太小一定是不好的,这会带来过拟合,模型复杂度太高,方差很大,不同数据集训练出来的模型变化非常大。

3)最后,要选择合适的模型复杂度,复杂度高的模型通常对训练数据有很好的拟合能力。

           

  

相关文章:

机器学习基础 衡量模型性能指标

目录 1 前言 ​编辑1.1 错误率(Error rate)&精度(Accuracy)&误差(Error): 1.2 过拟合(overfitting): 训练误差小,测试误差大 1.3 欠拟合(underfitting):训练误差大,测试误差大 1.4 MSE: 1.5 RMSE: 1.6 MAE: 1.7 R-S…...

《OpenCV计算机视觉》-对图片的各种操作(均值、方框、高斯、中值滤波处理)及形态学处理

文章目录 《OpenCV计算机视觉》-对图片的各种操作(均值、方框、高斯、中值滤波处理)边界填充阈值处理图像平滑处理生成椒盐图片均值滤波处理方框滤波处理高斯滤波处理中值滤波处理 图像形态学腐蚀膨胀开运算闭运算顶帽和黑帽 《OpenCV计算机视觉》-对图片…...

如何让Tplink路由器自身的IP网段 与交换机和电脑的IP网段 保持一致?

问题分析: 正常情况下,我的需求是:电脑又能上网,又需要与路由器处于同一局域网下(串流Pico4 VR眼镜),所以,我是这么连接 交换机、路由器、电脑 的: 此时,登录…...

【JetPack】Navigation知识点总结

Navigation的主要元素&#xff1a; 1、Navigation Graph&#xff1a; 一种新的XML资源文件,包含应用程序所有的页面&#xff0c;以及页面间的关系。 <?xml version"1.0" encoding"utf-8"?> <navigation xmlns:android"http://schemas.a…...

InnoDB引擎的内存结构

InnoDB擅长处理事务&#xff0c;具有自动崩溃恢复的特性 架构图&#xff1a; 由4部分组成&#xff1a; 1.Buffer Pool&#xff1a;缓冲池&#xff0c;缓存表数据和索引数据&#xff0c;减少磁盘I/O操作&#xff0c;提升效率 2.change Buffer&#xff1a;写缓冲区&#xff0c…...

Y3地图制作1:水果缤纷乐、密室逃脱

文章目录 一、水果缤纷乐1.1 游戏设计1.1.1 项目解析1.1.2 项目优化1.1.3 功能拆分 1.2 场景制作1.2.1 场景需求1.2.2 创建主镜头、绘制草稿&#xff0c;构思文案和情景1.2.3 构建场景地图1.2.4 光源与氛围设置 1.3 游戏初始化1.3.1 物编、UI预设置1.3.2 游戏初始化1.3.2 玩家初…...

ESP32_H2(IDF)学习系列-ADC模数转换(连续转换)

一、简介&#xff08;节选手册&#xff09; 1 概述 ESP32-H2 搭载了以下模拟外设&#xff1a; • 一个 12 位逐次逼近型模拟数字转换器 (SAR ADC)&#xff0c;用于测量最多来自 5 个管脚上的模拟信号。 • 一个温度传感器&#xff0c;用于测量及监测芯片内部温度。 2 SAR ADC 2…...

如何通过TikTok成功引流到独立站

随着短视频平台的迅猛发展&#xff0c;TikTok已成为全球最受欢迎的社交媒体之一&#xff0c;尤其是在年轻用户群体中更是势不可挡。如果你是一个独立站&#xff08;如电商网站、博客、个人品牌站等&#xff09;的运营者&#xff0c;那么如何通过TikTok引流到独立站已经成为一个…...

生成签名文件 .keystore

打开java sdk 到bin目录&#xff08;D:\JDK\Java\jdk1.8.0_202\bin&#xff09;&#xff0c;打开dos窗口执行以下命令&#xff1a; 命令行输入&#xff1a; 1、生成签名文件&#xff1a;&#xff08;-alias 别名 validity 有效期 9125 天&#xff09; keytool -genkeypair -v…...

Mono里运行C#脚本3—mono_jit_init

前面已经介绍了配置参数的读取,这样就可以把一些特殊的配置读取进来,完成了用户配置阶段的参数,接着下来就需要进行大工程的建造了。 为什么这样说呢,因为需要解释并执行C#编译的受托管的代码,相当于就是建立一个C#代码运行的虚拟机,而这个虚拟机还是很复杂的,不但要支…...

龙迅#LT6911C适用于HDMI转MIPI/LVDS产品应用,分辨率高达4K30HZ,内置程序,支持KEY(HDCP)!

1. 描述 LT6911C 是一款高性能 HDMI1.4/DP 转 MIPIDSI/CSI/LVDS 芯片&#xff0c;适用于 VR/智能手机/显示应用。 对于 MIPIDSI/CSI 输出&#xff0c;LT6911C具有可配置的单端口或双端口 MIPIDSI/CSI&#xff0c;具有 1 个高速时钟通道和 1~4 个高速数据通道&#xff0c;运行…...

阿里云虚拟主机ecs镜像如何转移到本地virtualbox上

导出阿里云 ECS 镜像 创建快照:登录阿里云 ECS 控制台,找到对应的 ECS 实例,创建一个快照,等待快照创建完成。创建自定义镜像:基于创建好的快照,创建一个自定义镜像,填写镜像名称和描述等信息。导出镜像:镜像创建完成后,点击 “导出镜像”,并授权访问,将镜像导出到阿…...

虚拟机桥接模式

主机Win10,虚拟机xp 1.虚拟机设置中选择桥接模式 2.在虚拟机菜单&#xff1a;编辑>虚拟机网络编辑&#xff0c;点击“更改设置”&#xff0c;可以看到三个网卡&#xff0c;这三个网卡分别对应不同的网络共享模式。桥接模式须使用VMnet0&#xff0c;如果没看到这个网卡&…...

酷睿i7和i5哪个好?i5和i7的区别介绍

在英特尔酷睿处理器家族中&#xff0c;i7与i5作为面向不同用户群体的主流产品&#xff0c;各自承载着不同的性能定位与使用价值。在面对“酷睿i7和i5哪个好”的问题时&#xff0c;答案并非一概而论&#xff0c;而是取决于具体的应用需求、预算考量以及对性能与效率的期待。本文…...

STM32 高级 谈一下IPV4/默认网关/子网掩码/DNS服务器/MAC

首先可以通过 winr->输入cmd->输入ipconfig 命令可以查看计算机的各种地址 IPV4&#xff1a;是互联网协议第 4 版&#xff08;Internet Protocol version 4&#xff09;所使用的地址。它是一个 32 位的二进制数字&#xff0c;通常被分为 4 个 8 位的部分&#xff…...

Pytorch | 利用FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集FGSM介绍FGSM代码实现FGSM算法实现攻击效果 代码汇总fgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexNet对CIFAR10进行分类 Pytorch | 从零构建Vgg…...

消息队列(二)消息队列的高可用原理

高可用的定义 上一篇文章提过&#xff0c;引入了消息队列的优势在于解耦、并发和缓冲&#xff0c;代价就是让程序的复杂性上升&#xff0c;引入了消息队列后&#xff0c;就需要考虑消息队列对于系统整体的影响&#xff0c;此时消息队列的稳定和健壮就是重中之重。也就是消息队…...

大模型-使用Ollama+Dify在本地搭建一个专属于自己的聊天助手与知识库

大模型-使用OllamaDify在本地搭建一个专属于自己的知识库 1、本地安装Dify2、本地安装Ollama并解决跨越问题3、使用Dify搭建聊天助手4、使用Dify搭建本地知识库 1、本地安装Dify 参考往期博客&#xff1a;https://guoqingru.blog.csdn.net/article/details/144683767 2、本地…...

深入理解索引的最左匹配原则:底层逻辑解析

1. 什么是最左匹配原则&#xff1f; 最左匹配原则是指在使用复合索引时&#xff0c;查询条件从左到右依次匹配索引列的顺序&#xff0c;一旦中间有列未匹配&#xff0c;索引将停止工作或部分失效。 1.1 举例说明 假设我们有一张用户表&#xff08;users&#xff09;&#xf…...

微服务——数据管理与一致性

1、在微服务架构中&#xff0c;每个微服务都有自己的数据库&#xff0c;这种设计有什么优点和挑战&#xff1f; 优点挑战服务自治&#xff1a;每个微服务可独立选择适合自己的数据库类型。数据一致性&#xff1a;跨微服务的事务难以保证强一致性。故障隔离&#xff1a;一个微服…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...