机器学习可解释性

机器学习可解释性

  • 可解释性重要性
  • 可解释性事前与事后
  • 可解释模型
    • 线性回归
      • 可解释性
      • example
      • 权重显著性判断
    • 逻辑回归
      • 可解释
      • Example

可解释性重要性

机器学习模型在表现良好时,我们不能简单地信任其预测结果而忽略其决策原因。单一指标如分类准确率对现实世界任务来说是不完整的。因此,可解释性对于了解预测原因、模型的弱点以及修复系统非常重要。

可解释性的重要性包括满足人类的好奇心和学习需求,协调知识结构中元素之间的矛盾,检测模型的偏见,增加社会接受度,并用于管理社会互动。解释还有助于调试和审核机器学习模型,特别是在产品部署后出现问题时。通过解释决策,我们可以更轻松地检查公平性、隐私、鲁棒性、因果关系和信任等特征。

这种废话太多了,反正就是一句话可解释性好用,重要

可解释性事前与事后

可解释性分为事前(前置解释性)和事后(后置解释性)两种类型,它们分别强调了在构建模型之前和构建模型之后理解和解释模型的重要性。

  1. 事前可解释性(前置解释性):

事前可解释性指的是在构建机器学习模型之前,通过合理的模型选择、特征工程和设计等步骤,使模型更易于解释和理解。在这个阶段,我们采取一些措施来确保模型在构建过程中就具备较好的可解释性。这包括选择简单且易于解释的模型结构,使用人类可理解的特征,对特征进行预处理以减少冗余信息,以及遵循监管要求等。事前可解释性的优点是在模型构建阶段就能获得较好的解释性,使模型的决策过程更加透明和可信。

  1. 事后可解释性(后置解释性):

事后可解释性指的是在构建机器学习模型之后,通过解释方法和工具来分析已经构建好的模型,从而理解其内部决策过程和预测结果。在这个阶段,我们使用一些解释技术,如局部模型解释、特征重要性分析、影响力分析等,来帮助我们理解模型是如何做出预测的,哪些特征对预测结果产生了重要影响,以及模型的决策是否合理和可信。事后可解释性的优点是,即使我们在构建模型时没有考虑可解释性,通过后续的解释分析,仍然可以获得对模型的解释,从而增强对模型的理解和信任。

事前和事后可解释性相辅相成,都对于提高机器学习模型的可信度和可靠性至关重要。在构建模型时,我们可以通过合理的模型选择和特征工程来增强模型的可解释性。在模型构建完成后,我们可以使用解释技术来深入分析模型,理解其决策过程,发现潜在问题,并做出相应的优化和改进。综合两种解释性方法,我们可以更全面地了解和解释机器学习模型,从而使模型更具有可解释性和可信度。

可解释模型

线性回归

线性回归模型将目标变量预测为特征输入的加权和。学习到的线性关系使得解释容易。统计学家、计算机科学家以及其他处理定量问题的人长期以来一直使用线性模型。

线性模型可用于描述回归目标 y y y在一些特征 x x x上的依赖关系。对于单个实例 i i i,学习到的关系可表示为:

y = β 0 + β 1 x 1 + . . . + β p x p + ϵ y = \beta_0+\beta_1x_1+...+\beta_px_p+\epsilon y=β0+β1x1+...+βpxp+ϵ

实例的预测结果:其实是 p p p个特征的加权和。参数 β j \beta_j βj表示学习到的特征权重或系数。总和中的第一个权重( β 0 \beta_0 β0)称为截距,不与特征相乘。 ϵ \epsilon ϵ是存在的误差,即预测值与实际结果之间的差异。这些误差假定遵循高斯分布,意味着在负向和正向都会出现误差,并且会出现许多小误差和少数大误差。

可以使用各种方法来估计最优权重。通常使用普通最小二乘法来找到最小化实际结果与预测结果之间差异的权重:

β ^ = a r g m i n β 0 , . . . , β p ∑ i = 1 n ( y ( i ) − ( β 0 + ∑ j = 1 p β j x j ( j ) ) ) 2 \hat \beta = argmin_{\beta_0,...,\beta_p}\sum_{i=1}^n(y^{(i)}-(\beta_0+\sum_{j=1}^p\beta_jx_j^{(j)}))^2 β^=argminβ0,...,βpi=1n(y(i)(β0+j=1pβjxj(j)))2

