西瓜书读书笔记整理(三)—— 第二章 模型评估与选择

第二章 模型评估与选择

  • 第 2 章 模型评估与选择
    • 2.1 经验误差与过拟合
      • 1. 错误率 / 精度 / 误差
      • 2. 训练误差 / 经验误差 / 泛化误差
      • 3. 过拟合 / 欠拟合
      • 4. 学习能力
      • 5. 模型选择
    • 2.2 评估方法
      • 1. 评估方法概述
      • 2. 留出法
      • 3. 交叉验证法
      • 4. 自助法
      • 5. 调参 / 最终模型
    • 2.3 性能度量
      • 1. 回归任务的性能度量
      • 2. 分类任务性能度量方法 —— 错误率 / 精度
      • 3. 分类任务性能度量方法 —— 查准率 / 查全率 / F1
      • 4. ROC 曲线
      • 5. AUC 曲线
    • 2.4 比较检验
      • 1. 什么是比较验证
      • 2. 假设验证
    • 2.5 偏差与方差
      • 1. 偏差与方差
      • 2. 泛化误差 / 偏差 / 方差 / 噪声

第 2 章 模型评估与选择

2.1 经验误差与过拟合

1. 错误率 / 精度 / 误差

错误率(error rate):分类错误的样本数占样本总数的比例。

精度(accuracy):分类正确的样本数占样本总数的比例。

误差(error):学习器的实际预测输出与样本的真实输出质检的差异。

2. 训练误差 / 经验误差 / 泛化误差

**训练误差(training error)**或 经验误差(empirical error):学习器在训练集上的误差。

泛化误差(generalization error):模型在新样本上的误差。

3. 过拟合 / 欠拟合

过拟合(overfitting) 指的是机器学习模型在训练数据集上表现非常好,但在新的测试数据上表现较差的情况。过拟合的主要原因是模型过于复杂,拟合了训练数据集中的噪声和细节,导致泛化能力差。简单来说,过拟合是指模型过分追求“记忆”训练数据集,而忽略了“理解”数据背后的规律,导致在新的数据上表现不佳。

过拟合可以通过以下方法来避免:

  • 增加更多的训练数据,使得模型更具泛化能力。
  • 减少特征数量,避免过于复杂的模型。
  • 增加正则化项,如L1、L2正则化等,使得模型更加平滑。
  • 使用dropout等技巧随机削弱一部分神经元的输出,减少模型的复杂性。

欠拟合(underfitting) 指的是机器学习模型在训练数据集上和测试数据集上的表现都比较差,这意味着模型没有很好地捕捉到数据的规律和模式。欠拟合的主要原因是模型过于简单,无法拟合数据集的复杂度和非线性关系。简单来说,欠拟合是指模型过于简单,无法捕捉到数据集的全部信息。

欠拟合可以通过以下方法来避免:

  • 增加更多的特征,以更好地捕捉数据的复杂性和非线性关系。
  • 增加模型的复杂度,如增加层数或节点数等。
  • 减少正则化项的强度,使得模型更加灵活。
  • 使用更复杂的算法或模型,如神经网络等。

需要注意的是,过度拟合和欠拟合都会导致模型的泛化能力下降,因此需要在两者之间进行权衡,选择最适合的模型和算法。

4. 学习能力

机器学习中模型的学习能力指的是模型通过训练数据学习到数据之间的关系和规律的能力。具体来说,模型的学习能力可以体现在以下方面:

  • 模型的表示能力:模型的表示能力越强,它能够拟合的函数空间就越大,因此可以更好地逼近数据的真实分布。

  • 模型的泛化能力:泛化能力指的是模型对于新数据的预测能力。当模型的泛化能力很强时,它可以对未见过的数据做出准确的预测。反之,如果模型的泛化能力很差,则无法对新数据进行准确的预测。

  • 模型的训练能力:模型的训练能力指的是它能够从训练数据中学习到什么程度。当模型的训练能力很强时,它可以从少量的训练数据中学习到更多的信息,从而更好地逼近数据的真实分布。

  • 模型的收敛速度:模型的收敛速度指的是它学习到数据分布的速度。当模型的收敛速度很快时,它可以在较短的时间内学习到数据之间的关系和规律。

