Method Article

Classification du spam avec des machines à vecteurs de support à l’aide de Van der Waerden Rang Score Attention

DOI:

10.3791/69082

October 31st, 2025

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Cette étude propose une approche innovante basée sur Support Vector Machine intégrée à un mécanisme d’attention aux caractéristiques amélioré par le score de rang Van der Waerden, visant à relever les défis des données de spam clairsemées de grande dimension et à améliorer les performances de classification de la détection du spam.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

À mesure que l’utilisation du courrier électronique augmente, le spam est devenu un défi majeur, menaçant la sécurité du réseau et réduisant l’efficacité des communications. Les méthodes de détection conventionnelles se heurtent à des limites persistantes : les modèles traditionnels d’apprentissage automatique ont souvent du mal à traiter des données éparses de grande dimension, tandis que l’apprentissage profond nécessite des ressources de calcul substantielles.

Cette étude présente une machine à vecteurs de support améliorée par le score de rang Van der Waerden (VWR-Attn-SVM) pour résoudre ces problèmes. La méthode applique la transformation de rang de Van der Waerden pour normaliser les caractéristiques du texte, améliorer la robustesse contre les valeurs aberrantes et préserver les relations ordinales. Un mécanisme d’attention amélioré optimise encore la sélection des fonctionnalités grâce à un traitement non linéaire avec régularisation, mettant en évidence les fonctionnalités les plus pertinentes pour la détection du spam.

Des expériences sur les ensembles de données UCI Spambase et Indonesian Spam montrent que VWR-Attn-SVM surpasse les classificateurs traditionnels en termes d’exactitude, de précision, de rappel, de score F1 et d’AUC. En combinant des performances élevées avec un coût de calcul réduit, la méthode fournit une solution efficace et interprétable pour la classification du spam, avec une extension potentielle à d’autres plates-formes textuelles telles que la messagerie et les médias sociaux.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

À l’ère numérique contemporaine, caractérisée par l’évolution rapide d’Internet et des technologies numériques, le courrier électronique est resté une pierre angulaire indispensable dans les domaines des transactions électroniques et de la communication d’entreprise, malgré l’émergence et l’innovation continues de la messagerie instantanée et des plateformes de médias sociaux1. Sa capacité à transcender les frontières temporelles et spatiales lui confère des avantages uniques, permettant une communication transparente à travers le monde à tout moment. Cependant, cette adoption généralisée a donné lieu à un problème pressant et préjudiciable : la propagation endémique du spam. Des acteurs malveillants ont exploité les systèmes de messagerie électronique pour distribuer de grandes quantités de publicités commerciales non sollicitées, de logiciels malveillants et de contenu illégal. Selon les recherches, de 2012 à 2023, la proportion de spam mondial dans le trafic total d’e-mails a grimpé en flèche de 7700 %2,3. Cette inondation de spam perturbe non seulement gravement les opérations normales de messagerie des utilisateurs, mais pose également des menaces à multiples facettes. Il porte atteinte à la vie privée en exposant potentiellement des informations sensibles, met en péril la sécurité des entreprises par le risque de violations de données et d’infections par des logiciels malveillants, et déstabilise même l’ordre économique en facilitant les activités frauduleuses 4,5. Une classification efficace des spams réduit les pertes financières liées au phishing de 40 à 60 %6, ce qui met en évidence la valeur pratique de méthodes de filtrage efficaces et précises. Par conséquent, le développement d’un modèle de détection des spams efficace et précis est devenu un domaine de recherche crucial pour garantir la sécurité du réseau et améliorer l’efficacité.

Un nombre important de recherches existantes sur la détection du spam s’est concentré sur les méthodologies d’apprentissage automatique et d’apprentissage profond. Dans le domaine de l’apprentissage automatique traditionnel, un large éventail de techniques a été exploré et appliqué. Des méthodes basées sur des règles, telles que les arbres de décision7, ont été utilisées pour prendre des décisions de classification basées sur des règles prédéfinies dérivées des caractéristiques des données. Les méthodesde boosting 8, 9 et 10, qui regroupent plusieurs apprenants faibles en un seul, et la théorie des ensembles approximatifs11, qui traite de l’incertitude et de l’imprécision des données, ont également montré leur potentiel. De plus, les méthodes statistiques telles que la régression logistique, les K-plus proches voisins (KNN)12,13, Naive Bayes 14,15,16 et SVM 17,18,19 ont été largement utilisées. Ces approches reposent généralement sur des méthodes d’extraction de caractéristiques traditionnelles telles que TF-IDF. Bien que TF-IDF soit efficace pour quantifier l’importance des mots dans un document, il a du mal à capturer les relations sémantiques complexes et les nuances contextuelles inhérentes aux textes d’e-mail. De plus, lorsqu’elles sont confrontées à des données de grande dimension et clairsemées, ce qui est typique des espaces de fonctionnalités d’e-mail, ces méthodes rencontrent souvent des goulots d’étranglement informatiques. Leur robustesse limitée peut conduire à se coincer dans des solutions optimales locales pendant le processus d’entraînement, limitant ainsi considérablement la précision de la classification et la capacité de généralisation des modèles.

