23、数据可分性与分类器选择的深入探讨

数据可分性与分类器选择的深入探讨

1. 数据可分性概述

在处理分类问题时,使用标记数据是常见的做法。数据可分性问题十分关键,了解数据的可分性有助于选择最优的分类器,避免随机选择带来的不确定性。有些数据集较为复杂,需要更复杂的分类器,如具有大量隐藏单元的神经分类器或较小 k 值的最近邻分类器。

以一个简单的分类问题为例,假设有两个类,它们协方差相同但均值不同。使用 k - 最近邻分类器可以将它们分离,且误差较小。然而,当增加这两个类在 y 方向的方差时,数据集变得更加复杂,再次应用最近邻方法,分类器的性能会变差,尽管方差的增加并没有促进更好的分离,但这两个类仍然可以以较小的误差分离。从分类器的角度来看,数据变得更难分离,因此了解数据的可分性对于选择合适的分类器(如确定 k 值)至关重要。一般来说,方差大时应选择较小的 k 值,方差小时则需要相对较大的 k 值。

另一个与可分性相关的复杂性问题是维度问题。在二维问题中,很容易看出数据的可分性,但在高维空间中,数据的分布情况就不那么清晰了。为了确定高维数据的可分性,需要一种检查空间的方法,即将高维数据空间映射到二维平面,以便直观地观察数据的可分性。这里介绍了一种非线性映射方法——自组织映射(SOM),它可以将空间映射到网格上,并且这种映射方法具有拓扑保留特性,即高维空间中的邻接关系在低维网格中尽可能地保留,利用这一特性可以检查数据的散布情况。

2. 映射算法

2.1 自组织映射(SOM)

自组织映射(SOM)是一种将高维特征空间映射到低维空间的著名方法。通常,特征空间被映射到一个二维的矩形神经元网格上,这些神经元相互连接,因此 SOM 既是一种特征提取器,也是一种聚类方法。

SOM 的训练采用无监督的竞争学习方式。训练开始时,网格中的神经元被初始化为一个小的随机特征向量或权重 m。在学习过程的每一步,权重都会被更新,以尽可能准确地表示特征空间的一部分。学习过程可以分为三个步骤:
1. 从输入特征空间中随机选择一个对象进行展示。
2. 对网络进行评估。
3. 更新网络的权重向量。

在第一步中,虽然是随机选择输入对象,但实际上所有对象至少会被使用一次。对象被输入到网络后,网格中的每个单元会使用欧几里得距离计算其权重向量 m 到输入向量 x 的距离,距离最小的神经元被选为“获胜者” s,即:
[
||x(t) - m_s(t)|| = \min{||x(t) - m_i(t)||}
]
其中 t 表示迭代步骤。获胜神经元作为更新网格中其他神经元的起点,获胜神经元一定邻域 (N_c(t)) 内的所有神经元会向呈现的输入对象进行更新,更新规则如下:
[
m_i(t + 1) =
\begin{cases}
m_i(t) + \alpha(t)[x(t) - m_i(t)] & \text{if } i \in N_c(t) \
m_i(t) & \text{otherwise}
\end{cases}
]
邻域大小 (N_c(t)) 会随时间单调减小,因为每次更新后对象能得到更好的表示,所以需要更新的获胜神经元周围的神经元数量会减少。学习参数 (\alpha(t)) 也会随时间线性减小,以确保在一定步数后网络停止训练。在网络的原始公式中,使用了邻域参数 (h_{si}(t)),它是一个由高斯函数建模的连续值,其核随时间缩小:
[
h_{si} = h_0(t)\exp\left(-\frac{||r_i - r_s||^2}{2\sigma(t)^2}\right)
]
其中 (r_i) 和 (r_s) 是网格中神经元的坐标,(||r_i - r_s||) 是这些神经元之间的合适距离度量。更新规则变为:
[
m_i(t + 1) = m_i(t) + h_{si}(t)[x(t) - m_i(t)]
]
训练完成后,网络达到收敛状态,可以用于分类。这里使用神经元权重的最终值来计算神经元间的距离,从而可视化数据集的散布情况。