在机器学习中,选择一个具有良好学习能力的模型是非常重要的。不同的机器学习算法和模型具有不同的学习能力,因此需要根据具体的问题和数据选择最适合的算法和模型。

学习能力是否 “过于强大”,是由学习算法和数据内涵共同决定的。

5. 模型选择

在机器学习中,选择合适的模型对于建立一个成功的机器学习系统来说非常重要。以下是一些常见的模型选择方法:

  • 经验法则:根据问题的性质和数据的特点选择合适的模型。例如,如果数据具有线性关系,可以选择线性回归模型;如果数据具有非线性关系,可以选择支持向量机或神经网络等非线性模型。

  • 交叉验证:使用交叉验证方法评估不同模型的性能,并选择最佳模型。交叉验证将数据集分为训练集和测试集,然后多次训练和测试模型,并计算平均测试误差。通过比较不同模型的测试误差,可以选择性能最佳的模型。

  • 正则化方法:使用正则化方法对不同的模型进行比较,选择最佳的模型。正则化方法通过对模型参数进行约束来避免过拟合,同时减少模型的复杂度,从而提高模型的泛化能力。

  • 模型融合方法:使用多个模型组合来提高预测性能。模型融合方法可以是简单的平均或加权平均,也可以是基于模型的集成方法,例如随机森林和Boosting等。

  • 模型选择工具:使用一些开源的模型选择工具,例如scikit-learn和TensorFlow等,这些工具提供了多种不同的机器学习算法和模型,同时提供了评估和比较不同模型的方法。

需要注意的是,在选择模型时需要考虑多个因素,例如数据的特点、问题的性质、模型的复杂度、模型的训练时间等等。选择合适的模型需要综合考虑这些因素,并根据具体的问题和需求来进行选择。

2.2 评估方法

1. 评估方法概述

通常,我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择。为此,需使用一个 “测试集(testomg set)” 来测试学习器对新样本的判别能力,然后以测试集上的 “测试误差(tesing error)” 作为泛化误差的近似。通常我们假设测试样本也是从样本真实分布中独立同分布采样而得。但需要注意的是,测试集应该尽可能与训练集互斥,即测试集尽量不在训练集中出现、未在训练过程中使用过。

2. 留出法

留出法(hold-out)直接将数据集 D D D 划分为两个互斥的集合,其中一个集合作为训练集 S S S,另外一个作为测试集 T T T,即 D = S ⋃ T D=S \bigcup T D=ST S ⋂ T = ⊘ S \bigcap T = \oslash ST=。在 S S S 上训练出模型后,用 T T T 来评估其测试误差,作为对泛化误差的估计。

3. 交叉验证法

交叉验证法(cross valida tion)先将数据集 D D D 划分为 k k k 个大小相似的互斥子集,即 D = D 1 ∪ D 2 ∪ . . . ∪ k D=D_1 \cup D_2 \cup ...\cup_k D=D1D2...k D i ⋂ D j = ⊘ D_i \bigcap D_j =\oslash DiDj=。每个子集 D i D_i Di 都尽可能保持数据分布的一致性,即从 D D D 中通过分层采样得到。然后,每次用 k − 1 k-1 k1 个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得 k k k 组训练 / 测试集,从而可进行 k k k 次训练和测试,最终返回的是这 k k k 个测试结果的均值。

显然,交叉验证法评估结果的稳定性和保真性在很大程度上取决于 k k k 的取值,为强调这一点,通常把交叉验证法称为 “ k k k 折交叉验证” ( k k k-fold cross validation)。

k k k 最常用的取值是 10,此时称为 10 折交叉验证;其他常用的 k k k 值有 5、20 等。

4. 自助法