L’apprentissage profond, avec sa remarquable capacité d’extraction automatique de caractéristiques, est apparu comme une alternative puissante dans la détection du spam. Des algorithmes tels que les réseaux neuronaux convolutifs (CNN)20,21,22, les réseaux neuronaux récurrents (RNN)23 et les réseaux de mémoire à long terme (LSTM)24,25, ainsi que des modèles plus récents basés sur des transformateurs tels que Word2vec et BERT26,27, ont fait des progrès significatifs dans l’amélioration des performances de classification. Les CNN sont aptes à extraire des caractéristiques locales à partir de données, les RNN et les LSTM peuvent bien gérer les données séquentielles, en capturant les dépendances temporelles dans le texte, et les modèles basés sur Transformer excellent dans l’exploitation de relations sémantiques complexes et d’informations contextuelles. Les méthodes NLP efficaces récentes, telles que les classificateurs de texte basés sur TinyML28, offrent des bases de référence solides pour la classification du spam. Les modèles TinyML sont optimisés pour les appareils de périphérie disposant d’une mémoire limitée. Nous comparons notre méthode à ces approches dans la section Résultats, en mettant en évidence les compromis entre la précision, l’efficacité de calcul et la flexibilité de déploiement. Cependant, ces modèles d’apprentissage profond ont leurs propres limites. Ils nécessitent généralement un grand nombre de paramètres d’entraînement, ce qui entraîne des demandes élevées de ressources de calcul et des temps d’entraînement prolongés. Les modèles d’apprentissage profond comme BERT nécessitent 3 à 5 fois plus de mémoire et des temps d’entraînement 10 fois plus longs que les SVM29 traditionnelles, ce qui les rend moins adaptés aux environnements à ressources limitées. Cela les rend moins pratiques pour le déploiement dans des environnements aux ressources limitées, tels que les appareils mobiles ou les serveurs bas de gamme. De plus, leurs architectures complexes les rendent souvent moins interprétables, ce qui peut être un inconvénient important dans les applications où la compréhension du processus de prise de décision du modèle est cruciale.

Dans ce contexte, l’objectif global de cette étude est de développer une approche innovante capable de surmonter les limites des méthodes existantes et de relever efficacement les défis posés par la nature dimensionnelle et clairsemée des données de spam. La proposition de VWR de Waerden Rank Score Feature Attention-Enhanced SVM (VWR-Attn-SVM) représente une nouvelle intégration de techniques visant à améliorer les performances de détection du spam (Figure 1). Le principe fondamental du VWR-Attn-SVM réside dans sa conception unique qui combine les points forts de plusieurs composants.

figure-introduction-1
Figure 1 : Organigramme général de la recherche sur la classification des spams avec VWR-Attn-SVM. Cet organigramme illustre le flux de travail de la classification du spam sur la base du score de classement Van der Waerden et de la SVM améliorée par l’attention des fonctionnalités, couvrant la préparation des données (chargement, fractionnement, prétraitement), la préparation expérimentale, la vérification des corrélations statistiques entre les caractéristiques TF-IDF, la détection du spam basée sur la SVM améliorée par l’attention et la comparaison de plusieurs classificateurs. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Le mécanisme d’attention aux fonctionnalités amélioré de base traite des échantillons d’e-mails individuels avec une dimensionnalité spécifique. En appliquant la transformation de rang de Van der Waerden, il normalise les caractéristiques du texte de l’e-mail déformées par des fréquences de mots anormales en une forme standard de distribution normale. Cette transformation renforce considérablement la robustesse du modèle, lui permettant de mieux gérer la variabilité des données d’email. Les scores de classement de Van der Waerden ont été préférés à la mise à l’échelle logarithmique et aux transformations quantiles pour trois raisons : (1) Robuste aux valeurs aberrantes des fonctionnalités de spam (par exemple, fréquences de mots extrêmes), contrairement à la mise à l’échelle logarithmique qui amplifie le bruit à basse fréquence ; (2) Préserver les relations ordinales des caractéristiques (essentielles pour la hiérarchie des indicateurs de spam comme « gratuit » vs « gagnant »), tandis que les transformations quantiles aplatissent les distributions ; (3) Normaliser à [0,1], facilitant l’intégration du mécanisme d’attention et assurant une pondération cohérente (Figure 2).

figure-introduction-2
Figure 2 : Organigramme expérimental. (A-C) Flux de travail pour la classification du spam, couvrant le traitement des données, la sélection des fonctionnalités, l’entraînement du modèle, l’évaluation et la comparaison avec/sans la transformation du score de classement de Van der Waerden. Veuillez cliquer ici pour voir une version agrandie de cette figure.

Structurellement, le mécanisme comporte un réseau à deux couches entièrement connecté pour la transformation non linéaire des caractéristiques (Figure 2). La première couche, équipée d’une fonction d’activation LeakyReLU, réduit les dimensions d’entrée tout en introduisant de la non-linéarité et intègre une couche Dropout pour atténuer le surapprentissage. La deuxième couche, à l’aide d’une fonction sigmoïde, génère des poids d’attention qui peuvent quantifier avec précision l’importance de chaque caractéristique. Une stratégie de régularisation L1/L2 est intégrée au modèle pour optimiser la sélection des caractéristiques, où la régularisation L1 favorise la parcimonie, éliminant efficacement les caractéristiques moins pertinentes, et la régularisation L2 empêche le surajustement en contraignant l’ampleur des poids. Au cours de la phase d’entraînement, un cadre d’apprentissage multitâche est adopté, combinant la perte de reconstruction des caractéristiques et la perte de classification pour optimiser les paramètres du modèle. Cela permet au VWR-Attn-SVM de s’adapter précisément aux caractéristiques TF-IDF dimensionnelles et clairsemées des textes d’e-mails, qui sont caractéristiques de la nature complexe du contenu des e-mails.

