system: [SYSTEM]

user: 3. 算法介绍 3.1. 基于SVM的部分特权信息 SVM+实现了具有特权信息的数据分类问题，但没有解决部分特权信息的应用。本文提出的模型称为ICSVM+可以更好地解决问题。当只有一部分样本有可用特权信息，其他n个样本没有特权信息，给定一组三维特征样本： ( x 1 ， y 1 ) ， ⋯ ， ( x n ， y n ) ， ( x n + 1 ， x n +1 * ， y n + 1 ) ， ⋯ ， ( x l ， x l * ， y l ) ，   x ∈ X ， x * ∈ X * ， y ∈ { − 1 ， 1 } . 最小化间距由下式给出： min ω ， ω ∗ ， b ， b ∗                       1 2 [ ( w 1 ⋅ w 1 ) + ( w 2 ⋅ w 2 ) + γ ( w ∗ ⋅ w ∗ ) ] + C ∑ i = 1 n ξ i + C ∗ ∑ i = n + 1 l [ ( w ∗ ⋅ z i ∗ ) + b ∗ ]                   s . t .                                 y i [ ( w 1 ⋅ z i ) + b 1 ] ≥ 1 − ξ i ， i = 1 ， ⋯ ， n                                                                         y i [ ( w 2 ⋅ z i ) + b 2 ] ≥ 1 − [ ( w ∗ ⋅ z i ∗ ) + b ∗ ] ， i = n + 1 ， ⋯ ， l                                                                           ξ i ≥ 0 ， i = 1 ， ⋯ ， n                                                                             ( w ∗ ⋅ z i ∗ ) + b ∗ ≥ 0 ， i = n + 1 ， ⋯ ， l . (1) 其中， w 1 ， w 2 ， w * 由方程定义。 w 1 = ∑ i = 1 n α i y i z i ， w 2 = ∑ i = n + 1 l α i y i z i ， w * = 1 γ ∑ i = n + 1 l ( α i + β i − C ) z i * 其对偶问题表述如下： max α ， β             ∑ i = 1 l α i − 1 2 ∑ i = 1 l α i α j y i y j K ( x i ， x j )                                                 − 1 2 γ ∑ i ， j = n + 1 l ( α i + β i − C ) ( α j + β j − C ) K ∗ ( x i ∗ ， x j ∗ ) ， s . t .                           ∑ i = n + 1 l ( α i + β i − C * ) = 0                                                     ∑ i = 1 n y i α i = 0                                                   ∑ i = n + 1 l y i α i = 0                                                   α i ≥ 0 ，     i = n + 1 ， ⋯ ， l                                                 0 ≤ α i ≤ C ，     i = 1 ， ⋯ ， n . (2) 我们获得两个决策函数： f 1 ( x ) = ( w 1 ， z ) + b = ∑ i = 1 n y i α i K ( x i ， x ) + b 1 ， (3) f 2 ( x ) = ( w 2 ， z ) + b = ∑ i = n + 1 l y i α i K ( x i ， x ) + b 2 . (4) 决策函数 f 1 ( x ) 是从没有特权信息的样本中获取的，决策函数 f 2 ( x ) 是从特权信息样本中获取的。 图2 .处理特权信息缺失的流程 在最终获得决策算法之前，本文提出了一种基于滑动窗口的权重更新算法。它将有助于完成融合决策的两种部分特权信息的SVM+算法，我们称之为LW-ICSVM+和 CC-ICSVM+。图2显示了方法LW-ICSVM+和CC-ICSVM+方法的实现过程。 3.2. 权重评估 权重选择对于进行融合决策非常重要。在我们的实验中，我们发现基于滑动窗口的权重更新公式非常有效。 在训练集中，样本标签是已知的，我们将训练集划分m块，并表示为 d j ( 1 ≤ j ≤ m ) 。对每个数据块使用上述模型，我们发现两组决策函数的值， f 1 j 以及 f 2 j 最佳权重可以通过以下公式获得： q j = arcmax 0 < q < 1 F [ q f 1 j + ( 1 − q ) f 2 j ] (5) 其中， F [ ⋅ ] 是这组决策值的准确率。 这些数据块中会有一些数据块，即使调整了参数，精度也不会很高。我们需要省略与这些数据块对 应的参数。因此，我们将设计一个窗口W，并且窗口中的数据块数是固定的( W = ∪ s = 1 u d s )。每次输入新的 数据块，计算最佳参数及其相应的精度，记为 ( q j ， A j ) ，其中 A j 是精确率。比较原始窗口中权重的精度，并删除精度最低的相应权重(如果精度相同，则随机删除一个权重)，最后平均值q将作为最终权重。权重更新的步骤在算法1中给出。在图3中，我们显示了原始窗口与新窗口之间的关系： 图3. 滑动窗口计算的权重值 窗口大小为u，下一步我们的新窗口将成为旧窗口。 3.3. 融合方法 3.3.1. 线性加权融合法 线性加权融合获得的新决策函数为： f ( x ) = q f 1 ( x ) + ( 1 − q ) f 2 (x) 等价于： f ( x ) = q ∑ i = 1 n y i α i K ( x i ， x ) + ( 1 − q ) ∑ i = n + 1 l y i α i K ( x i ， x ) + ( 1 − q ) b 2 + q b 1 (6) 3.3.2. 交叉校正融合 在半监督学习中，有一类自训练算法 [ 20 ]。该算法将测试集的置信部分返回到训练集进行再训练，直到所有测试集都分类。运用这个思想将测试集转换为训练集，提出了交叉校正融合方法。该方法可以得出一系列伪标签，删除不好的分类结果，保留较好的分类结果。与Vapnik的想法不同，我们的方法是双向相互修正，而不是单向修正。交叉校正融合方法有两个步骤：分配步骤和校正步骤。 标签预分配： 在ICSVM+模型中，我们不仅得到两组决策值，而且得到两组标签 L 1 和 L 2 。以 L 2 为对象，我们可以获取n组伪标签 L 2 1 ， L 2 2 ， ⋯ ， L 2 n (算法2中显示了算法步骤)。 标签校正 在监督学习过程中，通常数据集分为训练集和测试集，训练集用于生成分类器，测试集用于测试分类器的效果。在这里，我们添加一个验证集。从理论上讲，完整的数据集可以达到良好的分类效果，但当训练集有错误的数据(训练标签错误)时，测试集会得到一个坏的标签，从而降低分类精度。在这个问题上，我们提出了交叉校正融合方法(CC)，以选择 ( L 2 1 ， L 2 2 ， ⋯ ， L 2 n ) (上一步)中的最佳标签。 CC通过以下步骤实现： 步骤1：将 L 2 i 分配方法中的标签和测试集合并到新的训练集中，记为 D t r a i n i 。 步骤2：从验证集中选择k个样本为新测试集，该测试集记为 D t e s t ，其标签记为 L t e s t 。 步骤3：由于分配步骤的测试集没有特权信息，我们使用SVM来训练训练集 D t r a i n i 和测试集， D t e s t 并将预测标签标记为 L t e s t * 。然后，将步骤3中的标记与步骤2中的标记进行比较，并将获得的准确率标记为 a i 。 步骤4：重复上述步骤以获取对应于n个伪标签 L 2 1 ， ⋯ ， L 2 i ， ⋯ ， L 2 n 的n个准确率 a 1 ， ⋯ ， a i ， ⋯ ， a n 。选择准确率 a j = max 1 ≤ i ≤ n a i ，其相应的标签 L 2 j 是最佳标签。 关于CC的实现步骤，我们在算法3中给出了。在CC中，我们没有在分配步骤中将测试集添加到具有已知标签的训练集中，这与半监督学习的自训练算法不同，因此很难选择最佳标签。同样，我们试图在步骤2中放大k的值以放大精度之间的差异并选择最佳标签。因此，在CC实现过程中，数据集实际上是分批测试的，输入数据块不应太小，这样会降低SVM的精度，也不应该太大，太大会增加计算量。 3.4. 数据块大小控制 在CC-ICSVM+中，我们需要选择最佳标签。预测标签的数量是分配步骤中的随机次数。因此，为了节省计算量，我们将尝试减少上述算法中的n。通过随机选择，如果所有可能的组合都取到，则一定可以得到最优标签。在某些情况下，获得最优标签的成本非常高。实际上，我们也可以选择次优标签。如果输入的测试数据块较大，这样导致随机次数也会增加，因此可以使用批量处理测试来节省计算量。从以下不等式可以看出，对较大测试集的批量处理测试将节省计算量。 C | l 1 | + | l 2 | r 1 + r 2 > C | l 1 | r 1 + C | l 2 | r 2 (7)