2.2 Sammon 投影

Sammon 投影是一种将高维空间映射到低维空间的非线性投影方法。该算法将原始空间映射到投影空间,使得原始空间中对象间的距离在投影空间中得以保留,这一点与 SOM 类似。实验表明,Sammon 算法通常比其他映射算法表现更优。

设对象 (i) 和对象 (j) 在特征空间中的距离为 (d_{ij}^ ),在投影空间中的距离为 (d_{ij}),Sammon 算法试图最小化以下误差项,即投影的失真:
[
E = \frac{1}{\sum_{i<j}d_{ij}^
} \sum_{i<j} \frac{(d_{ij}^ - d_{ij})^2}{d_{ij}^ }
]
这个方程可以通过例如 Sammon 提出的梯度下降法来最小化。虽然原则上 Sammon 投影与神经网络无关,但它可以用神经网络来建模。

3. 可视化数据空间

为了展示特征空间的结构,对特征向量的可视化方式进行了修改。在检查 SOM 时,不显示特征向量的值,而是显示特征向量的距离。通过显示相邻神经元特征向量的距离,可以了解对象特征向量的分布情况。

例如,将一个十维数据集映射到 SOM 网格上,网格中神经元之间的距离用灰度值表示。由于每个神经元至少有八个相邻神经元,因此会计算八个距离,最终显示的灰度值是这些距离中的最大值。大的距离对应高灰度值,在地图中表现为明亮的“颜色”,小的距离则对应图像中的暗区。从映射结果可以清楚地看到网格上有一个白色区域,这表明数据至少聚类成两个可分离的对象云。

这种图像可以通过使用网格中相邻神经元的距离从任何训练好的 SOM 中获得。由于映射算法具有拓扑保留特性,网格中相邻的神经元预计也代表对象的相邻聚类。在网格中距离较远的神经元,在特征空间中预计也会被较大的距离分隔开。因此,SOM 可以用于可视化数据的可分性。

4. 实验

为了验证上述方法,进行了几个实验,这里主要介绍三个实验,包括两个在人工数据集上进行的实验和一个在真实数据集上进行的实验。

4.1 数据集介绍

  • 数据集 1 :一个十维数据集,由两个各包含 500 个对象的标准正态分布聚类组成。两个集合的协方差均为单位矩阵,均值分别为 1 和 -1,它们的重叠较小(贝叶斯误差仅为 0.078%),适合展示 SOM 的映射特性。
  • 数据集 2 :一个三维人工数据集,如图所示,类具有相同数量的对象(500 个),由标准程序生成。从图中可以看出,数据的内在维度接近 2,因此预计它们能很好地映射到二维网络网格上。
  • 数据集 3 :一个真实数据集,即 IRIS 数据。这些数据是四维的,由 150 个对象组成,分为三个类,每个类有 50 个对象。

4.2 实验设置

对于每个数据集,训练了 10 个不同初始化的 SOM,每个 SOM 由 100 x 100 个单元组成。在训练前,所有对象都进行了随机化处理,以消除数据中的偏好,并确保能够循环训练数据。此外,SOM 训练了 100,000 个周期。

4.3 实验结果

实验结果如图所示,人工数据集能够清晰地映射到二维 SOM 网格上。白色区域表示相邻神经元之间的距离较大,区域越暗,两个相邻神经元之间的距离越小。例如,数据集 1 的映射结果显示,地图上有一条明亮的白色线,将特征空间分隔成不同的聚类,这与数据由两个十维正态分布聚类组成的情况相符。数据集 2 本身内在维度接近 2,SOM 网格很好地表示了这两个聚类,并提取了其二维特性。

对于 IRIS 数据集,映射结果显示只检测到两个聚类,而实际上数据可以分为三个不同的类。查看 Sammon 映射结果发现,有两个类映射得很近。由于 Sammon 映射的失真比 SOM 小,因此可以预计 SOM 只显示两个聚类。

4.4 实验总结