Notre méthode est optimisée pour les ensembles de données de spam textuels allant de plusieurs milliers à dix mille (par exemple, Spambase, Indonesian Spam dataset (Supplemental File 1)) et nécessite des ressources de calcul standard (processeur Intel Core i7, 16 Go de RAM) pour l’entraînement ; L’inférence peut être exécutée sur un ordinateur portable standard (Intel Core i5, 8 Go de RAM) avec une latence inférieure à la seconde. Les principales contraintes comprennent les performances limitées sur le spam non textuel (par exemple, le spam intégré à des images) et la dépendance à l’égard des fonctionnalités de texte structuré. Par rapport aux technologies alternatives existantes, VWR-Attn-SVM présente plusieurs avantages notables. Contrairement aux méthodes traditionnelles d’apprentissage automatique, il ne repose pas uniquement sur l’extraction de caractéristiques de base, mais apprend activement à pondérer les caractéristiques en fonction de leur importance grâce au mécanisme d’attention accrue, afin de mieux capturer les caractéristiques plus pertinentes pour la classification du spam. Contrairement aux modèles d’apprentissage profond, il atteint un équilibre favorable entre les performances et l’efficacité de calcul. Il nécessite moins de ressources de calcul et des temps de formation plus courts, ce qui le rend plus adapté à un large éventail d’applications, en particulier celles avec des ressources limitées. Cette approche novatrice s’applique non seulement à la tâche spécifique de détection des pourriels dans les systèmes de courrier électronique, mais elle pourrait également être étendue à d’autres canaux de communication textuels, tels que les applications de messagerie instantanée, les plateformes de médias sociaux et les services SMS, où des problèmes similaires de diffusion de contenu indésirable et malveillant existent. Dans l’ensemble, le VWR-Attn-SVM représente une avancée significative dans le domaine de la détection du spam, offrant une solution plus pratique, efficace et polyvalente pour lutter contre le problème persistant du spam dans le paysage de la communication numérique.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

1. Préparation expérimentale (Dossier supplémentaire 2 et Fichier supplémentaire 3)

  1. Description des données : chargez l’ensemble de données de spam open source à partir du référentiel d’apprentissage automatique UCI pour la détection des spams30. Documentez que l’ensemble de données contient 4 601 instances avec 57 fonctionnalités continues et 1 étiquette de classe, dont 1 813 échantillons de spam (39,4 %) et 2 788 échantillons de non-spam (60,6 %) (Tableau 1).
  2. Importation de bibliothèque
    1. Importez les bibliothèques essentielles (voir la Table des matériaux).
    2. Définissez une valeur de départ aléatoire globale sur 42 pour garantir la reproductibilité des résultats.
  3. Configurez les paramètres de traçage : utilisez Times New Roman pour le texte anglais, résolvez les problèmes d’affichage du signe moins et réglez la taille de la police sur 16 pour une meilleure lisibilité.

Tableau 1 : Résumé des statistiques de l’ensemble de données et des définitions de caractéristiques. Ce tableau présente les variables de classification du spam, notamment la fréquence des mots (word_freq_WORD), la fréquence des caractères (char_freq_CHAR), les mesures de longueur de course et la variable de classe cible, avec des descriptions du type et de la signification de chaque variable. Veuillez cliquer ici pour télécharger ce tableau.

