system: [SYSTEM]

user: 3. 实验与分析 为了系统检验算法的有效性，我们分别对比了本文提出的算法与其它相关算法在两个仿真数据集与一个真实数据集上的表现。 3.1. 仿真数据集上的实验 如图1所示，每个数据集中有两个类，每类包含200个二维的数据点。图1a中两个类别的数据由均值为[−1， 0]和[1， 0]，方差同为[0.1， 0; 0， 1]的二维高斯分布函数生成。图1b中类别I的数据由均值为[−3， 0]和[3， 0]，方差同为[0.5， 0; 0， 0.5]的两个二维高斯分布函数生成；类别II的数据由均值为[0， 0]，方差为[0.1， 0; 0， 1]的二维高斯分布函数生成。显然，图1a中的不同类别的数据点只由一个高斯分布产生，即只存在单模态现象；而图1b中的类别I的数据集是由两个高斯分布的数据点构成，所以存在多模态现象。 图1. 不同方法在仿真数据集的投影方向 我们在这两个仿真数据上对比了线性判别分析(Linear Discriminant Analysis， LDA) [ 4 ]、局部Fisher判别分析(Local Fisher Discriminant Analysis， LFDA) [ 3 ]、自权重自适应局部判别分析(Self-weighted Adaptive Locality Discriminant Analysis， SALDA) [ 9 ] 和我们提出的无参数的局部判别分析(Parameter-free Local Linear Discriminant Analysis， Pf-LLDA)方法。如图1所示，每种方法的一维投影线已经被描绘出来。不难发现，在单模态数据集上(图1a)，LDA、LFDA和Pf-LLDA都能找到合理的投影方向。但在多模态数据集上(图1b)，LDA却失败了。另一方面，SALDA无论在哪种模态的数据集上似乎都不具备判别能力。其主要的原因有：1) 由2.4节的分析和2.3节中权重更新公式(12)可知，SALDA通过简单对样本距离求倒数的方式很难保证模型收敛；2) 分析SALDA的代码 2 实现发现，SALDA主要是因为迭代了超过所设置的最大次数(1000次)而跳出模型求解。这就导致了SALDA得到的投影结果更倾向于陷入随机的一个局部最优值。相比之下，我们不仅通过理论证明了Pf-LLDA权重的更新方式实现了如LFDA的局部判别性分析，同时在这两个仿真数据集上以算法1的实现方式都能保证在100次迭代内完成收敛。 3.2. 真实数据集上的实验 2 https://github.com/guomuhan/salda2/blob/master/ADLDA.m USUP 3 是一个手写数字图像数据集。它是模式识别领域研究所广泛使用的数据集之一，扫描于美国邮局的邮件中，具有很好的普适性。我们随机取了其中5500张手写数字图像作为我们的实验数据，每张图像是由16 × 16像素点的灰度图组成。图2显示了该数据集中的部分样本。 需要说明的是，为了避免降维算法中存在的过度降维 [ 11 ] 和小样本 [ 15 ] 问题，与文献 [ 13 ] 类似，我们首先对所有数据进行主成分分析 [ 1 ] [ 2 ] 处理，将每个样本表示成79维的向量。然后，将训练样本输入到LDA相关的算法中得到变换矩阵和低维表示的训练样本。接着，根据变换矩阵对测试样本进行降维，得到低维表示的测试样本。最后，将低维表示的测试样本和训练样本作为1近邻算法 [ 1 ] [ 9 ] 的输入，得到关于测试样本的分类准确率。需要说明的是，为了结果的准确性，每组实验都会独立重复30次并将最终准确率的平均值记录下来。 图2. USUP数据集中的部分样本 我们在真实数据集对比了LDA、NDA、FLDA、SALDA和局部敏感判别分析 [ 5 ] (Locality Sensitive Discriminant Analysis， LSDA)方法。并用控制变量法从训练样本个数、所降的维度、近邻个数和类别个数四个角度进行实验验证。每个实验角度的参数由表1给出。具体而言，表1中关于“训练样本个数”角度的实验参数由第二列给出。此时，样本最终的维度为60；通过引入近邻个数实现的局部线性判别分析算法的近邻个数参数为5；数据的类别个数为5；而来自每类的训练样本个数为*：表示它是这组实验所要研究的变量。其他三个角度的实验参数设置同理。 Table 1 The detailed parameters for each experimen 实验的角度 固定的参数 训练样本个数 所降的维度 近邻个数 类别个数 每类训练样本个数 * 20 20 20 所降的维度 60 * 60 60 近邻个数 5 5 * 5 类别个数 5 5 5 * 表1. 各个实验的具体参数 表2对比了当每类训练样本为5、10、20、40、80、160和320时，各种方法在USUP数据集上的分类准确率。不难发现，当所降维度、近邻个数和类别个数相同时，所有方法的分类准确率会随着训练样本的增加而有所提升。相比之下，Pf-LLDA总体上得到了更好的分类效果。特别是在训练样本数较少的情况下，Pf-LLDA的优势更为明显。 Table 2 The classification accuracy with different number of training samples (% 方法 每类的 训练样本个数 LDA NDA FLDA LSDA SALDA Pf-LLDA 5 27.36 59.55 22.62 54.82 51.11 61.73 10 29.85 64.82 21.96 53.30 70.60 76.21 20 62.20 63.45 61.97 47.48 64.38 88.98 40 85.40 86.73 86.28 73.89 63.56 90.52 80 90.29 91.94 90.90 87.65 73.94 92.74 160 91.91 94.66 93.52 93.95 81.58 94.27 320 92.89 95.67 95.52 95.58 86.69 95.80 表2. 不同训练样本个数下的分类准确率(%) 表3对比了当训练样本数、近邻个数和类别个数相同时，不同方法将样本从高维降到不同低维度时的准确率。需要注意的是，每个样本经过主成分分析表示成79维的向量，所以所降的维度最高被设置为78。对比发现，在所降的维度较低时，Pf-LLDA相比于其他方法还是可以接受的。并且随着所降的维度的升高，Pf-LLDA实现了更高的准确率上限。 Table 3 The classification accuracy with different reduced dimensions (% 方法 所降的维度 LDA NDA FLDA LSDA SALDA Pf-LLDA 4 85.62 77.28 84.26 32.63 67.96 71.60 8 85.57 84.06 87.39 50.00 62.53 77.05 16 85.07 86.59 86.86 74.82 66.94 83.45 32 85.69 87.76 87.27 77.92 70.81 88.95 64 85.92 86.93 86.17 72.80 64.40 90.47 70 85.47 86.43 86.06 70.36 63.03 90.28 78 85.46 85.94 85.47 69.28 66.02 90.40 表3. 不同所降维度下的分类准确率(%) 图3描绘了对于不同的局部判别分析方法，近邻个数对分类准确率的影响。这里我们只展示了近邻个数从1到39时的结果。可以看到，不同的近邻个数对NDA、LFDA和LSDA的分类效果影响很大。特别地，LSDA的分类准确率由近邻个数为3时的73.73%降到近邻个数为37时的60.07%。相比之下，SALDA通过自权重的方式避开了对近邻个数的依赖从而实现了稳定的结果输出。但与2.4节中的分析一致，SALDA陷入随机的一个局部最优值导致其分类准确率并不理想。Pf-LLDA克服了SALDA的缺点，不仅实现了稳定的结果，同时也得到了较高的准确率。 图3. 近邻个数对分类准确率的影响 最后，我们验证了当类别个数从4增加到10时，不同方法的分类结果。如表4所示，相比于其他四种局部判别分析方法和作为基线的LDA方法，Pf-LLDA得到了显著的提升。这不仅依赖于Pf-LLDA利用了数据的局部结构，也依赖于我们所引入的无参方式自适应地挖掘出数据局部几何结构的差异性。 Table 4 The classification accuracy with different number of classes (% 方法 类别个数 LDA NDA FLDA LSDA SALDA Pf-LLDA 4 43.24 53.39 43.17 34.82 75.43 89.45 5 60.86 64.38 61.08 47.87 65.99 88.86 6 68.86 72.90 70.44 53.47 65.01 85.81 7 74.21 76.92 75.44 56.13 64.76 85.95 8 72.85 75.13 74.27 54.90 60.09 83.15 9 72.94 73.88 73.84 54.23 58.81 80.93 10 75.33 75.21 75.89 56.95 60.52 81.07 表4. 不同类别个数下的分类准确率(%)