自助法(bootstrapping)是一种非参数统计方法,用于从有限的样本数据集中估计统计量的分布和置信区间。自助法是通过从原始数据集中随机抽取样本形成新的数据集,并重复这个过程多次来得到估计统计量的分布。这个过程可以产生多个样本数据集,每个数据集的样本数和原始数据集相同,但可能包含重复的样本数据。

自助法的基本思想是通过对原始数据进行有放回的抽样来模拟从总体中抽样。由于样本的重复采样,部分样本可能在某次采样中被重复选择,而另一些样本可能在某些采样中没有被选择。这样可以形成一个更广泛的样本空间,并且可以通过这些不同的样本数据集来估计统计量的置信区间。

自助法可以用于解决小样本数据集的统计问题,并且具有一定的鲁棒性和准确性。例如,在机器学习中,自助法可以用于估计模型参数的置信区间,从而评估模型的稳定性和准确性。自助法还可以用于特征选择、模型选择和模型融合等问题,它是一种常用的非参数统计方法。

5. 调参 / 最终模型

大多数学习算法都有些参数 (parameter) 需要设定,参数配置不同 ,学得模型的性能往往有显著差别,因此,在进行模型评估与选择时,除了要对适用学习算法进行选择,还需对算法参数进行设定,这就是通常所说的 “参数调节” 或简称 “调参” (parameter tuning)。

2.3 性能度量

1. 回归任务的性能度量

回归任务最常用的性能度量是 “均方误差”(mean squared error)。

E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 (2.2) E(f ; D)=\frac{1}{m} \sum_{i=1}^m\left(f\left(\boldsymbol{x}_i\right)-y_i\right)^2 \tag{2.2} E(f;D)=m1i=1m(f(xi)yi)2(2.2)

更一般的,对于数据分布 D \mathcal{D} D 和概率密度函数 p ( ⋅ ) p(\cdot) p(),均方误差可描述为

E ( f ; D ) = ∫ x ∼ D ( f ( x ) − y ) 2 p ( x ) d x (2.3) E(f ; \mathcal{D})=\int_{\boldsymbol{x} \sim \mathcal{D}}(f(\boldsymbol{x})-y)^2 p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} \tag{2.3} E(f;D)=xD(f(x)y)2p(x)dx(2.3)

2. 分类任务性能度量方法 —— 错误率 / 精度

错误率是分类错误的样本数占样本总数的比例,精度则是分类正确的样本数占样本总数的比例。对样本集 D \mathcal{D} D,分类错误率定义为

E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) (2.4) E(f ; D)=\frac{1}{m} \sum_{i=1}^m \mathbb{I}\left(f\left(\boldsymbol{x}_i\right) \neq y_i\right) \tag{2.4} E(f;D)=m1i=1mI(f(xi)=yi)(2.4)

精度则定义为

acc ⁡ ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) . (2.5) \begin{aligned} \operatorname{acc}(f ; D) & =\frac{1}{m} \sum_{i=1}^m \mathbb{I}\left(f\left(\boldsymbol{x}_i\right)=y_i\right) \\ & =1-E(f ; D) . \end{aligned} \tag{2.5} acc(f;D)=m1i=1mI(f(xi)=yi)=1E(f;D).(2.5)

更一般的,对于数据分布 D \mathcal{D} D 和概率密度函数 p ( ⋅ ) p(\cdot) p(),错误率与精度可分别描述为

E ( f ; D ) = ∫ x ∼ D I ( f ( x ) ≠ y ) p ( x ) d x (2.6) E(f ; \mathcal{D})=\int_{\boldsymbol{x} \sim \mathcal{D}} \mathbb{I}(f(\boldsymbol{x}) \neq y) p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} \tag{2.6} E(f;D)=xDI(f(x)=y)p(x)dx(2.6)