估计的权重附带置信区间。置信区间是对权重估计的范围,它以一定的置信度覆盖“真实”权重。例如,一个权重为2的95%置信区间可能从1到3。对于这个区间的解释是:如果使用新采样的数据重复100次估计,置信区间将在100次中的95次包含真实权重,前提是线性回归模型是正确的数据模型。

通过估计权重的置信区间,我们可以判断权重是否对于模型来说是显著的

另外可解释性线性模型的正确性取决于数据中的关系是否符合一些重要假设。这些假设包括:

  1. 线性关系:可解释性线性模型假设因变量与自变量之间存在线性关系,即因变量的变化可以由自变量的线性组合来解释。如果数据中的关系是非线性的,线性模型可能无法准确捕捉数据的变化。
  2. 正态性:线性模型假设残差(预测值与真实值之间的差异)是服从正态分布的。这个假设在许多统计推断和模型评估中都很重要。如果数据不符合正态分布,模型的推断和预测可能会受到影响。
  3. 同方差性:线性模型假设残差的方差是恒定的,即在不同的自变量取值范围内,残差的方差应该保持不变。如果数据不符合同方差性假设,可能需要进行数据转换或使用其他类型的模型。
  4. 独立性:线性模型假设观测之间是相互独立的,即一个观测的误差不会影响其他观测的误差。在时间序列数据或空间相关性较强的数据中,可能需要考虑违反独立性假设的情况。
  5. 固定特征:线性模型假设自变量是固定的,即不随时间或其他条件的改变而变化。如果自变量是随时间变化的,可能需要考虑使用时间序列模型或其他动态模型。
  6. 无多重共线性:线性模型假设自变量之间不存在高度相关性。多重共线性会导致估计的系数不稳定和模型的不确定性增加。

在应用可解释性线性模型时,必须认真检查数据是否满足这些假设。如果数据不符合这些假设,可能需要采取数据预处理或使用其他更适合数据特征的模型来获得更准确和可靠的结果。

可解释性

在线性回归模型中,权重的解释取决于相应特征的类型,线性回归模型中有如下特征

  • 数值特征: 将数值特征增加一个单位会使估计的结果变化其权重。一个数值特征的例子是房屋的大小。
  • 二值特征: 每个实例都有两种可能值的特征。例如,特征“房屋带花园”。其中一种值被视为参考类别(在某些编程语言中编码为0),例如“没有花园”。将特征从参考类别更改为另一类别会使估计的结果变化其特征的权重。
  • 具有多个类别的分类特征: 具有固定数量可能值的特征。例如,特征“地板类型”,具有可能的类别“地毯”、“层压板”和“实木地板”。处理多个类别的一种方法是一位有效编码,即每个类别都有自己的二值列。对于具有L个类别的分类特征,只需要L-1列,因为第L列会有冗余信息(例如,当实例的列1到L-1的所有值都为0时,我们知道该实例的分类特征为类别L)。然后,每个类别的解释与二值特征的解释相同。一些编程语言(例如R)允许您以各种方式对分类特征进行编码。
  • 截距 (Intercept) β 0 β_0 β0: 截距是“常数特征”的特征权重,对于所有实例始终为1。大多数软件包会自动添加这个“1”特征来估计截距。解释是:对于所有数值特征值为零,分类特征值为参考类别的实例,模型预测为截距权重。截距的解释通常不相关,因为所有特征值都为零的实例通常没有意义。只有在特征已标准化(均值为零,标准偏差为一)的情况下,解释才有意义。然后,截距反映了所有特征均为其均值的实例的预测结果。

线性回归模型中特征的解释可以通过以下文本模板自动化:

数值特征的解释

将特征 x k x_k xk增加一个单位会使预测 y y y增加 β k β_k βk单位,当所有其他特征值保持不变时。

分类特征的解释

将特征 x k x_k xk从参考类别更改为另一类别会使预测 y y y增加 β k β_k βk单位,当所有其他特征保持不变时。

线性模型解释的另一个重要指标是 R R R平方(R-squared)。 R R R平方告诉我们模型解释了目标变量总方差的多少。 R R R平方越高,模型解释数据的能力越好。计算 R R R平方的公式如下:

R 2 = 1 − S S E / S S T R^2=1-SSE/SST R2=1SSE/SST

其中 S S E SSE SSE是误差项的平方和:
S S E = ∑ i = 1 n ( y ( i ) − y ^ ( i ) ) 2 SSE=\sum_{i=1}^n(y^{(i)}-\hat y^{(i)})^2 SSE=i=1n(y(i)y^(i))2

S S T SST SST是数据方差的平方和:

