1. 引言
在机器学习领域,尤其是二元分类任务中,损失函数的设计对于模型的性能至关重要。传统的损失函数,如交叉熵损失,虽然在许多场景下表现良好,但它们并不总是能够直接反映或优化模型在特定评估指标上的表现。例如,交叉熵损失并不能定向地优化Accuracy或F1得分等指标,而这些指标在实际应用中往往非常重要。因此,研究者们一直在探索如何设计损失函数,使其能够在训练过程中直接反映并优化这些关键的性能指标。
在这样的背景下,两篇具有创新性的研究文章引起了我的注意,F. Marchett (2022) [1]提出了一种基于期望混淆矩阵的损失函数,即得分导向损失(Score-Oriented Loss, SOL)函数。该函数允许在训练阶段先验地最大化技能得分,从而在训练过程中直接反映评估指标的性能。N. Tso (2022) [2]则从另一个角度出发,提出了一种基于软集混淆矩阵的统一训练和评估框架。该方法使用Heaviside阶跃函数的可微近似以及引入软集隶属度概念计算得到混淆矩阵值,从而使所需的评估指标可微,使得在训练过程中能够直接优化特定的性能指标。
在本文中,我将分析这两篇文章的方法,之后融合两种方法构建一种新的损失函数,并比较它们在艾滋病临床试验组研究数据集上的应用效果。我相信,通过深入理解这些方法,可以为机器学习领域的研究者和实践者提供有价值的参考和启示。
本文主要贡献如下:1) 通过融合期望混淆矩阵和软集混淆矩阵的方法,提出了一种新的损失函数;2) 对本文方法进行理论分析;3) 通过实验与几种基线方法相比,展现出本文方法的优越性。
2. 相关工作
2.1. 预备知识
在传统的二元分类问题中,混淆矩阵是一个关键工具,用于评估分类器的性能。它通过阈值将连续的预测概率转换为离散的类别标签,但这个阈值的选择往往对最终的性能评估有显著影响。
设 为模型输出的概率集合,
为对应的真实标签,
为阈值,
为Heaviside函数:
为模型输出的概率集合,
为对应的真实标签,
为阈值,
为Heaviside函数:
                                (1)
传统的混淆矩阵元素可以表示为:
                 (2)
其中
和
分别代表真阳性(True Positives)和假阴性(False Negatives)的值。
和
分别代表假阳性(False Positives)和真阴性(True Negatives)的值。
通过混淆矩阵可以得到分类器的性能得分:
                           (3)
2.2. 基于期望混淆矩阵的方法
基于期望混淆矩阵的方法提出了一种创新的视角,将阈值视为一个随机变量,而不是固定的值。这种方法采用了期望混淆矩阵的概念,并通过选择合适的概率分布函数来影响阈值的选择。其核心在于构建一个可微分的损失函数,允许模型在训练过程中直接针对特定的性能指标进行优化。
阈值
被视为随机变量,其概率密度函数为
,概率分布函数为
,那么:
                  (4)
因此,期望混淆矩阵的元素可以表示为:
               (5)
从而,可以定义基于期望混淆矩阵损失函数如下:
                      (6)
2.3. 基于软集混淆矩阵的方法
为了解决训练和评估神经网络二分类器之间的差距,基于软集混淆矩阵的方法提出,使用Heaviside阶跃函数的可微近似以及使用软集隶属度概念计算的混淆矩阵值。然后,通过软集混淆矩阵计算评估指标,而不是使用传统的混淆矩阵,这样可以使所需的评估指标可微,从而构造损失函数。
近似Heaviside阶跃函数
为
            (7)
其参数为给定的阈值
和斜率参数
,它将三个斜率为
,
和
的线段连接起来。
软集混淆矩阵的元素可以表示为:
                (8)
从而,可以定义基于软集混淆矩阵的损失函数如下:
                           (9)
3. 方法论
本文提出了一种融合期望混淆矩阵和软集混淆矩阵的方法,更好地统一神经网络二元分类器的训练和评估步骤。本文的方法主要有两个步骤,首先,用公式(7)中的梯度友好的分段函数
进行近似Heaviside阶跃函数。然后,将阈值视为一个随机变量,对近似阶跃函数求期望。这样就可以将近似阶跃函数的期望代入计算基于混淆矩阵的指标。这种方法使指标具有端到端的可微性且考虑到阈值的分布,因此它们可以用作构造损失函数。
阈值
被视为随机变量,其概率密度函数为
,概率分布函数为
,那么:
 (10)