实验结果总结在以下表格中:
| 数据集 | 描述 | SOM 平均 Sammon 失真(%) | Sammon 投影平均 Sammon 失真(%) |
| — | — | — | — |
| 1 | 十维分离的正态聚类 | 34.6 (1.2) | 6.0 (0.1) |
| 2 | 三维空间中的两个细长聚类 | 0.51 (0.0) | 2.7 (1.2) |
| 3 | IRIS 数据 | 3.4 (0.4) | 0.6 (0.1) |

从表格中可以看出,Sammon 投影在从高维到低维映射时通常产生较小的失真。然而,当映射用于分类时,SOM 比 Sammon 映射更好地保留了类。

以下是最近邻分类器和最近均值分类器的分类误差结果:
| 数据集 | 描述 | 输入空间平均误差(%) | SOM 投影平均误差(%) | Sammon 投影平均误差(%) |
| — | — | — | — | — |
| 1 | 十维正态聚类 | 0.2 | 0.3 (0.1) | 0.3 (0.1) |
| 2 | 三维空间中的两个聚类 | 0.0 | 0.0 (0.0) | 0.3 (0.4) |
| 3 | IRIS 数据 | 4.0 | 4.1 (0.7) | 5.5 (1.8) |

数据集 描述 输入空间平均误差(%) SOM 投影平均误差(%) Sammon 投影平均误差(%)
1 十维正态聚类 0.1 3.1 (3.5) 0.1 (0.1)
2 三维空间中的两个聚类 13.3 13.5 (0.1) 13.4 (1.2)
3 IRIS 数据 8.0 6.6 (1.8) 7.7 (1.3)

综上所述,所提出的方法确实能够展示一组对象的可分性。然而,由于某些空间的高维度,在非线性映射过程中会丢失信息。可视化方法的优点是能够让我们直观地观察高维特征空间。地图中距离较远的神经元代表特征空间中距离较远的对象。实验证实了这一点。此外,SOM 的映射失真通常比 Sammon 方法更差,但当将映射作为分类器的输入时,SOM 的表现更好。通过视觉检查可以了解数据的可分性,从而选择合适的分类器对数据进行分类。

mermaid 流程图如下:

graph LR
    A[数据可分性分析] --> B[映射算法]
    B --> B1[SOM]
    B --> B2[Sammon 投影]
    A --> C[可视化数据空间]
    A --> D[实验]
    D --> D1[数据集 1]
    D --> D2[数据集 2]
    D --> D3[数据集 3]
    D1 --> E1[训练 SOM]
    D2 --> E2[训练 SOM]
    D3 --> E3[训练 SOM]
    E1 --> F1[映射结果分析]
    E2 --> F2[映射结果分析]
    E3 --> F3[映射结果分析]
    F1 --> G[总结实验结果]
    F2 --> G
    F3 --> G

5. 分类器选择

在前面的章节中,介绍了一种估计和检查标记数据可分性的方法。当找到一个分类器(如神经网络)来分离特征空间中的数据时,通常有很多分类器可以用来构建分离数据的函数,因此需要从这些分类器中进行选择。一般来说,选择分类器的标准是查看经验误差,即选择经验误差最低或能最可靠估计经验误差的分类器。在本节中,将介绍一种基于分类可靠性来选择分类器的技术。

5.1 置信值

当使用训练好的神经网络对未知对象进行分类时,我们希望知道分类的可靠性,即网络分类正确的概率。这里引入了可靠性或置信度的概念,以及相应的估计器。