S S T = ∑ i = 1 n ( y ( i ) − y ˉ ) 2 SST=\sum_{i=1}^n(y^{(i)}-\bar y)^2 SST=i=1n(y(i)yˉ)2

S S E SSE SSE表示在拟合线性模型后剩余的方差,通过预测值和实际目标值之间的平方差来衡量。 S S T SST SST是目标变量的总方差。 R R R平方告诉我们线性模型能够解释多少方差。 R R R平方通常在 0 到 1 之间变化,其中 0 表示模型完全未解释数据,而 1 表示模型解释了数据的全部方差。R 平方也可以取负值而不违反任何数学规则。当 S S E SSE SSE大于 S S T SST SST时会出现这种情况,这意味着模型未捕捉到数据的趋势,预测结果比使用目标的均值作为预测结果更差。

然而,有一个问题,因为 R R R平方随着模型中特征数量的增加而增加,即使这些特征对目标值没有任何信息。因此,最好使用调整后的 R R R平方,该指标考虑了模型中使用的特征数量。它的计算公式如下:

R ˉ 2 = 1 − ( 1 − R 2 ) n − 1 n − p − 1 \bar R^2 = 1-(1-R^2)\frac{n-1}{n-p-1} Rˉ2=11R2np1n1

其中 p p p是特征数量, n n n是实例数量。

如果模型的(调整后的) R R R平方非常低,解释这样的模型就没有意义,因为这样的模型基本上无法解释大部分方差。任何关于权重的解释都不会有意义。

特征重要性

在线性回归模型中,特征的重要性可以通过其 t t t 统计量的绝对值来衡量。 t t t统计量是估计权重与其标准误差的比值。

t β ^ j = β ^ j S E ( β ^ j ) t_{\hat \beta_j}=\frac{\hat \beta_j}{SE(\hat \beta_j)} tβ^j=SE(β^j)β^j

来看看这个公式告诉我们什么:特征的重要性随着权重的增加而增加,这是有道理的。估计权重的方差越大(即我们对正确值越不确定),特征的重要性就越小,这也是有道理的。

example

在这个例子中,使用线性回归模型来预测特定一天租赁的自行车数量,考虑了天气和日历信息。为了进行解释,会检查估计的回归权重。特征包括数值特征和分类特征。对于每个特征,下表显示了估计的权重、估计的标准误差( S E SE SE)以及 t t t统计量的绝对值( ∣ t ∣ |t| t)。

在这里插入图片描述

数值特征(温度)的解释:温度增加1摄氏度时,预测的自行车数量增加110.7,当其他所有特征保持不变时。

分类特征(“weathersit”)的解释:相比良好的天气,当天气是雨天、雪天或暴风天时,估计的自行车数量会减少1901.5。同样地,假设所有其他特征不变。当天气是雾天时,相比良好的天气,预测的自行车数量会减少379.4,前提是所有其他特征保持不变。

权重显著性判断

权重表中的信息(权重和方差估计)可以通过权重图进行可视化。下面的图显示了前面线性回归模型的结果。

在这里插入图片描述

权重图显示,雨天/雪天/暴风天的天气对预测的自行车数量有很强的负面影响。工作日特征的权重接近于零,并且零包含在95%的区间内,这意味着该特征的效应在统计上不显著。一些置信区间非常短,估计值接近于零,然而特征效应在统计上是显著的。温度就是其中一个候选特征。权重图的问题在于,这些特征以不同的尺度进行测量。虽然对于天气,估计的权重反映了良好天气和雨天/暴风雪天之间的差异,但对于温度,它只反映了1摄氏度的增加。您可以通过在拟合线性模型之前对特征进行缩放(零均值和标准偏差为一)来使估计的权重更具可比性。

逻辑回归

分类问题的一个解决方案是逻辑回归。逻辑回归模型不同于拟合一条直线或超平面,而是使用逻辑函数将线性方程的输出压缩在0和1之间。逻辑函数的定义如下:

l o g i s t i c ( η ) = 1 1 + e x p ( − η ) logistic(\eta) = \frac{1}{1+exp(-\eta)} logistic(η)=1+exp(η)1

从线性回归到逻辑回归的过渡相对直观。在线性回归模型中,我们通过线性方程来建模结果与特征之间的关系:

y ^ ( i ) = β 0 + β 1 x 1 ( i ) + . . . + β p x p ( i ) \hat y^{(i)} = \beta_0+\beta_1x_1^{(i)}+...+\beta_px_p^{(i)} y^(i)=β0+β1x1(i)+...+βpxp(i)

