| Literature DB >> 35127672 |
Ke-Fan Wang1, Jing An1, Zhen Wei2, Can Cui3, Xiang-Hua Ma1, Chao Ma1, Han-Qiu Bao3.
Abstract
Imbalanced classification is widespread in the fields of medical diagnosis, biomedicine, smart city and Internet of Things. The imbalance of data distribution makes traditional classification methods more biased towards majority classes and ignores the importance of minority class. It makes the traditional classification methods ineffective in imbalanced classification. In this paper, a novel imbalance classification method based on deep learning and fuzzy support vector machine is proposed and named as DFSVM. DFSVM first uses a deep neural network to obtain an embedding representation of the data. This deep neural network is trained by using triplet loss to enhance similarities within classes and differences between classes. To alleviate the effects of imbalanced data distribution, oversampling is performed in the embedding space of the data. In this paper, we use an oversampling method based on feature and center distance, which can obtain more diverse new samples and prevent overfitting. To enhance the impact of minority class, we use a fuzzy support vector machine (FSVM) based on cost-sensitive learning as the final classifier. FSVM assigns a higher misclassification cost to minority class samples to improve the classification quality. Experiments were performed on multiple biological datasets and real-world datasets. The experimental results show that DFSVM has achieved promising classification performance.Entities:
Keywords: deep neural network; fuzzy support vector machine; imbalance classification; machine learning; oversampling
Year: 2022 PMID: 35127672 PMCID: PMC8815771 DOI: 10.3389/fbioe.2021.802712
Source DB: PubMed Journal: Front Bioeng Biotechnol ISSN: 2296-4185
FIGURE 1Optimization result using triple loss function.
FIGURE 2Deep neural network framework for feature extraction.
FIGURE 3t-SNE plots of the original Glass1 dataset and after the network training.
FIGURE 4Validation of the new synthetic feature vector.
Description of the datasets.
| Name | Attributes | Data size | Imbalance ratio |
|---|---|---|---|
| Cargood | 6 | 1,728 | 24.04 |
| Cleveland0vs4 | 13 | 177 | 12.62 |
| Ecoli0147vs2356 | 7 | 336 | 10.59 |
| Ecoli01vs235 | 7 | 244 | 9.17 |
| Ecoli0267vs35 | 7 | 224 | 9.18 |
| Glass1 | 9 | 214 | 1.82 |
| Glass6 | 9 | 214 | 6.38 |
| Pageblocks0 | 10 | 5,472 | 8.79 |
| Vehicle3 | 18 | 846 | 2.99 |
| Yeast1vs7 | 8 | 459 | 14.3 |
| Yeast3 | 8 | 1,484 | 8.1 |
| Yeast6 | 8 | 1,484 | 41.4 |
Results of different imbalanced classification methods on datasets.
| Dataset | Cargood | Cleveland0vs4 | ||||
|---|---|---|---|---|---|---|
| Measure | G-mean | F-measure | AUC | G-mean | F-measure | AUC |
| SMOTE | 0.851 ± 0.027 | 0.716 ± 0.021 | 0.995 ± 0.001 | 0.373 ± 0.066 | 0.349 ± 0.063 | 0.962 ± 0.003 |
| B-SMOTE | 0.839 ± 0.007 | 0.693 ± 0.010 | 0.994 ± 0.000 | 0.420 ± 0.001 | 0.393 ± 0.000 | 0.963 ± 0.004 |
| SOMO | 0.864 ± 0.010 | 0.649 ± 0.035 | 0.988 ± 0.002 | 0.640 ± 0.087 | 0.553 ± 0.084 | 0.972 ± 0.012 |
| KmeansSMOTE | 0.881 ± 0.015 | 0.758 ± 0.033 | 0.993 ± 0.003 | 0.665 ± 0.169 | 0.549 ± 0.155 | 0.967 ± 0.007 |
| FSVM-CEN | 0.875 ± 0.023 | 0.616 ± 0.009 | 0.991 ± 0.003 | 0.778 ± 0.087 | 0.574 ± 0.051 | 0.982 ± 0.002 |
| FSVM-HYP | 0.886 ± 0.033 | 0.662 ± 0.011 | 0.991 ± 0.003 | 0.677 ± 0.058 | 0.541 ± 0.034 | 0.973 ± 0.001 |
| FSVM-WD | 0.776 ± 0.012 | 0.586 ± 0.039 | 0.993 ± 0.000 | 0.728 ± 0.055 | 0.615 ± 0.027 | 0.976 ± 0.002 |
| FSVM-BD | 0.848 ± 0.000 | 0.687 ± 0.000 |
| 0.743 ± 0.003 | 0.662 ± 0.015 | 0.933 ± 0.003 |
| ACFSVM | 0.919 ± 0.011 | 0.774 ± 0.015 | 0.996 ± 0.001 | 0.816 ± 0.048 | 0.819 ± 0.022 | 0.985 ± 0.003 |
| DFSVM |
|
| 0.985 ± 0.019 |
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
| SMOTE | 0.607 ± 0.038 | 0.469 ± 0.062 | 0.792 ± 0.019 | 0.834 ± 0.006 | 0.674 ± 0.020 | 0.927 ± 0.005 |
| B-SMOTE | 0.710 ± 0.005 | 0.622 ± 0.006 | 0.856 ± 0.013 | 0.867 ± 0.011 | 0.739 ± 0.017 |
|
| SOMO | 0.762 ± 0.035 | 0.676 ± 0.024 | 0.898 ± 0.032 | 0.781 ± 0.011 | 0.690 ± 0.026 | 0.955 ± 0.009 |
| KmeansSMOTE | 0.743 ± 0.043 | 0.647 ± 0.033 | 0.914 ± 0.018 | 0.873 ± 0.008 | 0.741 ± 0.013 |
|
| FSVM-CEN | 0.747 ± 0.029 | 0.597 ± 0.011 | 0.845 ± 0.056 | 0.787 ± 0.028 | 0.601 ± 0.046 | 0.932 ± 0.018 |
| FSVM-HYP | 0.654 ± 0.055 | 0.591 ± 0.031 | 0.829 ± 0.018 | 0.820 ± 0.004 | 0.711 ± 0.009 | 0.952 ± 0.005 |
| FSVM-WD | 0.683 ± 0.000 | 0.463 ± 0.000 | 0.801 ± 0.005 | 0.801 ± 0.007 | 0.634 ± 0.014 | 0.910 ± 0.011 |
| FSVM-BD | 0.686 ± 0.008 | 0.531 ± 0.011 | 0.799 ± 0.003 | 0.825 ± 0.023 | 0.576 ± 0.049 | 0.925 ± 0.005 |
| ACFSVM | 0.782 ± 0.024 | 0.533 ± 0.010 | 0.839 ± 0.013 | 0.817 ± 0.028 | 0.654 ± 0.037 | 0.924 ± 0.008 |
| DFSVM |
|
|
|
|
| 0.955 ± 0.044 |
|
|
|
| ||||
|
|
|
|
|
|
|
|
| SMOTE | 0.807 ± 0.025 | 0.621 ± 0.024 | 0.937 ± 0.014 | 0.682 ± 0.008 | 0.634 ± 0.010 | 0.734 ± 0.020 |
| B-SMOTE | 0.771 ± 0.028 | 0.641 ± 0.027 | 0.915 ± 0.027 | 0.702 ± 0.008 | 0.606 ± 0.011 | 0.790 ± 0.016 |
| SOMO | 0.825 ± 0.012 | 0.735 ± 0.012 | 0.929 ± 0.021 | 0.678 ± 0.003 | 0.612 ± 0.002 | 0.713 ± 0.010 |
| KmeansSMOTE | 0.855 ± 0.021 | 0.702 ± 0.010 | 0.949 ± 0.005 | 0.755 ± 0.012 |
| 0.759 ± 0.015 |
| FSVM-CEN | 0.765 ± 0.037 | 0.611 ± 0.007 | 0.906 ± 0.025 | 0.611 ± 0.011 | 0.583 ± 0.005 | 0.707 ± 0.033 |
| FSVM-HYP | 0.822 ± 0.004 | 0.676 ± 0.017 | 0.922 ± 0.032 | 0.643 ± 0.016 | 0.588 ± 0.018 | 0.708 ± 0.015 |
| FSVM-WD | 0.848 ± 0.018 | 0.615 ± 0.016 | 0.939 ± 0.005 | 0.598 ± 0.046 | 0.575 ± 0.020 | 0.732 ± 0.009 |
| FSVM-BD | 0.836 ± 0.010 | 0.647 ± 0.020 | 0.939 ± 0.012 | 0.638 ± 0.025 | 0.584 ± 0.030 | 0.706 ± 0.007 |
| ACFSVM | 0.869 ± 0.011 | 0.711 ± 0.005 | 0.923 ± 0.029 | 0.661 ± 0.005 | 0.636 ± 0.005 | 0.683 ± 0.015 |
| DFSVM |
|
|
|
| 0.629 ± 0.032 |
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
| SMOTE | 0.901 ± 0.014 | 0.808 ± 0.025 | 0.974 ± 0.002 | 0.890 ± 0.003 | 0.735 ± 0.011 | 0.960 ± 0.001 |
| B-SMOTE | 0.884 ± 0.033 | 0.818 ± 0.045 | 0.983 ± 0.006 | 0.903 ± 0.001 | 0.754 ± 0.002 | 0.963 ± 0.001 |
| SOMO | 0.861 ± 0.018 | 0.747 ± 0.019 | 0.969 ± 0.003 | 0.852 ± 0.003 | 0.746 ± 0.017 | 0.959 ± 0.005 |
| KmeansSMOTE | 0.878 ± 0.021 | 0.808 ± 0.022 | 0.967 ± 0.011 | 0.903 ± 0.009 |
| 0.971 ± 0.001 |
| FSVM-CEN | 0.862 ± 0.017 | 0.760 ± 0.031 | 0.971 ± 0.005 | 0.908 ± 0.004 | 0.711 ± 0.001 | 0.960 ± 0.007 |
| FSVM-HYP | 0.910 ± 0.012 | 0.823 ± 0.009 | 0.982 ± 0.004 | 0.898 ± 0.001 | 0.746 ± 0.003 |
|
| FSVM-WD | 0.892 ± 0.010 | 0.810 ± 0.018 | 0.978 ± 0.001 | 0.874 ± 0.001 | 0.485 ± 0.001 | 0.962 ± 0.002 |
| FSVM-BD | 0.891 ± 0.016 | 0.810 ± 0.006 | 0.983 ± 0.009 | 0.916 ± 0.003 | 0.587 ± 0.004 | 0.970 ± 0.010 |
| ACFSVM | 0.904 ± 0.011 | 0.777 ± 0.034 | 0.950 ± 0.007 |
| 0.782 ± 0.001 | 0.961 ± 0.001 |
| DFSVM |
|
|
| 0.915 ± 0.021 | 0.805 ± 0.023 | 0.960 ± 0.016 |
|
|
|
| ||||
|
|
|
|
|
|
|
|
| SMOTE | 0.741 ± 0.001 | 0.631 ± 0.001 | 0.863 ± 0.001 | 0.418 ± 0.024 | 0.223 ± 0.013 | 0.697 ± 0.010 |
| B-SMOTE | 0.746 ± 0.016 | 0.634 ± 0.024 | 0.865 ± 0.017 | 0.435 ± 0.005 | 0.244 ± 0.012 | 0.717 ± 0.006 |
| SOMO | 0.766 ± 0.010 | 0.676 ± 0.013 | 0.899 ± 0.008 | 0.509 ± 0.120 | 0.433 ± 0.101 | 0.745 ± 0.010 |
| KmeansSMOTE | 0.787 ± 0.005 | 0.694 ± 0.010 | 0.903 ± 0.007 | 0.555 ± 0.054 | 0.466 ± 0.045 | 0.748 ± 0.003 |
| FSVM-CEN | 0.831 ± 0.007 | 0.712 ± 0.009 | 0.906 ± 0.003 | 0.611 ± 0.042 | 0.359 ± 0.028 | 0.817 ± 0.022 |
| FSVM-HYP | 0.804 ± 0.004 | 0.699 ± 0.004 | 0.904 ± 0.003 | 0.668 ± 0.041 | 0.449 ± 0.017 | 0.816 ± 0.004 |
| FSVM-WD | 0.761 ± 0.002 | 0.622 ± 0.003 | 0.852 ± 0.003 | 0.627 ± 0.000 | 0.258 ± 0.000 | 0.740 ± 0.000 |
| FSVM-BD | 0.774 ± 0.020 | 0.638 ± 0.018 | 0.862 ± 0.014 | 0.662 ± 0.011 | 0.286 ± 0.007 | 0.776 ± 0.006 |
| ACFSVM | 0.821 ± 0.008 | 0.725 ± 0.012 |
| 0.659 ± 0.009 | 0.333 ± 0.005 | 0.763 ± 0.012 |
| DFSVM |
|
| 0.884 ± 0.026 |
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
| SMOTE | 0.837 ± 0.004 | 0.683 ± 0.001 | 0.933 ± 0.006 | 0.625 ± 0.001 | 0.342 ± 0.011 | 0.880 ± 0.003 |
| B-SMOTE | 0.831 ± 0.002 | 0.672 ± 0.001 | 0.932 ± 0.002 | 0.703 ± 0.056 | 0.529 ± 0.051 | 0.911 ± 0.001 |
| SOMO | 0.851 ± 0.000 | 0.775 ± 0.001 |
| 0.593 ± 0.053 | 0.451 ± 0.047 | 0.857 ± 0.012 |
| KmeansSMOTE | 0.863 ± 0.015 | 0.749 ± 0.027 | 0.964 ± 0.004 | 0.655 ± 0.014 | 0.443 ± 0.021 | 0.726 ± 0.015 |
| FSVM-CEN | 0.905 ± 0.005 | 0.720 ± 0.003 | 0.964 ± 0.003 | 0.849 ± 0.027 | 0.374 ± 0.025 | 0.921 ± 0.002 |
| FSVM-HYP | 0.896 ± 0.006 | 0.720 ± 0.002 | 0.959 ± 0.001 | 0.593 ± 0.016 | 0.365 ± 0.021 | 0.905 ± 0.004 |
| FSVM-WD | 0.891 ± 0.000 | 0.622 ± 0.000 | 0.957 ± 0.000 | 0.813 ± 0.001 | 0.287 ± 0.000 | 0.915 ± 0.001 |
| FSVM-BD | 0.910 ± 0.001 | 0.762 ± 0.002 | 0.974 ± 0.001 | 0.801 ± 0.072 | 0.339 ± 0.005 | 0.922 ± 0.005 |
| ACFSVM | 0.901 ± 0.003 | 0.778 ± 0.005 | 0.945 ± 0.003 | 0.805 ± 0.001 | 0.412 ± 0.007 | 0.917 ± 0.001 |
| DFSVM |
|
| 0.968 ± 0.033 |
|
|
|
The bold values mean the best results.
Average ranking of different methods on G-mean and its ranking difference with DFSVM.
| Method | Average rank | Difference |
|---|---|---|
| SMOTE | 7.67 | 6.34 |
| B-SMOTE | 7.00 | 5.67 |
| SOMO | 7.50 | 6.17 |
| KmeansSMOTE | 5.17 | 3.84 |
| FSVM-CEN | 5.50 | 4.17 |
| FSVM-HYP | 5.67 | 4.34 |
| FSVM-WD | 6.75 | 5.42 |
| FSVM-BD | 5.08 | 3.75 |
| ACFSVM | 3.33 | 2.00 |
| DFSVM | 1.33 | N/A |
FIGURE 5Classification effect of DFSVM under two different activation functions.
Classification effect of DFSVM under two different base classifiers.
| Evaluation metrics | G-mean | F-measure | AUC | |||
|---|---|---|---|---|---|---|
| Dataset | FSVM | SVM | FSVM | SVM | FSVM | SVM |
| Ecoli0147vs2356 |
| 0.8082 ± 0.0748 |
| 0.6868 ± 0.1072 |
| 0.9178 ± 0.0351 |
| Ecoli01vs235 |
| 0.8163 ± 0.1152 |
| 0.5200 ± 0.1618 | 0.9334 ± 0.0353 |
|
| Ecoli0267vs35 |
| 0.7986 ± 0.0883 |
| 0.7270 ± 0.1109 |
| 0.9698 ± 0.0305 |
| Glass1 |
| 0.6667 ± 0.0622 |
| 0.5818 ± 0.0787 |
| 0.7446 ± 0.0544 |
| Yeast1vs7 |
| 0.5029 ± 0.1372 |
| 0.2630 ± 0.1013 |
| 0.6655 ± 0.0921 |
The bold values mean the best results.
The experimental results of different sampling methods.
| Dataset | Ecoli0147vs2356 | Ecoli01vs235 | ||||
|---|---|---|---|---|---|---|
| Measure | G-mean | F-measure | AUC | G-mean | F-measure | AUC |
| SMOTE | 0.7273 ± 0.0456 | 0.6363 ± 0.1203 | 0.8354 ± 0.0379 | 0.8384 ± 0.0461 | 0.7368 ± 0.0972 | 0.9321 ± 0.0691 |
| B-SMOTE | 0.7323 ± 0.0771 | 0.5517 ± 0.1605 | 0.9017 ± 0.0278 | 0.8752 ± 0.0895 | 0.6956 ± 0.1396 |
|
| SOMO | 0.7911 ± 0.1964 | 0.6823 ± 0.1817 | 0.9167 ± 0.0336 | 0.8719 ± 0.0502 | 0.6778 ± 0.0896 | 0.9616 ± 0.0216 |
| KmeansSMOTE | 0.8129 ± 0.1817 | 0.6933 ± 0.2175 | 0.9203 ± 0.0435 |
| 0.7320 ± 0.0861 | 0.9271 ± 0.0498 |
| DFSVM |
|
|
| 0.8687 ± 0.0950 |
| 0.9334 ± 0.0353 |
|
|
|
| ||||
|
|
|
|
|
|
|
|
| SMOTE | 0.8665 ± 0.0964 | 0.7125 ± 0.1219 | 0.9528 ± 0.0366 | 0.4941 ± 0.1579 | 0.3363 ± 0.0838 | 0.6857 ± 0.1466 |
| B-SMOTE | 0.8244 ± 0.0994 | 0.4516 ± 0.1251 | 0.8029 ± 0.0352 | 0.5135 ± 0.1213 | 0.3533 ± 0.1079 | 0.7308 ± 0.0669 |
| SOMO | 0.8620 ± 0.0142 | 0.6897 ± 0.1330 | 0.9729 ± 0.0074 | 0.5811 ± 0.1708 | 0.4242 ± 0.1174 | 0.6723 ± 0.0681 |
| KmeansSMOTE | 0.8967 ± 0.1108 | 0.7181 ± 0.1567 | 0.9611 ± 0.0350 | 0.5261 ± 0.1961 | 0.2285 ± 0.0734 | 0.6652 ± 0.0693 |
| DFSVM |
|
|
|
|
|
|
The bold values mean the best results.
FIGURE 6Classification results under different margins.
Classification results of DFSVM with different number of neurons for G-mean.
|
| 12 | 10 | 8 | 6 | 4 | 2 |
|---|---|---|---|---|---|---|
|
| 0.8339 ± 0.0561 | 0.7289 ± 0.2079 | 0.8434 ± 0.0691 |
| 0.7968 ± 0.0697 | 0.7419 ± 0.0807 |
|
| 0.7964 ± 0.0763 | 0.8186 ± 0.0688 |
| 0.7892 ± 0.0693 | 0.8233 ± 0.0610 | 0.8626 ± 0.0372 |
|
| 0.7585 ± 0.0948 | 0.7370 ± 0.0810 |
| 0.7902 ± 0.0622 | 0.8626 ± 0.0871 | 0.7655 ± 0.0882 |
|
| 0.5690 ± 0.0669 | 0.6145 ± 0.0730 | 0.6106 ± 0.1270 |
| 0.6026 ± 0.0648 | 0.6062 ± 0.2919 |
|
| 0.8058 ± 0.0417 | 0.8378 ± 0.0285 | 0.8700 ± 0.0291 | 0.8883 ± 0.0240 |
| 0.8855 ± 0.0272 |
|
| 0.5893 ± 0.0505 |
| 0.6220 ± 0.1238 | 0.5678 ± 0.0811 | 0.7785 ± 0.0924 | 0.6239 ± 0.0877 |
The bold values mean the best results.
Classification results of DFSVM with different number of neurons for AUC.
|
| 12 | 10 | 8 | 6 | 4 | 2 |
|---|---|---|---|---|---|---|
|
| 0.8879 ± 0.0641 | 0.7467 ± 0.1766 | 0.9003 ± 0.0754 |
| 0.8155 ± 0.0916 | 0.7442 ± 0.0918 |
|
| 0.9024 ± 0.0599 |
| 0.9353 ± 0.0440 | 0.9394 ± 0.0413 | 0.9370 ± 0.0605 | 0.9151 ± 0.0446 |
|
| 0.9451 ± 0.0290 | 0.9363 ± 0.0413 |
| 0.9067 ± 0.0508 | 0.9533 ± 0.0421 | 0.8874 ± 0.0976 |
|
| 0.6386 ± 0.0884 |
| 0.7298 ± 0.1079 | 0.7232 ± 0.0987 | 0.6409 ± 0.1111 | 0.7362 ± 0.1286 |
|
| 0.8886 ± 0.0414 | 0.9364 ± 0.0228 | 0.9429 ± 0.0223 | 0.9373 ± 0.0220 | 0.8978 ± 0.0333 |
|
|
| 0.7485 ± 0.0454 |
| 0.7555 ± 0.0923 | 0.6590 ± 0.0688 | 0.8522 ± 0.0864 | 0.7045 ± 0.0848 |
The bold values mean the best results.
Classification results of DFSVM with different number of neurons for F-measure.
|
| 12 | 10 | 8 | 6 | 4 | 2 |
|---|---|---|---|---|---|---|
|
| 0.7110 ± 0.1244 | 0.3965 ± 0.1425 |
| 0.4622 ± 0.1293 | 0.3637 ± 0.1157 | 0.4010 ± 0.0858 |
|
| 0.7721 ± 0.0889 | 0.6922 ± 0.1053 |
| 0.6703 ± 0.0877 | 0.7139 ± 0.0848 | 0.7903 ± 0.0886 |
|
| 0.7196 ± 0.1114 | 0.6994 ± 0.1006 |
| 0.6795 ± 0.0836 | 0.6521 ± 0.1422 | 0.6118 ± 0.1266 |
|
| 0.2817 ± 0.0769 |
| 0.3037 ± 0.1077 | 0.2417 ± 0.0775 | 0.2412 ± 0.0665 | 0.1067 ± 0.0675 |
|
| 0.6403 ± 0.0580 | 0.6837 ± 0.0440 | 0.7000 ± 0.0469 | 0.6832 ± 0.0394 |
| 0.5284 ± 0.0727 |
|
| 0.3611 ± 0.0415 |
| 0.2980 ± 0.0927 | 0.3535 ± 0.0668 | 0.3776 ± 0.0646 | 0.3295 ± 0.0635 |
The bold values mean the best results.