acc ⁡ ( f ; D ) = ∫ x ∼ D I ( f ( x ) = y ) p ( x ) d x = 1 − E ( f ; D ) (2.7) \begin{aligned} \operatorname{acc}(f ; \mathcal{D}) & =\int_{\boldsymbol{x} \sim \mathcal{D}} \mathbb{I}(f(\boldsymbol{x})=y) p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} \\ & =1-E(f ; \mathcal{D}) \tag{2.7} \end{aligned} acc(f;D)=xDI(f(x)=y)p(x)dx=1E(f;D)(2.7)

3. 分类任务性能度量方法 —— 查准率 / 查全率 / F1

对于二分类问题,如下所示:

全称真实值(标签,label)预测值(predict)
TPTrue Positive11
FPFalse Positive01
TNTrue Negative00
FNFalse Negative10

查准率(precision)

P = T P T P + F P (2.8) P=\frac{T P}{T P+F P} \tag{2.8} P=TP+FPTP(2.8)

查全率(recall)

R = T P T P + F N (2.9) R=\frac{T P}{T P+F N} \tag{2.9} R=TP+FNTP(2.9)

更常用的是 F 1 F1 F1 度量:

F 1 = 2 × P × R P + R = 2 × T P  样例总数  + T P − T N .  (2.10) F 1=\frac{2 \times P \times R}{P+R}=\frac{2 \times T P}{\text { 样例总数 }+T P-T N} \text {. } \tag{2.10} F1=P+R2×P×R= 样例总数 +TPTN2×TP(2.10)

4. ROC 曲线

ROC(Receiver Operating Characteristic)曲线是一种用于评估二元分类器性能的图形工具。ROC曲线以真阳性率(True Positive Rate,TPR)为纵坐标,以假阳性率(False Positive Rate,FPR)为横坐标,用于衡量分类器的敏感性和特异性。

T P R = T P T P + F N (2.18) \mathrm{TPR}=\frac{T P}{T P+F N} \tag{2.18} TPR=TP+FNTP(2.18)

F P R = F P T N + F P (2.19) \mathrm{FPR}=\frac{F P}{T N+F P} \tag{2.19} FPR=TN+FPFP(2.19)

在ROC曲线中,每个点代表分类器在不同的阈值下的TPR和FPR。通过改变分类器的阈值,可以得到不同的点,并将这些点连接起来得到ROC曲线。曲线下面积(Area Under Curve,AUC)可以用来衡量分类器的性能,AUC的取值范围为0.5到1,AUC越大表示分类器的性能越好。

ROC曲线的优点在于不受分类器阈值的影响,同时可以通过比较不同分类器的ROC曲线来评估它们的性能。ROC曲线也适用于不平衡数据集的分类问题,其中一类样本数量较少,例如医学诊断和欺诈检测等应用场景。

需要注意的是,ROC曲线不能直接用于比较多类别分类器的性能。对于多类别分类问题,可以使用一些衍生自ROC曲线的评估指标,例如微平均(micro-averaging)和宏平均(macro-averaging)等。

下面是一个示例ROC曲线:

在这里插入图片描述

在这个例子中,横轴是假阳性率(False Positive Rate,FPR),纵轴是真阳性率(True Positive Rate,TPR)。假阳性率是指实际为负样本但被错误地预测为正样本的样本占所有负样本的比例,真阳性率是指实际为正样本且被正确地预测为正样本的样本占所有正样本的比例。

ROC曲线显示了分类器在不同阈值下的性能,阈值从左上角到右下角逐渐增加。曲线下面积(Area Under Curve,AUC)为0.91,说明该分类器的性能很好。通常,AUC的取值范围为0.5到1,AUC越大表示分类器的性能越好。

在实际应用中,可以根据ROC曲线选择合适的分类器和阈值,以达到最佳的分类性能。

5. AUC 曲线

AUC(Area Under Curve)曲线是ROC(Receiver Operating Characteristic)曲线下方的面积,用于评估二元分类器的性能。AUC曲线常用于评估分类器的准确性、鲁棒性和可靠性。