因此,基于近似阶跃函数的期望混淆矩阵的元素可以表示为:
           (11)
当
服从均匀分布:
                                 (12)
当
服从升余弦分布:
       (13)
从而,可以定义
损失(Score-Oriented Loss with approximate Heaviside funcation, SOLH)如下:
                  (14)
4. 理论基础
4.1. Lipschitz连续性
定义4.1.对于在实数集的子集的函数
。若存在常数
,使得对
有:
                            (15)
则称
是Lipschitz连续的,其中
称为
的Lipschitz常数。
定理4.1. (N. Tso (2022)) [2]线性Heaviside函数近似
是Lipschitz连续的,其Lipschitz常数为
,因此对
有:
                        (16)
由定理4.1.可推导出,存在常数
,使得对
有:
            (17)
所以
是Lipschitz连续的。
混淆矩阵元素
是
的线性组合,Lipschitz函数的线性组合保持Lipschitz连续性:
          (18)
类似地,其他元素
也满足Lipschitz条件。
根据Krzysztof Dembczynski (2017) [3]的观点,基于混淆矩阵的指标如准确率、Fβ-Score等都是Lipschitz连续的。又因为Lipschitz连续函数的复合函数仍然是Lipschitz连续的,所以由满足Lipschitz条件的混淆矩阵值
组成的损失函数
也是Lipschitz连续的。
4.2. 梯度分析
设
为样本
的特征表示,
为模型的权重,则模型输出的概率为
,其中
是sigmoid函数。
通过链式法则,损失函数的梯度为:
  (19)
混淆矩阵中各元素的梯度:
        (20)
其中
                    (21)
表示如下:
  (22)
以准确率为目标的损失函数的梯度:
                (23)
以F1 Score为目标的损失函数的梯度:
  (24)
其中:
                  (25)
5. 实验结果
本次实验所用到的数据来源于艾滋病临床试验组研究数据集[4]。数据集包含有关被诊断患有AIDS的患者的医疗保健统计数据和分类信息。该数据集最初于1996年发布。预测任务是预测每个患者是否在某个时间窗口内死亡。该数据集涵盖了2139个样本,其中正类的占比为24.36%。
本文使用了一个前馈神经网络,包括了三个全连接层(线性层),每层之后跟随ReLU激活函数,引入非线性,并且加入Dropout层用于正则化。本文采用了Adam优化算法[5],该算法有以下优点:易于实现、计算效率高、内存需求少、参数更新大小不随梯度的对角缩放而变化、适合非平稳目标和包含噪声或稀疏梯度的问题、超参数有直观解释通常无需调整等。
本文在500个epoch上进行训练,当7个epoch内验证损失没有得到改善(评估损失差值小于等于0.0001)时,实验施加了一个早期停止条件。至于目标性能得分,本文考虑了准确率(Accuracy)和F1得分(F1-Score)它们被定义为:
                        (26)
考虑均匀和上升的余弦分布
 (在
 = 0.5和
 = 0.1,0.3,0.5的情况下),本文比较了常用的二元交叉熵损失(Binary Cross-Entropy Loss)、基于软集混淆矩阵的损失
、基于期望混淆矩阵的损失
以及融合两种方法的损失
。本文通过评估默认阈值0.5和后验分数最大化选择的最佳阈值τ*的性能得分来报告在训练集和测试集上的表现。为消除随机波动,实验结果取三次重复实验的均值。
Table 1. Comparison of loss functions with accuracy as the target
表1. 以Accuracy为目标的损失函数的比较
 
  
    | Loss | Train | Test | 
  
    | Epoch | Accuracy | τ* | Accuracy (τ*) | Accuracy | Accuracy (τ*) | 
  
    | BCELoss | 93 | 0.8988 | 0.4267 | 0.9042 | 0.8591 | 0.8630 | 
  
    | 
 | 77 | 0.8956 | 0.0633 | 0.9073 | 0.8455 | 0.8484 | 
  
    | 
 | 55 | 0.8559 | 0.4167 | 0.8590 | 0.7930 | 0.7959 | 
  
    | 
 | 68 | 0.8575 | 0.2733 | 0.8629 | 0.8115 | 0.8066 | 
  
    | 
 | 84 | 0.9065 | 0.2067 | 0.9097 | 0.8494 | 0.8503 | 
  
    | 
 | 79 | 0.8949 | 0.1767 | 0.9065 | 0.8387 | 0.8416 | 
  
    | 
 | 58 | 0.8590 | 0.1500 | 0.8614 | 0.8008 | 0.8076 | 
  
    | 
 | 87 | 0.8949 | 0.1200 | 0.9081 | 0.8455 | 0.8533 | 
  
    | 
 | 70 | 0.8917 | 0.1267 | 0.9034 | 0.8397 | 0.8455 | 
  
    | 
 | 82 | 0.8925 | 0.0733 | 0.9073 | 0.8377 | 0.8377 | 
 本文基于表1和表2的实验数据,对以Accuracy和F1-Score为目标的损失函数性能进行了系统比较分析。在以Accuracy为目标的实验中(表1),
