B. 对抗学习
对抗学习(OBL)[48] 是多智能体系统(MAS)领域中的一种新兴概念,灵感来自不同实体之间观察到的对抗动态。对抗概念的提出在2005年标志着一个重要的里程碑,在随后的十年中引起了研究人员的广泛关注。包括优化技术、强化学习、人工神经网络和模糊系统在内的各种软计算算法,已经采用了OBL的原则来增强和提高操作效率。OBL的核心是同时检查当前解及其对抗对应物以实现高效问题解决[49]的基础思想。简单来说,当优化算法旨在发现目标函数的最佳可能结果时,结合候选解及其对立面可以被证明是有利的,从而增强算法的整体有效性。
从2005年1月开始,已有超过400篇关于OBL[48]概念的学术作品发表。这些研究贡献在各种平台中找到了它们的归宿,包括会议、期刊和书籍,所有这些都位于软计算领域。在此汇编中,大约60%表现为期刊论文,38%为会议论文,其余2%为书籍或论文集。
定义1:设 X = ( x 1 , . . . , x D ) X = (x_1, ..., x_D) X=(x1,...,xD)为搜索空间中的候选解,其中 x j ∈ ( L B j , U B j ) x_j \in (LB_j, UB_j) xj∈(LBj,UBj)且 j ∈ { 1 , . . . , D } j \in \{1, ..., D\} j∈{1,...,D}。 X X X的对立候选解用 X ˘ \breve{X} X˘表示,并通过方程6[49]计算。
X ˘ = L B + U B − X (6) \breve{X} = LB + UB - X \tag{6} X˘=LB+UB−X(6)
自从引入了最初的OBL概念以来,一系列作品已经出现。在此背景下,我们深入研究了一种简单而高效的OBL方法,详细见于[23]。该技术作为我们提出的算法中的一个基石,专门设计用于解决FS问题。在接下来的部分中,我们描述了[23]中描述的OBL技术的工作原理。这种方法采用了一对算法,即算法5和6,来计算对比解。目标是最小化函数评估的浪费。这些算法之间的选择取决于当前种群的多样性。当使用方程7计算的多样性超过预定阈值时,执行算法5。相反,如果它低于阈值,则采用算法6。一方面,算法5已经证明其能够通过充分利用对立信息来加速MAS的收敛速度。另一方面,算法6已被证明可以通过部分结合对立信息来增强MAS的多样性。表2总结了算法5和6的定义中使用的参数,以及方程7到15。
normDiv = 1 N ∑ i = 1 N ∑ j = 1 D 1 D ( X i , j − X ˉ j UB j − LB j ) 2 X ˉ = 1 N ( X 1 + … + X N ) X ˘ i , j = B ( α , β ) × ( UB j − LB j ) + LB j i ∈ { 1 , … , N } and j ∈ { 1 , … , D } B ( α , β ) = ∫ 0 1 t α − 1 ( 1 − t ) β − 1 d t α = { spread × peak , mode < 0.5 spread , otherwise β = { spread , mode < 0.5 spread × peak , otherwise spread = ( 1 normDiv ) 1 + N ( 0 , 0.5 ) peak = { ( spread − 2 ) × mode + 1 spread × ( 1 − mode ) , mode < 0.5 2 − spread spread + spread − 1 spread × mode , otherwise mode = UB j − X i , j UB j − LB j spread = 0.1 × normDiv + 0.9 mode = X i , j − LB j UB j − LB j \begin{align*} \text { normDiv}&=\frac {1}{N}\sum _{i=1}^{N}\sum _{j=1}^{D}\sqrt {\frac {1}{D}\left ({\frac {X_{i,j} - \bar {X}_{j}}{\text {UB}_{j} - \text {LB}_{j}}}\right)^{2}} \tag{7}\\ \bar {X}&=\frac {1}{N}\left ({X_{1}+\ldots +X_{N}}\right) \\ \breve {X}_{i,j}&=\mathbb {B}(\alpha,\beta) \times \left ({\text {UB}_{j}-\text {LB}_{j}}\right)+\text {LB}_{j} \\ &\quad i\in \{1,\ldots,N\} \text { and }j\in \{1,\ldots,D\} \\ \mathbb {B}(\alpha,\beta)&=\int _{0}^{1}t^{\alpha -1}\left ({1-t}\right)^{\beta -1}dt \tag{8}\\ \alpha &=\begin{cases} \displaystyle \text { spread} \times \text { peak}, & \text {mode} < 0.5 \\ \displaystyle \text { spread}, & \text {otherwise} \end{cases} \tag{9}\\ \beta &=\begin{cases} \displaystyle \text { spread}, & \text {mode} < 0.5 \\ \displaystyle \text { spread} \times \text { peak}, & \text {otherwise} \end{cases} \tag{10}\\ \text {spread}&=\left ({\frac {1}{\sqrt {\text {normDiv}}}}\right)^{1+\mathbb {N}(0,0.5)} \tag{11}\\ \text {peak}&=\begin{cases} \displaystyle \frac {\left ({\text {spread} - 2}\right) \times \text { mode} + 1}{\text {spread} \times \left ({1 - \text {mode}}\right)} &, \text {mode} < 0.5 \\ \displaystyle \frac {2 - \text {spread}}{\text {spread}} + \frac {\text {spread} - 1}{\text {spread} \times \text { mode}} &, \text {otherwise} \end{cases} \tag{12}\\ \text {mode}&=\frac {\text {UB}_{j} - X_{i,j}}{\text {UB}_{j} - \text {LB}_{j}} \tag{13}\\ \text {spread}&=0.1 \times \sqrt {\text {normDiv}} + 0.9 \tag{14}\\ \text {mode}&=\frac {X_{i,j} - \text {LB}_{j}}{\text {UB}_{j} - \text {LB}_{j}} \tag{15}\end{align*} normDivXˉX˘i,jB(α,β)αβspreadpeakmodespreadmode=N1i=1∑Nj=1∑DD1(UBj−LBjXi,j−Xˉj)2=N1(X1+…+XN)=B(α,β)×(UBj−LBj)+LBji∈{1,…,N} and j∈{1,…,D}=∫01tα−1(1−t)β−1dt={ spread× peak, spread,mode<0.5otherwise={ spread, spread× peak,mode<0.5otherwise=(normDiv1)1+N(0,0.5)=⎩
⎨
⎧spread×(1−mode)(spread−2)× mode+1spread2−spread+spread× modespread−1,mode<0.5,otherwise=UBj−LBjUBj−Xi,j=0.1×normDiv+0.9=UBj−LBjXi,j−LBj(7)(8)(9)(10)(11)(12)(13)(14)(15)
D. K-最近邻
K-最近邻(KNN)[50] 是一种简单但有效的机器学习算法,用于分类和回归任务。KNN的工作原理围绕基于邻近度的预测概念展开。给定一个新的数据点,算法根据所选距离度量(通常是欧几里得距离)在训练数据集中识别其 k k k个最近邻。对于分类,将这 k k k个邻居中的多数类分配给新数据点。在回归中,算法计算来自 k k k个邻居的目标值的平均值或加权平均值,以预测连续值。关键假设是相似的数据点可能具有相似的结果。 k k k的值,即邻居的数量,是一个影响算法性能和泛化能力的关键参数。较小的 k k k值会导致更灵活、可能更嘈杂的预测,而较大的 k k k值会导致更平滑但可能过于简化的预测。KNN易于理解和实现,使其成为各种任务的宝贵工具,但由于需要为每个查询点计算距离,其效率可能会随着数据集的增大而降低。
E. 评估指标
在机器学习的分类任务中,使用各种评估指标来评估模型预测的性能[51]。这些指标提供了模型如何对不同类别进行分类的见解,并帮助量化其优势和劣势。这些指标提供了从不同角度对分类器性能的全面视图。选择指标取决于问题的具体特征、类别分布和应用目标。通常建议考虑多个指标,以全面评估模型的性能。以下是分类任务中一些常见的评估指标。
- 混淆矩阵
混淆矩阵提供了真正例(TP)——模型正确识别正例,真负例(TN)——模型正确识别负例,假正例(FP)——模型预测正例时应该预测负例,假负例(FN)——模型未能预测正例时应该预测正例的详细分解,这对于计算后续指标至关重要。
- 准确率
准确率是正确预测实例与数据集中总实例数的比率。虽然容易理解,但在一个类别主导其他类别的不平衡数据集中,准确率可能不太合适。其数学表达式由方程16给出。
accuracy = TP + TN TP + TN + FP + FN (16) \text{accuracy} = \frac{\text{TP} + \text{TN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}} \tag{16} accuracy=TP+TN+FP+FNTP+TN(16)
- 精确率
精确率衡量正确预测的正例与总预测正例的比率。它侧重于正预测的正确性,并在假阳性成本高昂的情况下有所帮助。其数学表达式由方程17定义。
precision = TP TP + FP (17) \text{precision} = \frac{\text{TP}}{\text{TP} + \text{FP}} \tag{17} precision=TP+FPTP(17)
- 召回率
召回率计算正确预测的正例与实际正例的比率。当重点在于最小化假阴性时,它很有用。方程18提供了其数学公式。
recall = TP TP + FN (18) \text{recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} \tag{18} recall=TP+FNTP(18)
- F1-分数
F1-分数是精确率和召回率的调和平均值。它在精确率和召回率之间提供了平衡,这在需要同时考虑假阳性和假阴性时可能很有价值。其数学公式在方程19中表达。
F1-score = 2 × ( precision × recall ) precision + recall (19) \text{F1-score} = \frac{2 \times (\text{precision} \times \text{recall})}{\text{precision} + \text{recall}} \tag{19} F1-score=precision+recall2×(precision×recall)(19)
- 分类错误率
在机器学习中,分类错误率是一个基本的性能指标,它量化数据集中错误分类实例的比例,将错误分类的数据点数与实例总数进行比较。它作为分类模型准确性的直接指标,错误率越低表示性能越好,错误率越高表示准确性越低。然而,分类错误率有其局限性,例如无法区分不同类型的错误(例如,假阳性和假阴性),并且不考虑类别不平衡。因此,通常与其他指标结合使用,以提供对模型分类能力的更全面评估。方程20给出了其数学表达式。
CER = FP + FN TP + TN + FP + FN (20) \text{CER} = \frac{\text{FP} + \text{FN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}} \tag{20} CER=TP+TN+FP+FNFP+FN(20)
F. 特征选择问题的数学表述
特征选择(FS)问题涉及从较大集合中选择一组特征,同时旨在实现某些优化目标,例如提高模型性能或减少复杂性。数学表述可以根据问题的具体目标和约束条件而有所不同。在以下部分中,我们给出了FS问题的数学表述。
在FS问题中,我们假设一个包含 N N N个实例和 D D D个特征的数据集: X = { x 1 , . . . , x N } X = \{x_1, ..., x_N\} X={x1,...,xN},其中 x i x_i xi是一个 D D D维特征向量, y y y是一个响应变量。目标是从原始 D D D个特征中选择一个特征子集,以最大化或最小化某个目标函数。目标函数可以根据各种标准定义,例如模型性能(例如,准确率,F1分数),模型复杂性(例如,所选特征的数量)或其他特定领域的考虑。本文中使用的一般FS问题,使用方程21、22和23进行数学表述。
最小化:
α × CER + ( 1 − α ) × ∣ R ∣ ∣ D ∣ (21) \alpha \times \text{CER} + (1 - \alpha) \times \frac{|R|}{|D|} \tag{21} α×CER+(1−α)×∣D∣∣R∣(21)
其中:
∑ j = 1 D x i , j ≤ K , i ∈ { 1 , . . . , N } (22) \sum_{j=1}^{D} x_{i,j} \leq K, \quad i \in \{1, ..., N\} \tag{22} j=1∑Dxi,j≤K,i∈{1,...,N}(22)
x i , j ∈ { 0 , 1 } , i ∈ { 1 , . . . , N } , j ∈ { 1 , . . . , D } (23) x_{i,j} \in \{0, 1\}, \quad i \in \{1, ..., N\}, \quad j \in \{1, ..., D\} \tag{23} xi,j∈{0,1},i∈{1,...,N},j∈{1,...,D}(23)
其中 x i , j x_{i,j} xi,j是一个二进制决策变量,表示是否为实例 i i i选择特征 j j j。如果 x i , j = 1 x_{i,j} = 1 xi,j=1,则选择该特征;如果 x i , j = 0 x_{i,j} = 0 xi,j=0,则不选择该特征。
F. Zitouni, A. S. Almazyad, G. Xiong, A. W. Mohamed and S. Harous, “An Opposition-Based Great Wall Construction Metaheuristic Algorithm With Gaussian Mutation for Feature Selection,” in IEEE Access, vol. 12, pp. 30796-30823, 2024, doi: 10.1109/ACCESS.2024.3367440