2. Expérience visant à vérifier l’association statistique entre les caractéristiques TF-IDF et les étiquettes (Fichier supplémentaire 2 et Fichier supplémentaire 3)

  1. Prétraitement des données
    1. Chargez les ensembles de données (Fichier supplémentaire 1) : premier ensemble de données : spambase.csv ; Deuxième ensemble de données : spam_indonesian.csv.
    2. Examinez la distribution des étiquettes de spam et de non-spam et calculez la proportion de chaque catégorie.
    3. Binariser ces caractéristiques en utilisant la moyenne comme seuil pour le prochain test du khi-deux.
      REMARQUE : Assurez-vous que le fichier spam se trouve dans le répertoire de travail approprié ou fournissez le chemin d’accès complet au fichier lors de l’utilisation de la commande read.
  2. Prétraitement des tests de données (Fichier supplémentaire 2 et Fichier supplémentaire 3)
    1. Utilisez sklearn.feature_selection.chi2 pour le test du chi carré sur les caractéristiques binarisées TF-IDF :
      Appel de code :
      à partir de sklearn.feature_selection importer chi2
      chi2_values, p_values = chi2(df_binary, df['spam'])
      significant_features_chi2 = [feature_cols[i] pour i dans np.où(p_values < 0,05)[0]]
      print(f"Nombre de caractéristiques significatives : {len(significant_features_chi2)} »)
      Résultat attendu : Un sous-ensemble de caractéristiques (par exemple, 35 sur 57) avec une association statistique avec des étiquettes de spam, y compris des mots-clés tels que « gratuit » ou « supprimer ».
    2. Effectuez une implémentation à l’aide de sklearn.feature_selection.f_classif :
      Appel de code :
      à partir de sklearn.feature_selection importer f_classif
      f_values, f_p_values = f_classif(df[feature_cols], df['spam'])
      significant_features_f = [feature_cols[i] pour i dans np.où(f_p_values < 0,05)[0]]
      print(f"Caractéristiques retenues : {len(significant_features_f)} »)
      REMARQUE : Cela conserve généralement 40 à 50 caractéristiques (selon l’ensemble de données), qui se chevauchent partiellement avec les résultats du khi-deux.
      Avant d’effectuer des tests statistiques, vérifiez le format et les paramètres des données pour garantir des résultats précis.
  3. Visualisation
    1. Sélectionnez les 20 principales caractéristiques avec les plus petites valeurs p à partir des résultats du test du khi-deux.
    2. Générer à l’aide de seaborn.heatmap :
      Appel de code :
      Importer Seaborn en tant que SNS
      top_indices = np.argsort(p_values)[ :20]
      top_features = [feature_cols[i] pour i dans les indices$\_$____
      corr_matrix = df[top_features + ['spam']].corr()
      plt.figure(figsize=(12, 10))
      sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
      plt.show()
      REMARQUE : Modèle attendu : les fonctionnalités liées au spam se regroupent avec l’étiquette de spam en rouge (corrélation positive).

3. Classification SVM améliorée pour la détection du spam (Fichier supplémentaire 2 et Fichier supplémentaire 3)

  1. Prétraitement des données
    1. Chargement des données : Divisez les données à l’aide de sklearn.model selection.train test split avec une graine fixe :
      Appel de code :
      À partir de sklearn.model selection importer train test split
      Entraînement X, test X, train y, test y = division du test d’entraînement (X, y, taille du test = 0,3, état aléatoire = 42)
    2. Standardisation et équilibrage de classe : Implémenter via l’échantillonnage imblearn.over. SMOTE (Synthetic Minority Over-sampling Technique (SMOTE)31) :
      Appel de code :
      à partir de imblearn.over échantillonnage import SMOTE
      # Par défaut : stratégie d’échantillonnage='auto', k voisins=5
      smote=SMOTE(état aléatoire=42)
      X train smote, y train smote = smote.fit resample(X train, y train)
      Distribution des classes de soldes (par exemple, de 85:15 à 50:50).
  2. Architecture de modèle d’attention aux caractéristiques améliorée : concevez un mécanisme qui apprend les pondérations d’importance des caractéristiques via des transformations non linéaires multicouches. Attribuez une plus grande importance à l’attention aux caractéristiques critiques afin d’améliorer leur impact.
    1. Prétraitement des fonctionnalités (facultatif)
      1. Appliquez la transformation de rang normal de Van der Waerden aux entités d’entrée. Convertissez les caractéristiques brutes en une distribution normale approximative pour améliorer la robustesse du modèle. Utilisez la formule :
        figure-protocol-1
        x représente le vecteur de caractéristique TF-IDF d’un échantillon, R(x) est le rang de la valeur de la caractéristique, d est la longueur du vecteur (d = 57) et φ-1 est la fonction de distribution cumulative inverse de la distribution normale standard.
        REMARQUE :Utilisez le paramètre use_rank_transform (booléen) pour contrôler l’activation de la transformation de rang normal pour le traitement des fonctionnalités.
    2. Transformation non linéaire multicouche : apprenez une représentation non linéaire des entités via un réseau entièrement connecté à deux couches.
      1. Transformation de la première couche : utilisez la formule :
        figure-protocol-2
        W, 1figure-protocol-3, R,k×d et k=64 (neurones cachés).
        Implémenté dans Keras avec LeakyReLU :
        Appel de code :
        à partir de tensorflow.keras.layers import Dense
        self.dense1=Dense(unités=64, # 256 pour VWR-Attn-SVM
        activation='leaky relu', # Pente négative par défaut=0.01
        kernel regularizer=régulariseurs.l1 l2(l1=0.0002, l2=0.0002))
        REMARQUE : Ajoutez une couche de chute avec un taux de chute de 0,2 pour éviter le surapprentissage.
      2. Transformation de deuxième couche : Appliquez la transformation de la deuxième couche à l’aide de Sigmoid pour générer des poids d’attention dans la plage [0,1]. Utilisez la formule :
        figure-protocol-4
        W,2figure-protocol-5, R,d×k et Rfigure-protocol-6,k sont les pondérations d’attention pour chaque caractéristique. Sélectionnez Sigmoid au lieu de SoftMax pour conserver l’indépendance de l’importance de plusieurs fonctionnalités.
        Appliquez l’activation Keras Sigmoid pour les poids d’attention :
        Appel de code :
        self.dense2 = Dense(forme d’entrée[-1], activation='sigmoïde',
        kernel regularizer=régulariseurs.l1 l2(l1=0.0002, l2=0.0002))
    3. Pondération des caractéristiques : améliorez les caractéristiques importantes en effectuant une multiplication par élément avec des poids d’attention. Utilisez la formule :
      figure-protocol-7
      figure-protocol-8 désigne la multiplication élément-sel.
  3. Entraînement du modèle d’attention aux fonctionnalités amélioré
    1. Optimisation de l’objectif multitâche : minimisez une fonction de perte pondérée combinant la perte de reconstruction et la perte d’entropie croisée pour entraîner le modèle. Assurez-vous que le mécanisme d’attention conserve les informations critiques tout en se concentrant sur les caractéristiques pertinentes pour la classification. Utilisez la formule :
      figure-protocol-9
      Utiliser la perte d’erreur quadratique moyenne figure-protocol-10
      pour reconstruire les caractéristiques d’entrée et appliquer la perte d’entropie croisée figure-protocol-11
      à la tâche de classification.
      Implémenter la perte multitâche personnalisée dans PyTorch : Perte personnalisée dans Keras avec alpha=0,5 :
      Appel de code :
      model.compiler(optimizer='Adam',loss={
      'enhanced_feature_attention' :'mse','classification' :
      'binary_crossentropy'},loss_weights={
      'enhanced_feature_attention' : 0.5, 'classification' : 0.5})
      Les soldes alpha = 0,5 caractérisent la reconstruction (MSE) et la classification (entropie croisée), conduisant à une convergence stable à l’intérieur de 50 à 100 époques.
      REMARQUE : Appliquez la régularisation mixte L1/L2 (Elastic Net, intensité par défaut 0,001) aux deux couches entièrement connectées pour améliorer la sélection et la généralisation des entités.
    2. Paramètres : Réglez le coefficient de poids α pour contrôler l’importance relative des deux pertes et utilisez α = 0,5 dans le code. Configurez la taille du lot sur 64, définissez le nombre d’époques sur 200 et allouez 10 % des données pour le jeu de validation.
    3. Ajouter des fonctions de rappel.
      Rappels Keras avec paramètres par défaut :
      Appel de code :
      from tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau
      callbacks = [EarlyStopping(monitor='val_loss', patience=5, mode='min', restore_best_weights
      =True), ReduceLROnPlateau(monitor='val_loss', fact=0.5, patience=5, min_lr=0.0005, verbose=1)]
      1. Intégrez le callback EarlyStopping pour arrêter le processus d’entraînement lorsque la perte de validation ne s’améliore pas pendant 5 époques consécutives.
      2. Ajoutez le rappel ReduceLROnPlateau pour ajuster de manière adaptative le taux d’apprentissage. Réglez le facteur de décroissance à 0,5 et le taux d’apprentissage minimum à 0,0002.
    4. Génération de fonctions de pondération de l’attention : après l’entraînement, extrayez les pondérations de l’attention de la couche d’attention de la couche d’attention améliorée. Générez des caractéristiques pondérées pour les ensembles d’entraînement et de test. Intégrez ces fonctionnalités dans le classifieur SVM.
  4. Évaluation du modèle
    REMARQUE : Une répartition 70-30 des tests d’entraînement équilibre la formation et l’évaluation. SMOTE corrige le déséquilibre de classe, en améliorant les performances sur les données de texte déséquilibrées. MinMaxScaler stabilise les modèles basés sur la distance. Unités : capacité d’équilibrage de 64 (Attn-SVM) et 128 (VWR-Attn-SVM) ; 128 s’adapte à la complexité de la transformation des rangs de Van-der-Waerden. Dropout (0.2) empêche le surapprentissage, standard pour les jeux de données de petite à moyenne taille. Régularisation L1/L2 (0,0002-0,002) : L1 induit la parcimonie ; L2 limite l’amplitude du poids. Des poids de perte égaux (MSE : 0,5, entropie croisée : 0,5) équilibrent la reconstruction et l’apprentissage de la classification. Époques : 200 (Attn-SVM), 300 (VWR-Attn-SVM) avec arrêt précoce (patience = 5) pour éviter le surapprentissage. La taille du lot 64 équilibre l’efficacité et la stabilité. ReduceLROnPlateau (facteur = 0,5, patience = 5-10) ajuste les taux d’apprentissage (min 0,0001-0,0005) pour une meilleure convergence.
    1. Conception et comparaisons de l’étude d’ablation : Définir les modèles suivants pour la comparaison : SVM de base : SVM traditionnelle avec noyau de fonction de base radiale (RBF) ; Attn-SVM : SVM avec mécanisme d’attention aux caractéristiques amélioré ; VWR-Attn-SVM : SVM combinant la transformation de Van der Waerden et une attention accrue aux fonctionnalités.
    2. Métriques d’évaluation (Tableau 2) : évaluez les performances du modèle à l’aide de l’exactitude, de la précision, du rappel, du score F1 et de l’AUC.
  5. Visualisation de l’attention et interprétation du modèle
    1. Visualisation des poids d’attention des caractéristiques clés
      Matplotlib barplot pour les 15 principales fonctionnalités :
      Appel de code :
      Importer matplotlib.pyplot en tant que PLT
      top_indices = np.argsort(-avg_weights)[ :15]
      top_features = [feature_names[i] pour i dans top_indices]
      top_weights = avg_weights[top_indices]
      plt.figure(figsize=(12, 8))
      plt.barh(top_features, top_weights, color='skyblue')
      plt.xlabel('Poids d’attention')
      plt.title('Poids d’attention des caractéristiques')
      plt.show()
    2. Comparaison de l’impact de la transformation de rang normale : comparez les performances du modèle (exactitude, précision, rappel, score F1, AUC) avec et sans use_rank_transform activé. Mettez en évidence les principales différences de mesure dans un tableau formaté.
    3. Comparaison de l’importance des caractéristiques : Analysez la cohérence entre les caractéristiques importantes identifiées par des tests statistiques (par exemple, le khi-deux) et le mécanisme d’attention.
      REMARQUE : Si les ressources de calcul sont limitées, réduisez le nombre d’unités (par exemple, à 32) ou d’époques (par exemple, à 100). Ajustez l1_reg/l2_reg pour équilibrer la complexité du modèle (des valeurs plus élevées améliorent la régularisation).

4. Comparaison de plusieurs classificateurs (Fichier supplémentaire 2 et Fichier supplémentaire 3)

  1. Définir le dictionnaire du classifieur. Créez un dictionnaire de classificateurs à des fins de comparaison, y compris KNN, Logistic Regression, AdaBoost, Naive Bayes et SVM avec le noyau RBF (paramètres par défaut).
  2. Initialisez les DataFrames de résultat. Créez quatre DataFrames pour stocker les métriques d’évaluation, avec des colonnes : Classifieur, Exactitude, Précision, Rappel, Score F1 et AUC.
  3. Entraînez et évaluez les classificateurs. Pour chaque classifieur, effectuez les étapes suivantes.
    Exemples de classificateurs avec paramètres et valeurs nominales :
    Appel de code :
    à partir de sklearn.linear_model import LogisticRegression
    à partir de sklearn.svm importer SVC
    lr = LogisticRegression(random_state=RANDOM_SEED, max_iter=1000)
    svm = GridSearchCV(SVC(random_state=RANDOM_SEED, probabilité=Vrai),
    param_grid={'C' : [0.001,0.01 1, 10,100,1000], 'gamma' : [0.001,0.01 1, 10,100,1000],
    kernel' : ['rbf', 'linear']}, cv=5, scoring='f1')
    REMARQUE : Tous les modèles utilisent random_state=42 pour la reproductibilité.
    1. Entraînez le classifieur sur des données d’entraînement mises à l’échelle.
    2. Prédisez et calculez les probabilités sur des ensembles d’entraînement et de test.
    3. Générez des rapports de classification et stockez les métriques dans les DataFrames correspondants.
  4. Intégrez les résultats SVM d’attention aux fonctionnalités améliorées. Intégrez les mesures de performance d’Attn-SVM et de VWR-Attn-SVM (de l’expérience 3) dans les DataFrames existants.
  5. Imprimer les résultats comparatifs. Affichez des tables d’évaluation pour les e-mails non indésirables et indésirables dans les ensembles de formation et de test.
  6. Visualisez les résultats. Utilisez sns.barplot pour tracer les métriques de performance du classifieur. Faites pivoter les étiquettes de l’axe X de 45° pour plus de lisibilité. Optimisez la mise en page et affichez le tracé à l’aide de plt.show().
    Interprétation des sorties de sns.barplot :
    Appel de code :
    Importer Seaborn en tant que SNS
    sns.barplot(x='Classificateur', y='F1-Score', data=results)

5. Tableau comparatif des performances multimétriques de différents classificateurs en temps d’entraînement/test et en mémoire (Fichier supplémentaire 4)

  1. Prétraitement des données : Charger spambase.csv ou spam_indonesian.csv ; Divisé en 70 % d’entraînement/30 % d’ensembles de test ; standardiser les fonctionnalités avec MinMaxScaler.
  2. Entraînement du modèle : Entraînement KNN, Régression logistique, AdaBoost, Naive Bayes, SVM (avec recherche par grille), Attn-SVM et VWR-Attn-SVM.
  3. Évaluation des performances : calculez l’exactitude, la précision, le rappel, le score F1 et l’AUC.
  4. Analyse des ressources : enregistrez le temps d’entraînement, le temps de test et l’utilisation de la mémoire.
  5. Visualisation : Générez des graphiques de performances multimétriques et des graphiques de consommation de ressources.
    Paramètres clés : Graine aléatoire = 42 ; Grille SVM (C :[0.01,0.1,1,1,10,100] ; gamma :[0.01,0.1,1,1,10,100] ; noyau :['rbf','linear']) ; Les modèles d’attention utilisent des réseaux entièrement connectés à 2 couches, la régularisation L1/L2 et Dropout.
    Sortie : Tables de performances, tables de ressources, graphiques multimétriques, graphiques de temps/mémoire, visualisations du poids de l’attention.

6. Résultats expérimentaux de CNN, RNN, LSTM ou transformateurs (Fichier supplémentaire 5)

  1. Prétraitement : Chargez spambase.csv ou spam_indonesian.csv, appliquez SMOTE pour le déséquilibre de classe si nécessaire, divisez en train/test (70/30).
  2. Formation : Construire CNN, RNN, LSTM, Transformer ; Adam (0,001), entropie croisée binaire, batch_size=32, époques = 10, arrêt précoce (patience = 5) et planification du taux d’apprentissage.
  3. Évaluation : Exactitude de calcul, Précision, Rappel, F1, AUC ; Enregistrer le temps d’entraînement/test et l’utilisation de la mémoire.
  4. Visualisation : Générer des graphiques de comparaison des performances et des ressources ; enregistrer les résultats CSV.
  5. Sortie : tableau des indicateurs de performances, tableau de la consommation des ressources, graphiques de comparaison, fichiers CSV.

7. Instructions de code supplémentaire

  1. Pour exécuter le code et répliquer les figures : Placez spam.csv ou spam_indonesian.csv dans le même répertoire. Installer les dépendances via pip install numpy pandas matplotlib seaborn scikit-learn tensorflow imbalanced-learn psutil. Exécuter le script ; Il traitera automatiquement les données, entraînera les modèles et générera/affichera toutes les figures (cartes thermiques, graphiques de performance) pendant l’exécution.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Pour commencer, conformément au protocole expérimental établi, la figure 1 donne un aperçu de l’organigramme général de cette étude. La figure 2 représente séquentiellement les organigrammes de fonctionnement des expériences 2. De plus, le tableau 1 présente principalement les fréquences des mots et des caractères dans l’ensemble de données sur les spams, spam.csv.

En ce qui concerne l’évaluation des performances du m...

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Cette étude a vérifié l’efficacité de VWR-Attn-SVM sur la base de l’ensemble de données Spambase, fournissant des informations pour résoudre la nature dimensionnelle et clairsemée des données de spam. Les expériences ont révélé que seules quelques caractéristiques des données de spam ont une forte corrélation avec les étiquettes ; Les modèles traditionnels traitent toutes les fonctionnalités de la même manière, ce qui entraîne de mauvaises performances, alors que le mécanisme d’attention...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les auteurs n’ont aucun conflit d’intérêts à divulguer.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Nous remercions l’Alliance des mathématiques du Fujian (subvention n° 2023SXLMMS10) et la Fondation des sciences naturelles de la province du Fujian (2023J05083, 2022J011396, 2023J011434) pour le financement de ce travail.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Fichier supplémentaire 2 : code_new.py ; Fichier supplémentaire 3 : code_indonesian.py,
numpyDéveloppeurs NumPyBibliothèque pour l’informatique numérique en Python
PandasÉquipe de développement de pandasBibliothèque pour la manipulation et l’analyse des données
matplotlibMatplotlib Développeurs & nbsp ;Bibliothèque pour créer des visualisations statiques, animées et interactives
seabornMichael Waskom et al.Bibliothèque de visualisation statistique basée sur matplotlib
scikit-learnÉquipe de développement scikit-learnBibliothèque d’apprentissage automatique proposant divers algorithmes de classification, de régression et de regroupement
Flux tensorilGoogleCadre d’apprentissage automatique open source, incluant l’API Keras pour la création de réseaux de neurones
imblearnDéveloppeurs déséquilibrésBibliothèque pour gérer des ensembles de données déséquilibrés, y compris SMOTE pour le suréchantillonnage
AvertissementsBibliothèque standard PythonModule pour l’émission de messages d’avertissement
Fichier supplémentaire 4 : code_compute_time.py
numpyDéveloppeurs NumPyBibliothèque numérique pour Python
PandasÉquipe de développement de pandasBibliothèque de manipulation et d’analyse des données
matplotlibDéveloppeurs MatplotlibBibliothèque de visualisation pour créer des graphiques et des figures
seabornMichael Waskom et al.Bibliothèque de visualisation statistique de données construite sur matplotlib
scikit-learnÉquipe de développement scikit-learnBibliothèque d’apprentissage automatique avec outils de classification, de régression et de prétraitement
Flux tensorilGoogleCadre d’apprentissage automatique open source avec API Keras pour les réseaux de neurones
imblearnéquipe de développeurs d’apprentissage déséquilibréBibliothèque pour gérer des ensembles de données déséquilibrés (inclut SMOTE)
AvertissementsBibliothèque standard PythonModule pour l’émission de messages d’avertissement
HeureBibliothèque standard PythonModule pour les fonctions liées au temps
psutilGiampaolo RodolaBibliothèque pour la récupération des informations système et le suivi de l’utilisation des ressources
OsBibliothèque standard PythonModule pour interagir avec le système d’exploitation
Fichier supplémentaire 5 : DNN.py.
PandasÉquipe de développement de pandasBibliothèque de manipulation et d’analyse des données
numpyDéveloppeurs NumPyBibliothèque numérique pour Python
HeureBibliothèque standard PythonModule pour les fonctions liées au temps
psutilGiampaolo RodolaBibliothèque pour la récupération d’informations système et la surveillance des ressources
matplotlibDéveloppeurs MatplotlibBibliothèque de visualisation pour créer des graphiques et des figures
scikit-learnÉquipe de développement scikit-learnBibliothèque d’apprentissage automatique avec prétraitement des données, sélection de modèles et outils de métriques
imblearnéquipe de développeurs d’apprentissage déséquilibréBibliothèque pour gérer des ensembles de données déséquilibrés (inclut SMOTE)
Flux tensorilGoogleCadre d’apprentissage automatique open source avec API Keras pour la création de réseaux neuronaux

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Ayo, F. E., Ogundele, L. A., Olakunle, S., Awotunde, J. B., Kasali, F. A. A hybrid correlation-based deep learning model for email spam classification using fuzzy inference system. Decis Anal J. 10, 100390(2024).
  2. Douzi, S., AlShahwan, F. A., Lemoudden, M., Ouahidi, B. Hybrid email spam detection model using artificial intelligence. Int J Mach Learn Comput. 10 (2), 316-322 (2020).
  3. Maqsood, U., et al. An intelligent framework based on deep learning for SMS and e-mail spam detection. Appl Comput Intell Soft Comput. 2023, 6648970(2023).
  4. Yang, Z., Nie, X., Xu, W., Guo, J. An approach to spam detection by naive Bayes ensemble based on decision induction. Proc IEEE Comput Soc. , 861-866 (2006).
  5. Nazirova, S., Alguliyev, R. Two approaches on implementation of CBR and CRM technologies to the spam filtering problem. J Inf Secur. 3 (1), 11-17 (2012).
  6. Consumer Sentinel Network Data Book. , Federal Trade Commission. (2022).
  7. DeSouza, M., Fitzgerald, J., Kemp, C., Truong, G. A decision tree-based spam filtering agent. , Available at: http://www.cs.mu.oz.au/481/2001_projects/gntr/index.html (2001).
  8. Boosting trees for anti-spam email filtering. Carreras, X., Marque, L. Proc RANLP-01, 4th Int Conf Recent Adv Nat Lang Process, , INCOMA Ltd. (2001).
  9. Androutsopoulos, I. Learning to filter unsolicited commercial e-mail. Int Proc Comput Sci Inf Tech. , (2025).
  10. XGBoost: a scalable tree boosting system. Chen, T., Guestrin, C. Proc 22nd ACM SIGKDD Int Conf Knowl Discov Data Min, , ACM. 785-794 (2016).
  11. Intelligent analysis, filtering, and rough set discussions of spam. Liu, Y., et al. Proc 12th Annu Conf Comput Netw Data Commun China Comput Fed, , (2002).
  12. Androutsopoulos, I., et al. Learning to filter spam e-mail: a comparison of a naive Bayesian and memory-based approach. Comput Sci. 97 (2), 1-13 (2000).
  13. Cai, J., et al. Fibrosis and inflammatory activity diagnosis of chronic hepatitis C based on extreme learning machine. Sci Rep. 15 (1), 11(2025).
  14. Zhou, Y., Li, Y., Xia, S. An improved KNN text classification algorithm based on clustering. J Comput. 4 (3), 230-237 (2009).
  15. Rapacz, S., Cholda, P., Natkaniec, M. A. Method for fast selection of machine-learning classifiers for spam filtering. Electronics. 10 (17), 2083(2021).
  16. Fu, S., Nizar, B. A. Soft computing model based on asymmetric Gaussian mixtures and Bayesian inference. Soft Comput. 24 (1), 4841-4853 (2020).
  17. Text categorization with support vector machines: learning with many relevant features. Joachims, T. Proc Eur Conf Mach Learn, , Springer. 137-142 (1998).
  18. Drucker, H., Wu, D., Vapnik, V. N. Support vector machines for spam categorization. IEEE Trans Neural Netw. 10 (5), 1048-1054 (2002).
  19. Yuan, Y., Fan, W., Pu, D. Spline function smooth support vector machine for classification. J Ind Manag Optim. 3 (3), 529-542 (2017).
  20. Cai, J., et al. A residual joint antenna network for joint transmit-receive antenna subset selection in MIMO systems. IEEE Trans Antennas Propag. , (2025).
  21. Zhu, S., et al. Singular pooling: a spectral pooling paradigm for second-trimester prenatal level II ultrasound standard fetal plane identification. IEEE Trans Circuits Syst Video Technol. , (2025).
  22. Zhu, S., et al. Contrast and gain-aware attention: a plug-and-play feature fusion attention module for torso region fetal plane identification. Ultrasound Med Biol. , (2025).
  23. Mikolov, T., Karafiat, M., Burget, L., Cernock, J., Khudanpur, S. Recurrent neural network based language model. Proc Interspeech, Int Speech Commun Assoc. , (2015).
  24. Hochreiter, S., Schmidhuber, J. Long short-term memory. Neural Comput. 9 (8), 1735-1780 (1997).
  25. Cai, J., et al. Developing deep LSTMs with later temporal attention for predicting COVID-19 severity, clinical outcome, and antibody level by screening serological indicators over time. IEEE J Biomed Health Inform. 28 (7), 4204-4215 (2024).
  26. Vaswani, A., et al. Attention is all you need. Adv Neural Inf Process Syst. , (2017).
  27. Xian, L. Application of an improved TF-IDF method in literary text classification. Adv Multimed. 2022, 9285324(2022).
  28. Alajlan, N., Ibrahim, D. M. TinyML: enabling inference of deep learning models on ultra-low-power IoT edge devices for AI applications. Micromachines. 13 (6), 851(2022).
  29. Devlin, J., Chang, M. W., Lee, K., Toutanova, K. BERT: pre-training of deep bidirectional transformers for language understanding. Proc North Am Chapter Assoc Comput Linguist. , (2019).
  30. Hopkins, M., Reeber, E., Forman, G., Suermondt, J. Spambase dataset. UCI Mach Learn Repos. , (1999).
  31. Chawla, N. V., Bowyer, K. W., Hall, L. O., Kegelmeyer, W. P. SMOTE: synthetic minority over-sampling technique. J Artif Intell Res. 16, 321-357 (2002).
  32. Cuk, A., et al. Tuning attention-based long short-term memory neural networks for Parkinson's disease detection using modified metaheuristics. Sci Rep. 14, 4309(2024).
  33. Mizdrakovic, V., et al. Forecasting bitcoin: decomposition-aided long short-term memory-based time series modeling and its explanation with Shapley values. Knowl Based Syst. 299 (5), 112026(2024).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Spam ClassificationSupport Vector MachinesVan Der WaerdenRank Score AttentionFeature SelectionText NormalizationOutlier RobustnessAttention MechanismHigh Dimensional DataText Based Platforms

Related Articles