表现仅次于BCELoss,其测试集准确率达0.8455,最佳阈值下测试集准确率为0.8533。
在以F1-Score为目标的实验中(表2),
与
在测试集表现最佳,前者对于默认阈值的F1-Score得分为0.7213,后者对于最佳阈值的F1-Score得分为0.7307。
综合分析表明:本文提出的
在F1-Score优化中优势明显,尽管在Accuracy的优化中不及BCELoss,但是相较于基线
以及
有所提升。两类实验共同验证了改进损失函数在模型性能提升方面的有效性。
Table 2. Comparison of loss functions with f1-score as the target
表2. 以F1-Score为目标的损失函数的比较
 
  
    | Loss | Train | Test | 
  
    | Epoch | F1-Score | τ* | F1-Score (τ*) | F1-Score | F1-Score (τ*) | 
  
    | BCELoss | 98 | 0.3167 | 0.7800 | 0.7800 | 0.7056 | 0.7203 | 
  
    | 
 | 55 | 0.5367 | 0.7844 | 0.7844 | 0.6951 | 0.6926 | 
  
    | 
 | 64 | 0.4933 | 0.7585 | 0.7585 | 0.6928 | 0.6864 | 
  
    | 
 | 54 | 0.5233 | 0.7843 | 0.7843 | 0.6952 | 0.6952 | 
  
    | 
 | 67 | 0.6000 | 0.7821 | 0.7821 | 0.7042 | 0.6931 | 
  
    | 
 | 57 | 0.5467 | 0.7908 | 0.7908 | 0.7078 | 0.7169 | 
  
    | 
 | 59 | 0.3633 | 0.7807 | 0.7807 | 0.7100 | 0.7179 | 
  
    | 
 | 69 | 0.5600 | 0.7869 | 0.7869 | 0.7213 | 0.7123 | 
  
    | 
 | 52 | 0.3733 | 0.8025 | 0.8025 | 0.7018 | 0.7082 | 
  
    | 
 | 59 | 0.4000 | 0.7892 | 0.7892 | 0.7187 | 0.7307 | 
 6. 结论
两种方法在优化神经网络二分类器时具有不同的侧重点和技术手段,但它们都旨在解决训练和评估过程之间的不一致性。两种方法的共同目标都是通过在训练过程中直接优化评估指标,使训练和评估过程保持一致,从而提升分类器的性能。
基于期望混淆矩阵的方法通过将阈值视为随机变量,并基于其概率分布来构建损失函数,直接优化分类性能指标。其优点在于不需要明确设定单一阈值,而是通过概率分布捕捉不同阈值下的分类性能,有助于更全面地优化分类器。阈值的概率分布使得混淆矩阵的期望值也是可微的,从而能够进行梯度计算和参数优化。
基于软集混淆矩阵的方法通过引入可微的近似Heaviside函数和软集合,构建了一个在训练过程中可以计算和优化混淆矩阵的框架。其优点在于可以明确控制阈值的设定,并且通过软集合能够将混淆矩阵的值转化为连续可微的形式。Heaviside函数的可微近似确保了在反向传播时的梯度计算,可以有效进行参数更新。
本文通过结合这两种方法构造了一种新的损失函数
,此方法通过对软集混淆矩阵取期望,引入了阈值的概率分布,拓宽了损失函数参数的选择空间。理论分析表明了
是Lipschitz连续的。此外,本文通过实验验证了该方法的可行性,并且展现了其对分类器的性能提升,尤其是当以F1得分为目标时性能提升效果明显。
未来,我将进一步研究该方法的其他方面。从方法论的角度来看,可以将该方法扩展到以加权评估指标为目标的情况上。从应用的角度来看,可以考虑将该方法应用于多类别分类问题。