而在分类问题中,更喜欢在0和1之间的概率值,因此需要将方程的右侧封装到逻辑函数中。这使得输出值仅限于0和1之间的取值。

P ( y ( i ) = 1 ) = 1 1 + e x p ( − ( β 0 + β 1 x 1 ( i ) + . . . + β p x p ( i ) ) ) P(y^{(i)}=1)= \frac{1}{1+exp(-( \beta_0+\beta_1x_1^{(i)}+...+\beta_px_p^{(i)}))} P(y(i)=1)=1+exp((β0+β1x1(i)+...+βpxp(i)))1

可解释

逻辑回归中权重的解释与线性回归中的权重解释不同,因为逻辑回归中的结果是0到1之间的概率。权重不再线性地影响概率。加权总和通过逻辑函数转化为概率。因此,需要重新制定解释方程,使得公式的右侧只有线性项。

l n ( P ( y = 1 ) 1 − P ( y = 1 ) ) = l o g ( P ( y = 1 ) P ( y = 0 ) ) = β 0 + β 1 x 1 + . . . + β p x p ln(\frac{P(y=1)}{1-P(y=1)})=log(\frac{P(y=1)}{P(y=0)})=\beta_0+\beta_1x_1+...+\beta_px_p ln(1P(y=1)P(y=1))=log(P(y=0)P(y=1))=β0+β1x1+...+βpxp

将 ln() 函数中的项称为“比率”(事件概率与非事件概率的比值),封装在对数中称为对数比率。

这个公式显示,逻辑回归模型是对数比率的线性模型。很好!但这听起来似乎不太有帮助!通过稍微调整一下这些项,您可以找出在改变特征 xj 时预测如何变化。为此,我们可以首先将 exp() 函数应用于方程的两边:

P ( y = 1 ) 1 − P ( y = 1 ) = o d d s = e x p ( β 0 + β 1 x 1 + . . . + β p x p ) \frac{P(y=1)}{1-P(y=1)}=odds=exp(\beta_0+\beta_1x_1+...+\beta_px_p) 1P(y=1)P(y=1)=odds=exp(β0+β1x1+...+βpxp)

然后我们比较当我们将一个特征值增加1时会发生什么。但是与其关注差异,我们关注两个预测的比率:

o d d s x j + 1 o d d s x j = e x p ( β 0 + β 1 x 1 + . . . + β j ( x j + 1 ) + . . . + β p x p ) e x p ( β 0 + β 1 x 1 + . . . + β j ( x j ) + . . . + β p x p ) \frac{odds_{xj+1}}{oddsxj}=\frac{exp(\beta_0+\beta_1x_1+...+\beta_j(x_j+1)+...+\beta_px_p)}{exp(\beta_0+\beta_1x_1+...+\beta_j(x_j)+...+\beta_px_p)} oddsxjoddsxj+1=exp(β0+β1x1+...+βj(xj)+...+βpxp)exp(β0+β1x1+...+βj(xj+1)+...+βpxp)

应用以下规则:

e x p ( a ) e x p ( b ) = e x p ( a − b ) \frac{exp(a)}{exp(b)}=exp(a-b) exp(b)exp(a)=exp(ab)

然后消除许多项:

o d d s x j + 1 o d d s x j = e x p ( β j ( x j + 1 ) − β j x j ) = e x p ( β j ) \frac{odds_{xj+1}}{oddsxj}=exp(\beta_j(x_j+1)-\beta_jx_j)=exp(\beta_j) oddsxjoddsxj+1=exp(βj(xj+1)βjxj)=exp(βj)

最后,得到了一个与特征权重的 e x p ( ) exp() exp()函数相关的简单公式。特征增加一个单位会将比率(乘法)乘以 e x p ( β j ) exp(β_j) exp(βj)的因子改变。也可以这样解释:特征 xj 增加一个单位会将对数比率增加相应权重的值。大多数人解释比率,因为思考某物的 ln() 已被认为对大脑来说较为困难。解释比率本身就需要一些适应。例如,如果您的比率为2,则意味着 y=1 的概率是 y=0 的两倍。如果您的权重(=对数比率)为0.7,则将相应特征增加一个单位会将比率乘以 e x p ( 0.7 ) exp(0.7) exp(0.7)(约为2),比率变为4。但通常您不会处理比率,而只将权重解释为比率。因为实际计算比率需要为每个特征设置一个值,只有在您想查看数据集的某个特定实例时才有意义。