假设网络找到一个判别函数 (S: x \to \omega),该判别函数 (S) 为对象 (x) 分配一个类标签 (S)。对于每个对象 (x),基于 (S) 的分类要么正确,要么错误。因此,定义了一个正确性函数 (C(x, \omega)):
[
C(x, \omega) =
\begin{cases}
1 & \text{if the classification of } x \text{ is correct} \
0 & \text{otherwise}
\end{cases}
]
当对未知对象进行分类时,类标签估计的置信度是分类正确的概率。对于一个分类器(这里是前馈神经网络分类器)和一个(通常未知的)对象,置信度 (q(x)) 由下式给出:
[
q(x) = P(C(x, \omega) = 1 | x)
]
分类置信度是估计类的后验概率。对于已知分布和给定的 (S),只有由于类重叠以及训练不完善导致的误差会影响 (q(x)),因此可以表示为:
[
q(x) = \frac{f_{\omega}(x)P_{\omega}}{f(x)}
]
其中 (f_{\omega}(x)) 是类 (\omega)(后验概率最高的类)的类条件密度函数,(P_{\omega}) 是类 (\omega) 的先验概率,(f(x)) 是对象 (x) 的联合概率密度函数,(f(x) = \sum_{\omega} P_{\omega}f_{\omega}(x))。然而,在实际应用中,对象的分布是未知的,因此需要以某种方式估计置信度 (q(x))。

假设 (q(x)) 可以由 (q_i(x)) 估计,由于可能有很多不同的 (q_i(x)),需要一个准则函数来比较它们。准则函数 (J_i) 定义如下:
[
J_i = -\frac{1}{N_T} \sum_{x \in T} [C(x, \omega) - q_i(x)]^2
]
其中 (T) 是一个独立测试集,(N_T) 是测试集中对象的数量,索引 (i) 用于表示用于估计 (q(x)) 的第 (i) 个估计器。由于类重叠,(J_i) 的下界通常不为零。当底层类密度已知时,可以通过将式(7)代入式(9)为每个对象确定 (J_{min})。目标是在某个独立测试集上对不同的估计器 (q_i(x)) 最小化 (J_i),从而得到置信度 (q(x)) 的最佳估计器。

使用置信度的估计器,可以选择我们想要的分类器。当然,这只有在测试集上分类器性能相同时才有用,否则我们会直接选择在测试集上性能最好的分类器。假设通过对测试集中所有对象 (x) 的 (q(x)) 求平均值来计算分类器的总置信度 (Q_S):
[
Q_S = \frac{1}{N_T} \sum_{x \in T} q(x)
]
如果分类器完美地预测了所有对象,(Q_S) 将为 1,因为每个 (q(x) = 1)。选择最佳分类器就相当于在所有可能的分类器 (S) 中选择 (\max(Q_S))。

此外,使用 (q(x)) 作为拒绝机制可以提高分类器的性能。通过拒绝置信度低的对象,可以提高分类的准确性,这在许多不允许错误预测的应用中非常重要。在这种情况下,将对象返回给操作员进行二次分类是更好的选择。最后,还可以使用不同的 (q(x)) 作为输入来训练新的分类器,希望构建一个更可靠的分类器。

5.2 置信度估计器

在实际应用中,由于对象的分布和先验类概率等参数未知,需要估计置信度值。考虑两个方面来估计置信度:一是计算估计值的方法,二是在网络中计算估计值的位置。