A U C = 1 2 ∑ i = 1 m − 1 ( x i + 1 − x i ) ⋅ ( y i + y i + 1 ) (2.20) \mathrm{AUC}=\frac{1}{2} \sum_{i=1}^{m-1}\left(x_{i+1}-x_i\right) \cdot\left(y_i+y_{i+1}\right) \tag{2.20} AUC=21i=1m1(xi+1xi)(yi+yi+1)(2.20)

AUC的取值范围在0.5到1之间,其中0.5表示随机分类器,而1表示完美分类器。在AUC为0.5到1之间的情况下,AUC值越大,分类器的性能越好。AUC曲线的斜率越大,分类器的性能也越好。

AUC曲线可以解决在不同阈值下分类器性能的变化问题,并且可以对不同的分类器进行比较。对于大多数实际问题,AUC都是一个有用的度量标准。

需要注意的是,AUC曲线并不适用于多类别分类问题,因为ROC曲线只适用于二元分类问题。在多类别分类问题中,可以使用一些其他的评估指标,例如混淆矩阵、准确率、召回率等。

以下是一个AUC曲线的例子:
在这里插入图片描述

这个例子展示了一个分类器的AUC曲线。曲线下方的面积(AUC)为0.87,表示该分类器的性能相对较好。在这个例子中,分类器的预测结果可以根据阈值进行分类,阈值从左上角到右下角逐渐增加。在最优阈值处,该分类器的真阳性率(TPR)为0.75,假阳性率(FPR)为0.15。

在实际应用中,AUC曲线可以用来选择最佳分类器和阈值,以最大化分类性能。由于AUC曲线不受分类器阈值的影响,因此它通常比其他评估指标更适合评估分类器的性能。

2.4 比较检验

1. 什么是比较验证

在机器学习中,比较验证是一种通过比较不同模型的性能来选择最佳模型的方法。比较验证通常涉及以下步骤:

  • 数据集划分:将数据集划分为训练集和测试集。通常使用交叉验证方法来确保模型在不同的数据集上进行训练和测试。

  • 模型训练:使用训练集训练不同的模型。

  • 模型评估:使用测试集评估模型的性能,并计算模型的指标,如准确率、召回率、F1分数、AUC等。

  • 模型比较:比较不同模型的性能指标,并选择最佳模型。

比较验证的目的是找到最佳的模型,以在未知数据上实现最佳性能。由于不同的模型在不同的数据集上表现可能不同,因此比较验证是一种重要的机器学习技术。通常,比较验证需要在多个数据集上进行,以避免因特定数据集导致的偏差。

比较验证可以使用多种方法,如留出法、交叉验证和自助法等。其中,交叉验证是最常用的方法之一,它可以有效地利用数据,并减少估计误差。交叉验证通常可以分为k折交叉验证、留一交叉验证等。

2. 假设验证

在机器学习中,假设验证是一种评估模型的泛化能力的方法,也称为模型选择。假设验证的基本思想是将数据集划分为训练集、验证集和测试集。模型在训练集上训练,在验证集上进行验证和参数调整,最终在测试集上进行测试。

假设验证通常涉及以下步骤:

  1. 数据集划分:将数据集划分为训练集、验证集和测试集。训练集用于模型训练,验证集用于模型选择和参数调整,测试集用于模型测试。

  2. 模型训练:使用训练集训练模型。

  3. 模型选择:使用验证集评估不同模型的性能,并选择最佳模型。

  4. 参数调整:使用验证集调整模型的参数。

  5. 模型测试:使用测试集评估最终模型的性能。

假设验证的目的是选择最佳模型,并避免过度拟合或欠拟合。过度拟合是指模型在训练数据上表现良好,但在测试数据上表现较差。欠拟合是指模型无法捕捉数据的复杂性,导致在训练和测试数据上都表现不佳。假设验证可以帮助选择最佳模型,以最大限度地提高模型的泛化性能。

