Page 241 - 《应用声学》2025年第1期
P. 241

第 44 卷 第 1 期          武雅琴等: 数据增强和复杂特征优化的类不平衡病理嗓音检测                                          237


             类样本占比超过半数,则该种子样本被标记为边界                            病理嗓音数据的识别精度与泛化能力。
             样本,视为合成新样本的候选样本。随后,对于每个                               本文使用主成分分析将数据可视化到三维空
             选定的边界样本,采用线性插值方法,在其与相邻少                           间中,对增广前后的数据分布进行了对比。图 3(a)
             数类样本之间构造新的合成样本。这一过程重复进                            展示了原始数据集的分布情况,不同类别的数据
             行,直至生成的合成样本数量达到预设的阈值。此                            点呈现出不平衡状态,类别之间的比例差异显著。
             策略不仅显著缓解了数据集的类别不平衡问题,还                            图 3(b) 则展示了数据增广后的效果:少数类别的数
             通过强化边界区域的样本表示,提升了分类模型对                            据点显著增加,有效提升了样本的数量。

                                               表 1  改进的 SMOTE 算法流程
                                 Table 1 The workflow of the improved SMOTE algorithm

                           改进的 SMOTE 数据增强算法
                           输入: 语声特征数据集 D = {x 1 , x 2 , · · · , x m}; 增强样本数量 Num 0 ; 预设变量 Num; 边界样本 x i
                           输出: 增强后的语声特征数据 D
                           1: {步骤 1. 初始化: };
                           2: Num = 0;
                           3: { 步骤 2. 判断 seed_sample 是否为边界样本 x i };
                           4: while Num < Num 0 do
                           5:  从 D 中选择一个少数类特征样本作为种子样本 seed_sample;
                           6:  计算 seed_sample 与所有非 seed 样本之间的欧几里得距离;
                           7:  应用 k 近邻算法,找到 seed_sample 的个最近邻的特征样本;
                           8:  计算这 k 个最近邻中的多数类样本数量 countNum;
                           9:  if countNum >= k/2 then
                           10:     将 seed_sample 设置为边界样本 x i ;
                           11:  else
                           12:     goto: 从 D 中选择一个少数类特征样本作为 seed_sample;
                           13:  end if
                           14: {步骤 3. 生成新样本};
                           15:  从 x i 的最近少数类邻居中随机选择一个样本 x j ;
                           16:  使用线性插值生成一个新样本 new_sample:
                           17:  new sample = x i + λ × (x j − x i ); 其中 λ 为 0 到 1 之间的随机数;
                           18:  将 new_sample 添加到 D 中;
                           19:  Num = Num + 1;
                           20: end while


                                                      ܦࣜ࠵ፇ                                     ܦࣜ࠵ፇ
                                                      ܦࣜৌᐛ                                     ܦࣜৌᐛ
                                                      ܦࣜඵᐹ                                     ܦࣜඵᐹ
                                                      ܦ᳤ࣜკ                                     ܦ᳤ࣜკ

                                                                                                  0.6
                                                       0.4
                                                                                                 0.4
                                                      0.2                                        0.2
                                                           ፥ए3                                   0
                                                      0                                               ፥ए3
                                                      -0.2                                       -0.2
                                                      -0.4                                       -0.4
                                                                                                0.6
                                                     0.6
                   -0.4                            0.4         -0.4                           0.4
                      -0.2                                        -0.2                      0.2
                           0                    0.2                   0                  0
                                              0
                            0.2                 ፥ए2                     0.2           -0.2  ፥ए2
                               0.4         -0.2                      ፥ए1  0.4
                          ፥ए1
                                  0.6  -0.4                                  0.6    -0.4
                                  (a) ܙࣹҒ                                     (b) ܙࣹՑ
                                                图 3  增广前后的特征数据分布图
                                     Fig. 3 Feature distribution before and after augmentation
   236   237   238   239   240   241   242   243   244   245   246