前馈神经网络将输入空间映射到隐藏层,再映射到输出层。因此,可以在输入空间、隐藏单元空间或输出空间中使用以下方法估计 (q(x)):
1. 网络输出 :这是确定网络可靠性的经典方法。然而,通常不知道网络是否训练良好,这意味着对象的后验概率可能无法得到很好的估计。此外,神经网络的输出通常不能直接解释为概率,需要对网络输出进行后处理,使其构成概率或调整学习算法。在实验中,考虑了网络输出,因为它是一种成熟的方法。
2. 最近邻方法 :给定一个具有定义度量(如欧几里得距离)的空间,可以使用 (k) - 最近邻密度估计器((k) - NN)来估计对象的置信度:
[
q_{knn}(x) = \frac{N_s(x = \omega)}{k}
]
其中 (N_s(x = \omega)) 是 (k) 个最近邻中正确分类的对象数量(即与考虑对象具有相同标签的对象数量)。越多的对象对 (x) 的标签“达成一致”,我们就越确定标签分配是正确的。一般的经验法则是使用 (k = \sqrt{N_c}),其中 (N_c) 是学习对象的数量。该方法的一个缺点是对于大数据集,计算量较大。
3. Parzen 方法 :在 Parzen 方法中,首先估计类的密度函数,然后使用这些估计值来估计 (q(x))。假设使用固定的高斯核:
[
f_{\omega}(x) = \frac{1}{N_{\omega}} \sum_{x_j \in \omega} (2\pi h_{\omega}^2)^{-\frac{d}{2}} \exp\left(-\frac{D(x, x_j)^2}{2h_{\omega}^2}\right)
]
其中 (D(x, x_j)) 是对象 (x) 与子集 (\omega) 中对象 (x_j) 之间的欧几里得距离,(d) 是估计 (q(x)) 的空间维度。每个类有一个单一的核 (f_{\omega}(x)),其平滑因子 (h_{\omega}) 需要估计,可以通过对学习集进行最大似然估计来确定。找到每个类的密度后,(q(x)) 可以近似为:
[
q_{Parzen}(x) = \frac{f_{\omega}(x)P_{\omega}}{f(x)}
]
其中 (f(x) = \sum_{\omega} P_{\omega}f_{\omega}(x))。实验表明,Parzen 估计器的性能通常不如其他方法,因此在后续实验中未使用该方法。
4. 逻辑方法 :逻辑方法因其简单性而被选择。它速度快,因为参数只需要计算一次。逻辑方法使用 sigmoid 函数对条件类概率进行建模。对于两类问题,对象 (x) 属于正确类的概率为:
[
q_{logistic}(x) = P(C(x, \omega) = 1 | x) = \frac{1}{1 + \exp(\beta x + \beta_0)}
]
假设先验类概率相等。需要确定的参数是 (\beta) 和 (\beta_0),总参数数量由空间维度 (P) 加上偏置 (\beta_0) 给出。可以使用学习集和优化技术(如牛顿法)来估计这些参数。上述公式仅适用于两类情况,但可以很容易地扩展到更多类,通过选择一个类作为基类 (g),并相对于该基类估计其他类的所有参数。

5.3 验证集

在前面的章节中,介绍了三种估计 (q(x)) 的方法,每个估计值都应该使用独立测试集进行测试。然而,通常独立测试集很难获得或根本不可用。在大多数实际情况下,只有一个数据集,需要从中划分出学习集和测试集。如果使用学习集进行估计,会导致估计器有偏差,因为分类器和估计器都是使用同一数据集得到的。

为了克服这个问题,研究了生成人工验证集的可能性。验证集具有与学习集大致相同的特征,但又足够独特,可以作为测试集。使用 (k) - NN 数据生成方法来创建验证集,以学习集为起点,在学习集中每个对象周围使用高斯噪声生成新对象,生成对象的方式遵循局部概率密度,该局部概率密度使用原始对象周围的 (k) 个最近邻进行估计。在实验中,选择 (k) 为空间维度加 2。

需要注意的是,验证集不能完全替代独立测试集,但它是一个可以接受的替代方案。实验表明,(k) - NN 数据生成方法生成的验证集在选择相同的估计器和网络层方面与独立测试集一样可靠。

5.4 实验

为了测试置信度值估计在分类器选择中的适用性,进行了几个实验,这里报告两个实验。

5.4.1 人工数据实验

该实验旨在展示在某些情况下,在输入层以外的层估计置信度是有益的。生成了两个数据集:一个是两类二维问题,另一个是四类六维数据集。

在第一个数据集上,训练了一个 2 - 3 - 2 网络架构(两个输入、三个隐藏单元和两个输出)。每个类由 2000 个对象组成,其中 1000 个用于训练,1000 个用于测试估计器。两个类有大约 10% 的重叠,协方差相等,均值不同。网络分别训练了 10 个周期(得到训练不足的网络)和 1000 个周期(得到训练良好的网络)。训练停止后,使用测试集找到网络中估计置信度的最佳层。在两个实验中都使用了 (k) - NN 方法,结果如下表所示:
| 训练情况 | 估计器 | 输入层 (J) 值 | 隐藏层 (J) 值 | 输出层 (J) 值 | 网络输出 (J) 值 | (J_{min}) | 性能 |
| — | — | — | — | — | — | — | — |
| 训练良好 | (k) - NN | 0.093 | 0.092 | 0.080 | 0.080 | 0.080 | 90% |
| 训练不足 | (k) - NN | 0.093 | 0.094 | 0.093 | 0.209 | 0.080 | 86% |