假设验证可以使用多种方法,如留出法、交叉验证和自助法等。其中,交叉验证是最常用的方法之一,它可以有效地利用数据,并减少估计误差。交叉验证通常可以分为k折交叉验证、留一交叉验证等。

2.5 偏差与方差

1. 偏差与方差

在机器学习中,方差(Variance)和偏差(Bias)是模型的两个重要性质。它们通常被用来描述模型的复杂度和泛化性能。

偏差是指模型的预测结果与真实结果的平均差异,也称为模型的拟合能力。低偏差的模型通常具有较好的拟合能力,能够在训练数据上获得较好的性能。然而,当模型太简单时,它可能无法捕捉数据的复杂性,导致欠拟合。因此,适当的偏差通常需要保证模型具有一定的灵活性和能力,以提高其泛化性能。

方差是指模型在不同训练数据集上预测结果的差异,也称为模型的泛化能力。高方差的模型通常具有过拟合的倾向,即在训练数据上表现良好,但在测试数据上表现较差。过度复杂的模型通常容易过拟合,因为它们可以记忆训练数据中的噪声和异常值,而不是学习数据的真实模式。

为了平衡偏差和方差,可以使用正则化方法、交叉验证和集成学习等技术来调整模型的复杂度和参数。例如,正则化可以通过添加惩罚项来限制模型的复杂度,从而减少方差。交叉验证可以用于估计模型的泛化性能,并选择最佳模型。集成学习可以通过组合多个模型的预测结果来减少方差和偏差。

在这里插入图片描述

2. 泛化误差 / 偏差 / 方差 / 噪声

泛化误差可分解为偏差、方差与噪声之和。

E ( f ; D ) = bias ⁡ 2 ( x ) + var ⁡ ( x ) + ε 2 (2.42) E(f ; D)=\operatorname{bias}^2(\boldsymbol{x})+\operatorname{var}(\boldsymbol{x})+\varepsilon^2 \tag{2.42} E(f;D)=bias2(x)+var(x)+ε2(2.42)

Smileyan
2023.05.01 01:22

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ada语言学习(1)Basic Knowledge

文章目录 说在前头命名注释数字变量变量类型signed integersEnumerationsFloating Points 类型重用(继承)类型转换 运算符属性(Attributes)练习 说在前头 本系列教程将会通过提问的方式来完成整个学习过程,因为当你能…

86盒IP对讲一键报警器

86盒IP对讲一键报警器 86盒IP对讲一键报警器:革命性保障生命安全的利器! 随着科技的飞速发展,我们的生活变得越来越方便和智能化。而86盒IP对讲一键报警器更是在这种背景下应运而生。这款产品不仅无缝对接各种手机APP,也可以在智…

RabbitMQ --- 惰性队列、MQ集群

一、惰性队列 1.1、消息堆积问题 当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。之后发送的消息就会成为死信,可能会被丢弃,这就是消息堆积问题。 解决消息堆积有三种…

互联网大厂测开面试记,二面被按地上血虐,所幸Offer已到手

在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。 如何备战面试的? 第一步:准备简历 …

vue3回到上一个路由页面

学习链接 Vue Router获取当前页面由哪个路由跳转 在Vue3的setup中如何使用this beforeRouteEnter 在这个路由方法中不能访问到组件实例this,但是可以使用next里面的vm访问到组件实例,并通过vm.$data获取组件实例上的data数据getCurrentInstance 是vue3提…

51单片机也可以移植RTOS

说起RTOS移植,我们首先会想到32位单片机。 那么51单片机可以移植RTOS吗? 我的答案是,只要资源够用(ROM空间、RAM空间),可以移植。 前提是你对RTOS的实现原理非常清楚,并且可以自己完成移植工作…

数据可视化大屏的页面布局以及自适应

在做数据可视化大屏之前,我们需要考虑到页面的布局问题以及页面缩放自适应问题,下面分别就这两个方面讲解。 页面布局 类似这种页面区块的明显划分,常用的布局方式有两种: 1、flex布局 2、grid布局 grid布局 grid布局可以按区块…

