实验现象回顾:
    当k=2时
    对于较大的簇(大部分是正确样本),如果优先选择pcs值高的或者killnum值高的,那么选择的样本几乎都是正确样本。
    而对于较小的簇(大多数错误样本都集中在这个簇中),如果优先选择pcs值低的或者killnum值低的,那么选择的样本几乎都是错误样本。

    ❗️❗️❗️以mnist_lenet5为例找出原因
    观察那些从较小的簇中挑选出的错误样本的信息(killnum、pcs值等以及它们在整个簇中的索引(从小到大))
    先看簇整体的pcs和killnum的最小值、最大值、平均值

    cluster_big cluster_small
    pcs_max 1.0 0.999946
    pcs_min 0.014751 0.003948
    pcs_mean 0.990768 0.672509
    killnum_max 344 1000
    killnum_min 0 343
    killnum_mean 6.802972 679.718367

    表中的规律: 正确样本的pcs值偏高、killnum偏低
    错误样本的pcs值偏低、killnum偏高
    之前数据统计错误的原因:在计算killnum时使用的不是原始的01矩阵,而是降维后的矩阵

    重新统计后的数据,符合预期


    0.1/50 0.2/100 0.3/150 0.4/200 0.5/250 0.6/300 0.7/350 0.8 0.9 1
    mnist_lenet5 bigcluster_killnum⬆️ 0 0 0 0 0 0 0 0 0 0
    smallcluster_killnum⬇️ 0.958 0.918 0.890 0.765 0.697 0.626 0.556 0.500 0.450 0.424
    cifar10_vgg16 bigcluster_killnum⬆️ 0 0 0 0 0 0 1 1 1 1
    smallcluster_killnum⬇️ 0.892 0.862 0.841 0.797 0.770 0.731 0.695 0.666 0.633 0.612
    cifar10_resnet20 bigcluster_killnum⬆️ 0 0 0 0 0 0 0 0 0 0
    smallcluster_killnum⬇️ 0.799 0.704 0.656 0.599 0.551 0.501 0.469 0.436 0.404 0.378

    如果不对测试用例进行聚类直接按照killnum进行采样

    0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
    mnist_lenet1(514) 501 510 511 512 512 513 513 514 514 514
    mnist_lenet4(312) 316 321 321 321 321 321 321 321 321 321
    mnist_lenet5(128) 128 128 128 128 128 128 128 128 128 128
    fashion_lenet5(1012) 515 771 895 954 979 984 987 995 1004 1012
    cifar10_vgg16(1259) 704 1050 1186 1222 1244 1248 1252 1253 1257 1259
    cifar10_resnet20(878) 537 730 821 853 868 873 876 877 878 878