从表中可以看出,对于训练良好的网络,估计 (q(x)) 的最佳层是输出空间,因为网络训练良好,在输出空间中能最好地近似后验概率。而对于训练不足的网络,选择哪个层并不明确。

第二个实验涉及一个 6 - 15 - 4 架构的网络,同样训练得到训练良好和训练不足的网络。由于数据的维度更高,使用了 2000 个对象进行训练和测试,结果如下表所示:
| 训练情况 | 估计器 | 输入层 (J) 值 | 隐藏层 (J) 值 | 输出层 (J) 值 | 网络输出 (J) 值 | (J_{min}) | 性能 |
| — | — | — | — | — | — | — | — |
| 训练良好 | (k) - NN | 0.170 | 0.175 | 0.171 | 0.173 | 0.149 | 73% |
| 训练不足 | (k) - NN | 0.146 | 0.154 | 0.149 | 0.210 | 0.129 | 55% |

与第一个实验不同的是,在训练不足的情况下,有一个明显的层偏好(输入空间),这是由于类的数量较多。一般来说,对于多于两个类,(J_{min}) 会增加,因为在类重叠的区域,非常差的分类会导致 (J) 值较低。但两个实验都表明,选择输入层以外的层可能是有益的。

5.4.2 染色体数据实验

正常人类细胞包含 46 条染色体,可分为 24 组,包括 22 对常染色体和两条性染色体。在这个分类问题中,仅考虑染色体的条带模式。对染色体条带进行采样,得到 30 个特征,用于染色体的分类。

使用一个由 30 个输入神经元和 24 个输出神经元(每个类一个)组成的神经网络进行分类,隐藏单元数量设置为 100。使用 32,000 个训练对象训练网络,同样数量的对象用于测试网络。网络训练了 200 个周期,采用动量和自适应学习率,动量项设置为 0.7,初始学习率设置为 0.1,当网络的均方误差增加 10% 时,学习率减半。训练后,网络在学习集上的性能为 85%,在测试集上的性能为 83.5%。

使用两个估计器和网络输出估计置信度值,结果如下表所示:
| 使用的集合 | 估计器 | (k) - NN 输入层 (J) 值 | (k) - NN 隐藏层 (J) 值 | (k) - NN 输出层 (J) 值 | 逻辑输入层 (J) 值 | 逻辑隐藏层 (J) 值 | 逻辑输出层 (J) 值 | 网络输出 (J) 值 | 平均标准差 (J) | 分类性能 |
| — | — | — | — | — | — | — | — | — | — | — |
| 学习集(留一法估计) | | 0.167 | 0.119 | 0.086 | 0.140 | 0.692 | 0.147 | 0.482 | 0.001 | 85.0% |
| 验证集 | | 0.165 | 0.119 | 0.088 | 0.141 | 0.692 | 0.150 | 0.479 | 0.001 | 84.5% |
| 测试集 | | 0.161 | 0.119 | 0.095 | 0.141 | 0.694 | 0.158 | 0.474 | 0.001 | 83.5% |

从表中可以看出,(k) - NN 估计器在输出空间中的得分最高,逻辑估计器在输出空间中的性能比在输入空间中差,网络输出作为置信度估计器不太有用,这是因为网络只训练了 200 个周期。

使用不同的估计器进行对象拒绝实验,结果表明,拒绝置信度最低的对象可以提高分类器的性能。例如,要达到 90% 的性能,只需要拒绝 13% 的对象(约 4,000 个对象中的 32,000 个)。