这些是具有不同特征类型的逻辑回归模型的解释:

  • 数值特征: 如果将特征 x j x_j xj的值增加一个单位,估计的比率会变为 e x p ( β j ) exp(β_j) exp(βj) 的倍数。
  • 二元分类特征: 特征的两个值之一是参考类别(在某些语言中,编码为0的类别)。将特征 x j x_j xj从参考类别更改为另一个类别会使估计的比率变为 e x p ( β j ) exp(β_j) exp(βj) 的倍数。
  • 具有多于两个类别的分类特征: 解决多个类别的一种方法是一位有效编码,意味着每个类别都有自己的列。对于具有 L 个类别的分类特征,您只需要 L-1 列,否则会过度参数化。第 L 个类别是参考类别。您可以使用任何线性回归中可用的其他编码。然后,每个类别的解释等同于二元特征的解释。
  • 截距 β 0 β_0 β0 : 当所有数值特征为零,且分类特征为参考类别时,估计的比率为 e x p ( β 0 ) exp(β_0) exp(β0) 。解释截距权重通常是不相关的。

Example

使用逻辑回归模型基于一些风险因素来预测宫颈癌。下表显示了估计的权重、相关的比率(odds ratios)以及估计权重的标准误差。

在这里插入图片描述

  • 数值特征(“诊断的 STD 数量”)的解释: 诊断的性传播疾病(STDs)数量的增加会使癌症与无癌症的比率增加 2.27 倍,当所有其他特征保持不变时。请记住,相关性不意味着因果关系。
  • 分类特征(“是否使用激素避孕药”)的解释: 对于使用激素避孕药的女性,相比于没有使用激素避孕药的女性,在所有其他特征保持不变的情况下,患癌症与无癌症之间的比率会减少 0.89 倍。

与线性模型类似,解释总是附带着“所有其他特征保持不变”的条件。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyTorch深度学习实战(10)——过拟合及其解决方法

PyTorch深度学习实战(10)——过拟合及其解决方法 0. 前言1. 过拟合基本概念2. 添加 Dropout 解决过拟合3. 使用正则化解决过拟合3.1 L1 正则化3.2 L2 正则化 4. 学习率衰减小结系列链接 0. 前言 过拟合 (Overfitting) 是指在机器学习中,模型…

2023年第2季社区Task挑战赛升级新玩法,等你来战!

第1季都有哪些有趣的作品? 在大家的共建下,FISCO BCOS开源生态不断丰富完善,涌现了众多实用技术教程和代码:基于数字身份凭证的业务逻辑设计,贡献了发放数字身份凭证的参考实现;提供企业碳排放、慈善公益等…

【idea】点击idea启动没反应

RT 点击idea启动的时候没反应,接着百度报错,基本跟他们的也不一样。 首先我是做版本升级。其次,我之前是破解的。如果你也是跟我一样的话,那问题可能就处在破解上了 解决方式 首先,是跟大部分解决思路一样。先找到项…

苍穹外卖系统07

哈喽!大家好,我是旷世奇才李先生 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟,回复【项目】获取我为大家准备的项目 最近打算把我手里之前做的项目分享给大家&#…

年至年的选择仿elementui的样式

组件&#xff1a;<!--* Author: liuyu liuyuxizhengtech.com* Date: 2023-02-01 16:57:27* LastEditors: wangping wangpingxizhengtech.com* LastEditTime: 2023-06-30 17:25:14* Description: 时间选择年 - 年 --> <template><div class"yearPicker"…

CTFSHOW php命令执行

目录 web29 过滤flag web30 过滤system php web31 过滤 cat|sort|shell|\. 这里有一个新姿势 可以学习一下 web32 过滤 &#xff1b; . web33 web34 web35 web36 web37 data伪协议 web38 短开表达式 web39 web40 __FILE__命令的扩展 web41 web42 重定向…

【无标题杭州生物制药公司【阿诺医药】申请纳斯达克IPO上市】

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;杭州生物制药公司阿诺医药&#xff08;Adlai Nortye&#xff09;近期已向美国证券交易委员会&#xff08;SEC&#xff09;提交招股书&#xff0c;申请在纳斯达克IPO上市&#xff0c;股票代码为&am…

7个顶级开源数据集来训练自然语言处理(NLP)和文本模型

推荐&#xff1a;使用 NSDT场景编辑器快速助你搭建可二次编辑的3D应用场景 NLP现在是一个令人兴奋的领域&#xff0c;特别是在像AutoNLP这样的用例中&#xff0c;但很难掌握。开始使用NLP的主要问题是缺乏适当的指导和该领域的过度广度。很容易迷失在各种论文和代码中&#xff…