深度学习用于医学预后-第二课第四周5-10节-为个体患者制定风险评估模型

文章目录 相对风险按风险对患者进行排序个体与基线风险吸烟者与不吸烟者年龄对风险的影响 在本课中,您将学习 Cox 比例风险模型(Cox Proportional Hazards Model)。您将了解 Cox 模型如何考虑患者变量来比较不同患者的风险,使用他们的患者概况。 但到目前…

mysql增量备份

目录 一、修改配置文件,开启增量备份功能 (1)查看是否已经开启了 (2)修改配置文件开启 (3)增量记录文件 二、还原增量备份 (1)修改了数据 (2&#xff…

nginx keepalive 高可用原理和实操

文章目录 前言一、nginxkeepalive搭建高可用服务方案?二、方案解析1.keepalive是什么2.nginx是什么 三、keepalive与nginx环境安装四、高可用配置实例总结 前言 一、nginxkeepalive搭建高可用服务方案? 使用nginx-keepalived双机热备机制,vi…

【云计算•云原生】4.云原生之什么是Kubernetes

文章目录 Kubernetes概念Kubernetes核心概念集群podConfigMap Kubernetes架构master节点的组件worker节点组件 Kubernetes网络架构内部网络外部网络 k8s各端口含义 Kubernetes概念 K8S就是Kubernetes,Kubernetes首字母为K,末尾为s,中间一共有…

BEV(0)---Transformer

1 Transformer Transformer是一个Sequence to Sequence model,特别之处在于它大量用到了self-attention,替代了RNN,既考虑了Sequence的全局信息也解决了并行计算的问题。 1.1 self-attention: ①. 输入x1 ~ x4为一个sequence&…

MySQL基础(三十一)数据库其它调优策略

1 数据库调优的措施 1.1 调优的目标 尽可能 节省系统资源 ,以便系统可以提供更大负荷的服务。(吞吐量更大)合理的结构设计和参数调整,以提高用户操作 响应的速度 。(响应速度更快)减少系统的瓶颈&#xf…

服务网关Gateway

前言 API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题: 破坏了服务无状态…

DJ6-4 文件存储空间的管理

目录 6.4.1 空闲表 1、存储空间的分配与回收 2、空闲表法的优缺点 6.4.2 空闲链表 1、空闲盘块链 2、空闲盘区链 6.4.3 位示图 1、位示图的表示 2、存储空间的分配 3、存储空间的回收 4、位示图法的优缺点 6.4.4 成组链接 1、空闲盘块的组织 plus 个人理解图…

上海亚商投顾:沪指震荡调整跌0.21% 两市成交金额不足8000亿

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日震荡调整,上证50午后一度跌超1%,以保险为首的权重板块走低。军工股逆市大涨&a…

Python基本数据类型之一——set(集合)

Python基本数据类型之一——set(集合) 一、python集合定义 集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。 二、创建方式 在Python中,创建集合有两种方式: 一种是用一对大括号将多个用逗号分隔的数据括起来。 另一种…

【周末闲谈】超越ChatGPT?科大讯飞星火认知大模型

个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 ✨第一周 二进制VS三进制 ✨第二周 文心一言,模仿还是超越? ✨第二周 畅想AR 文章目录 前言星火名字的由来科大讯飞星火落地应用演示赶超ChatGPT的底气在哪里?“硬…

如何使用sbvadmin进行私有化部署的代码开发

前言 本文主要讲述如何使用sbvadmin进行私有化部署的代码开发,这里我们用的私有化仓库是gitee,当然你也可以用自己搭建的gitlab来做,原理差不多。 一、新建仓库 1.后端api 导入后端仓库:https://github.com/billyshen26/sbvadmi…

搭建Redis主从集群+哨兵+代理predixy

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Redis是什么?二、搭建Redis集群步骤1.环境和版本2.Redis 安装部署3.主从同步配置4.哨兵模式配置5.代理predixy配置 总结 前言 提示&#xff1a…