综上所述,置信度值对于判断分类器很有用。通过计算分类器不同部分对象的置信度水平,可以了解分类的可靠性。在实际应用中,如染色体条带模式分类,使用置信度水平作为提高分类器性能的方法是有效的。虽然没有展示关于分类器选择的实验,但已经有了判断分类器的工具,下一步是针对特定问题训练一个分类器,这是一项具有挑战性的任务,因为我们希望得到一个不过度训练的最优分类器。

mermaid 流程图如下:

graph LR
    A[分类器选择实验] --> B[人工数据实验]
    A --> C[染色体数据实验]
    B --> B1[生成数据集]
    B1 --> B2[训练网络]
    B2 --> B3[估计置信度]
    B3 --> B4[分析结果]
    C --> C1[采集染色体数据]
    C1 --> C2[训练网络]
    C2 --> C3[估计置信度]
    C3 --> C4[对象拒绝实验]
    C4 --> C5[分析性能提升]
    B4 --> D[总结实验结论]
    C5 --> D

通过以上实验和分析,我们对数据的可分性、映射算法、可视化方法以及分类器选择和置信度估计有了更深入的了解。这些方法和技术在实际应用中具有重要的价值,可以帮助我们更好地处理分类问题,提高分类的准确性和可靠性。

6. 置信度估计方法的综合比较

6.1 不同方法的性能对比

为了更清晰地了解各种置信度估计方法的性能,我们对前面提到的网络输出、最近邻方法、Parzen 方法和逻辑方法进行综合比较。以下表格总结了这些方法在不同方面的特点:
| 方法 | 优点 | 缺点 | 适用场景 |
| — | — | — | — |
| 网络输出 | 经典方法,成熟易用 | 网络训练情况不确定时,后验概率估计不准确,输出需后处理 | 网络训练良好且对计算效率要求较高的情况 |
| 最近邻方法 | 直观,能反映邻域内对象的一致性 | 大数据集计算量大 | 数据集规模较小,且希望利用邻域信息的情况 |
| Parzen 方法 | 理论上可准确估计密度 | 实验中性能不如其他方法 | 对理论准确性要求高,但对实际性能要求不苛刻的情况 |
| 逻辑方法 | 简单快速,参数只需计算一次 | 需假设先验类概率等条件 | 对计算速度要求高,且满足一定假设条件的情况 |

6.2 不同数据集下的表现

不同的数据集对置信度估计方法的性能也有影响。在人工数据集上,由于数据的分布和特性已知,各种方法的表现相对容易预测。例如,在两类二维问题的人工数据集中,训练良好的网络下,最近邻方法在输出层估计置信度表现较好;而在训练不足的情况下,选择合适的层变得困难。

在真实数据集如染色体数据集中,由于数据的复杂性和不确定性,不同方法的性能差异更加明显。(k) - NN 估计器在输出空间中的得分最高,说明它在处理这种高维、多类别的数据时具有一定优势;而网络输出作为置信度估计器不太有用,这与网络的训练周期和数据的复杂性有关。

7. 分类器训练的挑战与策略

7.1 过度训练与欠训练问题

在分类器训练过程中,过度训练和欠训练是两个常见的问题。过度训练会导致分类器在训练集上表现良好,但在测试集上性能下降,即出现过拟合现象;欠训练则会使分类器无法充分学习数据的特征,导致分类性能不佳。

例如,在人工数据实验中,训练 10 个周期的网络属于欠训练,其在测试集上的性能不如训练 1000 个周期的网络;而在染色体数据实验中,虽然网络训练了 200 个周期,但从网络输出作为置信度估计器的效果不佳可以推测,可能存在一定程度的训练不足或者过拟合的潜在风险。

7.2 优化训练策略

为了避免过度训练和欠训练问题,需要采用一些优化训练策略。以下是一些常见的策略:
- 早停法 :在训练过程中,定期使用验证集评估分类器的性能。当验证集上的性能不再提升时,停止训练,避免过度训练。例如,在染色体数据实验中,可以在训练过程中每隔一定周期使用验证集评估网络性能,当性能开始下降时停止训练。
- 正则化 :通过添加正则化项到损失函数中,限制模型的复杂度,防止过拟合。常见的正则化方法包括 L1 和 L2 正则化。
- 自适应学习率 :在训练过程中动态调整学习率,使模型在训练初期能够快速收敛,后期能够更精细地调整参数。例如,在染色体数据实验中采用的自适应学习率方法,当网络的均方误差增加 10% 时,学习率减半。