unity修改单个3D物体的重力的大小该怎么处理呢?

在Unity中修改单个3D物体的重力大小可以通过以下步骤实现&#xff1a; 创建一个新的C#脚本来控制重力&#xff1a; 首先&#xff0c;创建一个新的C#脚本&#xff08;例如&#xff1a;GravityModifier.cs&#xff09;并将其附加到需要修改重力的3D物体上。在脚本中&#xff0c…

竞赛项目 深度学习图像风格迁移 - opencv python

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习图像风格迁移 - opencv python 该项目较为新颖&#xff0c;适合作为竞赛课题…

NLP 时事和见解【2023】

一、说明 AI的新闻当然不是即时的&#xff0c;但作为趋势和苗头&#xff0c;我们不得不做出自己的决定。比如&#xff0c;一些软件的支持是否持续&#xff0c;哪些现成的软件将不再使用&#xff0c;等等。 图片来自中途 以下是NLPlanet为您选择的有关NLP和AI的每周文章&#x…

vi 编辑器入门到高级

vi 编辑器的初级用法vi 编辑器的工作模式1. 命令模式2. 文本输入模式3. 状态行vi 工作模式切换存储缓冲区 vi 编辑器命令1. 启动 vi2. 文本输入3. 退出 vi4. 命令模式下的 光标移动5. 命令模式下的 文本修改6. 从 命令模式 进入 文本输入模式7. 搜索字符串8. vi 在线帮助文档 v…

【雕爷学编程】Arduino动手做(201)---行空板硬件控制之基础GPIO的使用

37款传感器与模块的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&#x…

腾讯云轻量应用服务器端口怎么打开?图文方法来了

腾讯云轻量应用服务器端口放行在哪设置&#xff1f;在防火墙中可以开启端口号&#xff0c;腾讯云轻量应用服务器端口怎么开通&#xff1f;在轻量服务器管理控制台的防火墙中开启端口&#xff0c;如果是CVM云服务器在安全组中开通&#xff0c;腾讯云服务器网以轻量应用服务器开通…

升级你的GitHub终端认证方式:从密码到令牌

升级你的GitHub终端认证方式&#xff1a;从密码到令牌 前言 GitHub官方在2021年8月14日进行了一次重大改变&#xff0c;它将终端推送代码时所需的身份认证方式从密码验证升级为使用个人访问令牌&#xff08;Personal Access Token&#xff09;。这个改变引起了一些新的挑战&am…

《合成孔径雷达成像算法与实现》Figure3.6

代码复现如下&#xff1a; clc clear all close all%参数设置 TBP 100; %时间带宽积 T 10e-6; %脉冲持续时间%参数计算 B TBP/T; …

网络:CISCO、Huawei、H3C命令对照

思科、华为、锐捷命令对照表 编号思科华为锐捷命令解释1 2writesavesave保存3456 如果你所处的视图为非系统视图&#xff0c;需要查看配置的时候&#xff0c;需要在该配置命令前加do。 在特定的视图之下&#xff0c;有对应的特定命令。例如&#xff0c;在接口视图下的ip addre…

2023年,App运行小游戏,可以玩出什么创意?

疫情过后&#xff0c;一地鸡毛。游戏行业的日子也不好过。来看看移动游戏收入&#xff1a;2022年&#xff0c;移动游戏收入达到920亿美元&#xff0c;同比下降6.4%。这告诉我们&#xff0c;2022年对移动游戏市场来说是一个小挫折。 但不管是下挫还是上升&#xff0c;移动游戏市…

LC-杨辉三角

LC-杨辉三角 链接&#xff1a;https://leetcode.cn/problems/pascals-triangle/submissions/ 上图就是一个杨辉三角&#xff0c;每个数等于他左上角的数与右上角的数之和。 第一行就是一个1&#xff1b;第二行是两个1&#xff1b;第三行的2就是它肩膀上两个1之和,其余的类似。…

【Linux 网络】网络层协议之IP协议

IP协议 IP协议所处的位置网络层要解决的问题IP协议格式分片与组装网段划分特殊的IP地址IP地址的数量限制私网IP地址和公网IP地址路由 IP协议所处的位置 IP指网际互连协议&#xff0c;Internet Protocol的缩写&#xff0c;是TCP/IP体系中的网络层协议。 网络层要解决的问题 网络…