8. 未来研究方向

8.1 改进置信度估计方法

虽然目前已经介绍了几种置信度估计方法,但仍有改进的空间。例如,可以探索更复杂的模型或算法来更准确地估计置信度,尤其是在处理高维、复杂数据集时。另外,可以结合多种估计方法的优点,开发混合估计方法,提高置信度估计的准确性和可靠性。

8.2 开发更有效的分类器训练算法

随着数据维度和复杂度的增加,传统的分类器训练算法可能面临挑战。未来可以研究更有效的训练算法,如基于深度学习的优化算法,能够更好地处理大规模、高维数据,避免过度训练和欠训练问题。

8.3 拓展应用领域

目前的研究主要集中在人工数据集和染色体数据等领域,未来可以将这些方法和技术拓展到更多的应用领域,如图像识别、语音识别、自然语言处理等。在这些领域中,数据的复杂性和多样性更高,对分类器的性能和置信度估计的准确性要求也更高。

9. 总结

本文深入探讨了数据可分性与分类器选择的相关问题。通过自组织映射(SOM)和 Sammon 投影等映射算法,我们能够将高维数据空间映射到低维空间,从而可视化数据的可分性,为选择合适的分类器提供了直观的依据。

在分类器选择方面,引入了置信度的概念,并介绍了多种置信度估计方法,如网络输出、最近邻方法、Parzen 方法和逻辑方法。通过实验验证了这些方法在不同数据集和训练情况下的性能差异。同时,还研究了生成人工验证集的方法,以解决独立测试集难以获取的问题。

在分类器训练方面,分析了过度训练和欠训练问题,并提出了一些优化训练策略。最后,展望了未来的研究方向,包括改进置信度估计方法、开发更有效的分类器训练算法和拓展应用领域等。

通过这些研究,我们可以更好地处理分类问题,提高分类的准确性和可靠性,为实际应用提供更有力的支持。

mermaid 流程图如下:

graph LR
    A[未来研究方向] --> B[改进置信度估计方法]
    A --> C[开发更有效分类器训练算法]
    A --> D[拓展应用领域]
    B --> B1[探索复杂模型算法]
    B --> B2[开发混合估计方法]
    C --> C1[研究深度学习优化算法]
    C --> C2[应对高维复杂数据]
    D --> D1[图像识别]
    D --> D2[语音识别]
    D --> D3[自然语言处理]

表格总结不同方法在不同实验中的表现:
| 实验类型 | 数据集 | 最佳置信度估计方法 | 最佳估计层 | 分类器性能提升情况 |
| — | — | — | — | — |
| 人工数据实验 - 两类二维 | 两类二维人工数据集 | (k) - NN(训练良好时) | 输出层(训练良好时) | 训练良好网络性能达 90%,训练不足网络性能 86% |
| 人工数据实验 - 四类六维 | 四类六维人工数据集 | (k) - NN(训练不足时输入层有优势) | 输入层(训练不足时) | 训练良好网络性能 73%,训练不足网络性能 55% |
| 染色体数据实验 | 染色体条带数据 | (k) - NN 输出层 | 输出层 | 拒绝 13% 对象可使性能达 90% |

列表总结关键结论:
1. 数据可分性分析有助于选择合适的分类器,可通过映射算法和可视化方法进行评估。
2. 置信度估计方法各有优缺点,应根据数据集特点和应用场景选择。
3. 生成人工验证集是解决独立测试集不足的有效方法。
4. 分类器训练需避免过度训练和欠训练问题,可采用早停法、正则化和自适应学习率等策略。
5. 未来研究可从改进置信度估计方法、开发训练算法和拓展应用领域等方面展开。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值