Method Article

Clasificación de spam con máquinas de vectores de soporte usando Van der Waerden Rank Score Atención

DOI:

10.3791/69082

October 31st, 2025

In This Article

Summary

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

Este estudio propone un enfoque innovador basado en Support Vector Machine integrado con un mecanismo de atención de características mejorado por la puntuación de rango de Van der Waerden, con el objetivo de abordar los desafíos de los datos de spam dispersos de alta dimensión y mejorar el rendimiento de clasificación de la detección de spam.

Abstract

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

A medida que se expande el uso del correo electrónico, el spam se ha convertido en un desafío crítico, amenazando la seguridad de la red y reduciendo la eficiencia de la comunicación. Los métodos de detección convencionales enfrentan limitaciones persistentes: los modelos tradicionales de aprendizaje automático a menudo luchan con datos dispersos de alta dimensión, mientras que el aprendizaje profundo requiere recursos computacionales sustanciales.

Este estudio presenta una máquina de vectores de soporte de atención mejorada de la función de puntuación de rango de Van der Waerden (VWR-Attn-SVM) para abordar estos problemas. El método aplica la transformación de rango de Van der Waerden para normalizar las características del texto, mejorando la solidez frente a los valores atípicos y conservando las relaciones ordinales. Un mecanismo de atención mejorado optimiza aún más la selección de características a través del procesamiento no lineal con regularización, destacando las características más relevantes para la detección de spam.

Los experimentos en los conjuntos de datos UCI Spambase e Indonesian Spam muestran que VWR-Attn-SVM supera a los clasificadores tradicionales en exactitud, precisión, recuperación, puntuación F1 y AUC. Al combinar un alto rendimiento con un costo computacional reducido, el método proporciona una solución eficiente e interpretable para la clasificación de spam, con una posible extensión a otras plataformas basadas en texto, como la mensajería y las redes sociales.

Introduction

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

En la era digital contemporánea, caracterizada por la rápida evolución de Internet y las tecnologías digitales, el correo electrónico ha seguido siendo una piedra angular indispensable en los dominios de las transacciones electrónicas y la comunicación corporativa, a pesar de la continua aparición e innovación de las plataformas de mensajería instantánea y redes sociales1. Su capacidad para trascender los límites temporales y espaciales le otorga ventajas únicas, lo que permite una comunicación fluida en todo el mundo en cualquier momento. Sin embargo, esta amplia adopción ha dado lugar a un problema apremiante y perjudicial: la propagación desenfrenada del spam. Los actores maliciosos han explotado los sistemas de correo electrónico como vehículos para distribuir grandes cantidades de anuncios comerciales no solicitados, software malicioso y contenido ilegal. Según la investigación, de 2012 a 2023, la proporción de spam global en el tráfico total de correo electrónico se disparó en un 7700%2,3. Esta inundación de spam no solo interrumpe gravemente las operaciones normales de correo electrónico de los usuarios, sino que también plantea amenazas multifacéticas. Socava la privacidad personal al exponer potencialmente información confidencial, pone en peligro la seguridad corporativa a través del riesgo de violaciones de datos e infecciones de malware, e incluso desestabiliza el orden económico al facilitar actividades fraudulentas 4,5. La clasificación eficaz del spam reduce las pérdidas financieras relacionadas con el phishing entre un 40 y un 60 %6, lo que pone de manifiesto el valor práctico de los métodos de filtrado eficientes y precisos. En consecuencia, el desarrollo de un modelo de detección de spam eficiente y preciso se ha convertido en un área de investigación crucial para garantizar la seguridad de la red y mejorar la eficiencia.

Un cuerpo sustancial de investigación existente sobre la detección de spam se ha centrado en el aprendizaje automático y las metodologías de aprendizaje profundo. En el campo del aprendizaje automático tradicional, se ha explorado y aplicado una amplia gama de técnicas. Se han utilizado métodos basados en reglas, como los árboles de decisión7, para tomar decisiones de clasificación basadas en reglas predefinidas derivadas de características de datos. Los métodos de impulso 8,9,10, que agregan múltiples aprendices débiles en uno fuerte, y la teoría aproximada de conjuntos11, que se ocupa de la incertidumbre y la imprecisión en los datos, también han mostrado potencial. Además, se han empleado ampliamente métodos estadísticos que incluyen regresión logística, K-vecinos más cercanos (KNN)12,13, Naive Bayes 14,15,16 y SVM 17,18,19. Estos enfoques suelen basarse en métodos tradicionales de extracción de características como TF-IDF. Si bien TF-IDF es eficaz para cuantificar la importancia de las palabras en un documento, tiene dificultades para capturar las intrincadas relaciones semánticas y los matices contextuales inherentes a los textos de correo electrónico. Además, cuando se enfrentan a datos dispersos y de alta dimensión, lo cual es típico en los espacios de características del correo electrónico, estos métodos a menudo encuentran cuellos de botella computacionales. Su robustez limitada puede llevar a quedar atrapado en soluciones óptimas locales durante el proceso de entrenamiento, lo que restringe severamente la precisión de clasificación y la capacidad de generalización de los modelos.

El aprendizaje profundo, con su notable capacidad para la extracción automática de características, se ha convertido en una poderosa alternativa en la detección de spam. Los algoritmos, como las redes neuronales convolucionales (CNN)20,21,22, las redes neuronales recurrentes (RNN)23 y las redes de memoria a corto plazo (LSTM)24,25, así como los modelos más recientes basados en Transformer, como Word2vec y BERT26,27, han logrado avances significativos en la mejora del rendimiento de la clasificación. Las CNN son expertas en extraer características locales de los datos, las RNN y las LSTM pueden manejar bien los datos secuenciales, capturando dependencias temporales en el texto, y los modelos basados en Transformer sobresalen en la extracción de relaciones semánticas complejas e información de contexto. Los métodos recientes de NLP eficientes, como los clasificadores de texto basados en TinyML28, ofrecen bases de referencia sólidas para la clasificación de spam. Los modelos TinyML están optimizados para dispositivos periféricos con memoria limitada. Comparamos nuestro método con estos enfoques en la sección Resultados, destacando las compensaciones entre precisión, eficiencia computacional y flexibilidad de implementación. Sin embargo, estos modelos de aprendizaje profundo vienen con su propio conjunto de limitaciones. Por lo general, requieren una gran cantidad de parámetros de entrenamiento, lo que resulta en altas demandas de recursos computacionales y tiempos de entrenamiento prolongados. Los modelos de aprendizaje profundo como BERT requieren de 3 a 5 veces más memoria y tiempos de entrenamiento 10 veces más largos que las SVM tradicionales29, lo que los hace menos adecuados para entornos con recursos limitados. Esto los hace menos prácticos para su implementación en entornos con recursos limitados, como dispositivos móviles o servidores de gama baja. Además, sus arquitecturas complejas a menudo los hacen menos interpretables, lo que puede ser un inconveniente significativo en aplicaciones donde comprender el proceso de toma de decisiones del modelo es crucial.

En este contexto, el objetivo general de este estudio es desarrollar un enfoque innovador que pueda superar las limitaciones de los métodos existentes y abordar de manera efectiva los desafíos planteados por la naturaleza escasa y de alta dimensión de los datos de spam. La SVM de Van der Waerden Rank Score Feature Attention-Enhanced SVM (VWR-Attn-SVM) propuesta representa una integración novedosa de técnicas destinadas a mejorar el rendimiento de detección de spam (Figura 1). El principio fundamental detrás del VWR-Attn-SVM radica en su diseño único que combina las fortalezas de múltiples componentes.

figure-introduction-1
Figura 1: Diagrama de flujo general de la investigación sobre la clasificación de spam con VWR-Attn-SVM. Este diagrama de flujo ilustra el flujo de trabajo de la clasificación de spam basado en la puntuación de rango de Van der Waerden y la SVM mejorada con atención de características, que cubre la preparación de datos (carga, división, preprocesamiento), preparación experimental, verificación de correlaciones estadísticas de etiquetas de características TF-IDF, detección de spam basada en SVM mejorada por atención y comparación de clasificadores múltiples. Haga clic aquí para ver una versión más grande de esta figura.

El mecanismo de atención de funciones mejoradas principal procesa muestras de correo electrónico individuales con una dimensionalidad específica. Al aplicar la transformación de rango de Van der Waerden, normaliza las características del texto del correo electrónico distorsionadas por frecuencias de palabras anormales en una forma estándar similar a una distribución normal. Esta transformación mejora significativamente la solidez del modelo, lo que le permite manejar mejor la variabilidad de los datos de correo electrónico. Las puntuaciones de rango de Van der Waerden se prefirieron sobre el escalado logarítmico y las transformaciones cuantiles por tres razones: (1) Robusto a los valores atípicos de las características de spam (por ejemplo, frecuencias de palabras extremas), a diferencia del escalado logarítmico que amplifica el ruido de baja frecuencia; (2) Conservar las relaciones ordinales de características (críticas para la jerarquía de indicadores de spam como "gratis" frente a "ganar"), mientras que las transformaciones cuantiles aplanan las distribuciones; (3) Normalizar a [0,1], facilitando la integración del mecanismo de atención y asegurando una ponderación constante (Figura 2).

figure-introduction-2
Figura 2: Diagrama de flujo experimental. (A-C) Flujos de trabajo para la clasificación de spam, que cubren el manejo de datos, la selección de características, el entrenamiento de modelos, la evaluación y la comparación con o sin la transformación de la puntuación de rango de Van der Waerden. Haga clic aquí para ver una versión más grande de esta figura.

Estructuralmente, el mecanismo presenta una red de dos capas totalmente conectada para la transformación de características no lineales (Figura 2). La primera capa, equipada con una función de activación LeakyReLU, reduce las dimensiones de entrada al tiempo que introduce la no linealidad e incorpora una capa Dropout para mitigar el sobreajuste. La segunda capa, que utiliza una función sigmoide, genera pesos de atención que pueden cuantificar con precisión la importancia de cada característica. Se integra una estrategia de regularización L1/L2 en el modelo para optimizar la selección de características, donde la regularización L1 promueve la dispersión, descartando efectivamente las características menos relevantes, y la regularización L2 evita el sobreajuste al restringir la magnitud de los pesos. Durante la fase de entrenamiento, se adopta un marco de aprendizaje multitarea, que combina la pérdida de reconstrucción de características y la pérdida de clasificación para optimizar los parámetros del modelo. Esto permite que el VWR-Attn-SVM se adapte con precisión a las características TF-IDF dispersas y de alta dimensión de los textos de correo electrónico, que son características de la naturaleza compleja del contenido del correo electrónico.

Nuestro método está optimizado para conjuntos de datos de spam basados en texto que van desde varios miles a diez mil (por ejemplo, Spambase, conjunto de datos de spam indonesio (archivo complementario 1)) y requiere recursos computacionales estándar (procesador Intel Core i7, 16 GB de RAM) para el entrenamiento; la inferencia se puede ejecutar en una computadora portátil estándar (Intel Core i5, 8 GB de RAM) con una latencia inferior a un segundo. Las limitaciones clave incluyen un rendimiento limitado en el spam que no es de texto (por ejemplo, spam incrustado en imágenes) y la dependencia de las características de texto estructurado. En comparación con las tecnologías alternativas existentes, VWR-Attn-SVM tiene varias ventajas notables. A diferencia de los métodos tradicionales de aprendizaje automático, no se basa únicamente en la extracción de características básicas, sino que aprende activamente a ponderar las características de acuerdo con su importancia a través del mecanismo de atención mejorada, para capturar mejor las características más relevantes para la clasificación de spam. A diferencia de los modelos de aprendizaje profundo, logra un equilibrio favorable entre rendimiento y eficiencia computacional. Requiere menos recursos computacionales y tiempos de capacitación más cortos, lo que lo hace más adecuado para una amplia gama de aplicaciones, especialmente aquellas con recursos limitados. Este enfoque innovador es aplicable no solo a la tarea específica de detección de spam en los sistemas de correo electrónico, sino que también tiene potencial para extenderse a otros canales de comunicación basados en texto, como aplicaciones de mensajería instantánea, plataformas de redes sociales y servicios de SMS, donde existen problemas similares de difusión de contenido no deseado y malicioso. En general, el VWR-Attn-SVM representa un avance significativo en el campo de la detección de spam, ofreciendo una solución más práctica, eficiente y versátil para combatir el problema persistente del spam en el panorama de la comunicación digital.

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

Protocol

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

1. Preparación experimental (Archivo complementario 2 y Archivo complementario 3)

  1. Descripción de los datos: Cargue el conjunto de datos de spam de código abierto desde el repositorio de aprendizaje automático de UCI para la detección de correo electrónico no deseado30. Documente que el conjunto de datos contiene 4.601 instancias con 57 características continuas y 1 etiqueta de clase, incluidas 1.813 muestras de spam (39,4 %) y 2.788 muestras que no son de spam (60,6 %) (Tabla 1).
  2. Importación de bibliotecas
    1. Importar las bibliotecas esenciales (ver la Tabla de Materiales).
    2. Establezca una semilla aleatoria global en 42 para garantizar la reproducibilidad de los resultados.
  3. Configure los ajustes de trazado: use Times New Roman para texto en inglés, resuelva problemas de visualización de signos menos y establezca el tamaño de fuente en 16 para mejorar la legibilidad.

Tabla 1: Resumen de las estadísticas del conjunto de datos y las definiciones de características. Esta tabla presenta variables para la clasificación de spam, incluida la frecuencia de palabras (word_freq_WORD), la frecuencia de caracteres (char_freq_CHAR), las métricas de longitud de ejecución de capital y la variable de clase de destino, con descripciones de cada tipo de variable y significado. Haga clic aquí para descargar esta tabla.

2. Experimento para verificar la asociación estadística entre las características y etiquetas TF-IDF (Archivo complementario 2 y Archivo complementario 3)

  1. Preprocesamiento de datos
    1. Cargue los conjuntos de datos (Archivo complementario 1): primer conjunto de datos: spambase.csv; segundo conjunto de datos: spam_indonesian.csv.
    2. Examine la distribución de las etiquetas de correo electrónico no deseado y no spam y calcule la proporción de cada categoría.
    3. Binarize estas características utilizando la media como umbral para la próxima prueba de chi-cuadrado.
      NOTA: Asegúrese de que el archivo de correo no deseado esté en el directorio de trabajo correcto o proporcione la ruta completa del archivo cuando utilice el comando read.
  2. Preprocesamiento de pruebas de datos (archivo complementario 2 y archivo complementario 3)
    1. Utilice sklearn.feature_selection.chi2 para la prueba de chi-cuadrado en características de TF-IDF binarizadas:
      Llamada en clave:
      desde sklearn.feature_selection importar chi2
      chi2_values, p_values = chi2(df_binary, df['spam'])
      significant_features_chi2 = [feature_cols[i] for i in np.where(p_values < 0.05)[0]]
      print(f"Número de características significativas: {len(significant_features_chi2)}")
      Resultado esperado: un subconjunto de características (por ejemplo, 35 de 57) con asociación estadística a etiquetas de spam, incluidas palabras clave como "gratis" o "eliminar".
    2. Realice una implementación usando sklearn.feature_selection.f_classif:
      Llamada en clave:
      desde sklearn.feature_selection importar f_classif
      f_values, f_p_values = f_classif(df[feature_cols], df['spam'])
      significant_features_f = [feature_cols[i] for i in np.where(f_p_values < 0.05)[0]]
      print(f"Características retenidas: {len(significant_features_f)}")
      NOTA: Normalmente conserva entre 40 y 50 entidades (depende del dataset), superponiéndose parcialmente con los resultados de chi-cuadrado.
      Antes de ejecutar pruebas estadísticas, verifique el formato y los parámetros de los datos para garantizar resultados precisos.
  3. Visualización
    1. Seleccione las 20 entidades principales con los valores p más pequeños de los resultados de la prueba de chi-cuadrado.
    2. Genere usando seaborn.heatmap:
      Llamada en clave:
      importar seaborn como SNS
      top_indices = np.argsort(p_values)[:20]
      top_features = [feature_cols[i] para i en los índices top$\_$]
      corr_matrix = df[top_features + ['spam']].corr()
      plt.figure(figsize=(12, 10))
      sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
      plt.show()
      NOTA: Patrón esperado: las características relacionadas con el spam se agrupan con la etiqueta de spam en rojo (correlación positiva).

3. Clasificación SVM mejorada para la detección de spam (archivo complementario 2 y archivo complementario 3)

  1. Preprocesamiento de datos
    1. Carga de datos: Divida los datos usando sklearn.model selection.train test split con semilla fija:
      Llamada en clave:
      desde sklearn.model selection import train test split
      X entrenar, X prueba, y entrenar, y prueba = entrenar la división de la prueba (X, y, tamaño de la prueba = 0.3, estado aleatorio = 42)
    2. Estandarización y equilibrio de clases: Implementar a través del muestreo imblearn.over. SMOTE (Técnica de sobremuestreo de minorías sintéticas (SMOTE)31):
      Llamada en clave:
      de imblearn.over importación de muestreo SMOTE
      # Predeterminado: estrategia de muestreo = 'auto', k vecinos = 5
      smote = SMOTE(estado aleatorio = 42)
      X train smote, y train smote = smote.fit resample(X train, y train)
      Balancea la distribución de clases (por ejemplo, de 85:15 a 50:50).
  2. Arquitectura de modelo de atención de características mejorada: diseñe un mecanismo que aprenda los pesos de importancia de las características a través de transformaciones no lineales de varias capas. Asigne mayores pesos de atención a las características críticas para mejorar su impacto.
    1. Preprocesamiento de entidades (opcional)
      1. Aplique la transformación de rango normal de Van der Waerden a las entidades de entrada. Convierta las características sin procesar en una distribución normal aproximada para mejorar la solidez del modelo. Usa la fórmula:
        figure-protocol-1
        Donde x representa el vector de características TF-IDF de una muestra, R(x) es el rango del valor de la característica, d es la longitud del vector (d = 57) y φ-1 es la función de distribución acumulativa inversa de la distribución normal estándar.
        NOTA:Utilice use_rank_transform parámetro (booleano) para controlar la habilitación de la transformación de rango normal para el procesamiento de entidades.
    2. Transformación no lineal multicapa: aprenda una representación no lineal de entidades a través de una red totalmente conectada de dos capas.
      1. Transformación de la primera capa: use la fórmula:
        figure-protocol-2
        Donde W1 figure-protocol-3 Rk×d y k = 64 (neuronas ocultas).
        Implementado en Keras con LeakyReLU:
        Llamada en clave:
        desde tensorflow.keras.layers import Denso
        self.dense1=Dense(units=64, # 256 para VWR-Attn-SVM
        activation='leaky relu', # Pendiente negativa por defecto=0.01
        Regularizador del kernel = Regularizadores.L1 L2 (L1 = 0.0002, L2 = 0.0002))
        NOTA: Agregue una capa de abandono con una tasa de abandono de 0.2 para evitar el sobreajuste.
      2. Transformación de segunda capa: Aplique la transformación de la segunda capa usando Sigmoid para generar pesos de atención en el rango [0,1]. Usa la fórmula:
        figure-protocol-4
        Donde W,2figure-protocol-5, R, d×k y R figure-protocol-6k son los pesos de atención para cada característica. Seleccione Sigmoid en lugar de SoftMax para mantener la independencia de la importancia de varias características.
        Aplique la activación de Keras Sigmoid para los pesos de atención:
        Llamada en clave:
        self.dense2 = Dense(input shape[-1], activation='sigmoid',
        Regularizador del kernel = Regularizadores.L1 L2 (L1 = 0.0002, L2 = 0.0002))
    3. Ponderación de características: Mejore las características importantes realizando la multiplicación por elementos con ponderaciones de atención. Usa la fórmula:
      figure-protocol-7
      Donde figure-protocol-8 denota multiplicación por elementos.
  3. Entrenamiento del modelo de atención de características mejorado
    1. Optimización de objetivos multitarea: minimice una función de pérdida ponderada que combine la pérdida de reconstrucción y la pérdida de entropía cruzada para entrenar el modelo. Asegúrese de que el mecanismo de atención retenga información crítica mientras se enfoca en las características relevantes para la clasificación. Usa la fórmula:
      figure-protocol-9
      Utilizar la pérdida de error cuadrático medio figure-protocol-10
      para reconstruir entidades de entrada y aplicar la pérdida de entropía cruzada figure-protocol-11
      a la tarea de clasificación.
      Implementación de la pérdida multitarea personalizada en PyTorch: Pérdida personalizada en Keras con alpha=0.5:
      Llamada en clave:
      model.compile(optimizer='adam',loss={
      «enhanced_feature_attention»:«MSE»,«clasificación»:
      'binary_crossentropy'},loss_weights={
      'enhanced_feature_attention': 0.5, 'clasificación': 0.5})
      alfa = 0.5 equilibra la reconstrucción de características (MSE) y la clasificación (entropía cruzada), lo que lleva a una convergencia estable dentro de 50-100 épocas.
      NOTA: Aplique la regularización mixta L1/L2 (Elastic Net, fuerza predeterminada 0,001) a ambas capas totalmente conectadas para mejorar la selección y generalización de características.
    2. Configuración de parámetros: Establezca el coeficiente de peso α para controlar la importancia relativa de las dos pérdidas y use α = 0.5 en el código. Configure el tamaño del lote en 64, establezca el número de épocas en 200 y asigne el 10% de los datos para el conjunto de validación.
    3. Agregue funciones de devolución de llamada.
      Devoluciones de llamada de Keras con parámetros predeterminados:
      Llamada en clave:
      desde tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau
      devoluciones de llamada = [EarlyStopping(monitor='val_loss', patience=5, mode='min', restore_best_weights
      =True), ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=5, min_lr=0.0005, verbose=1)]
      1. Incorpore la devolución de llamada EarlyStopping para detener el proceso de entrenamiento cuando la pérdida de validación no mejore durante 5 épocas consecutivas.
      2. Agregue la devolución de llamada ReduceLROnPlateau para ajustar de forma adaptativa la velocidad de aprendizaje. Establezca el factor de decaimiento en 0,5 y la tasa de aprendizaje mínima en 0,0002.
    4. Generación de características de peso de atención: después del entrenamiento, extraiga los pesos de atención de la capa Enhanced Feature Attention. Genere características ponderadas para los conjuntos de entrenamiento y prueba. Introduzca estas características en el clasificador SVM.
  4. Evaluación del modelo
    NOTA: Una prueba de entrenamiento 70-30 equilibra el entrenamiento y la evaluación. SMOTE soluciona el desequilibrio de clases, mejorando el rendimiento en datos de texto desequilibrados. MinMaxScaler estabiliza los modelos basados en la distancia. Unidades: 64 (Attn-SVM) y 128 (VWR-Attn-SVM) de capacidad de equilibrio; 128 se adapta a la complejidad de la transformación de rango de Van-der-Waerden. La deserción (0,2) evita el sobreajuste, estándar para conjuntos de datos pequeños y medianos. Regularización L1/L2 (0,0002-0,002): L1 induce escasez; L2 limita la magnitud del peso. Ponderaciones de pérdida iguales (MSE: 0,5, entropía cruzada: 0,5) equilibran la reconstrucción y el aprendizaje de clasificación. Épocas: 200 (Attn-SVM), 300 (VWR-Attn-SVM) con parada temprana (paciencia = 5) para evitar el sobreajuste. El tamaño de lote 64 equilibra la eficiencia y la estabilidad. ReduceLROnPlateau (factor = 0.5, paciencia = 5-10) ajusta las tasas de aprendizaje (mínimo 0.0001-0.0005) para una mejor convergencia.
    1. Diseño y comparaciones del estudio de ablación: Defina los siguientes modelos para la comparación: SVM basal: SVM tradicional con kernel de función de base radial (RBF); Attn-SVM: SVM con mecanismo de atención de características mejorado; VWR-Attn-SVM: SVM que combina la transformación de Van der Waerden y una mayor atención a las funciones.
    2. Métricas de evaluación (Tabla 2): Evalúe el rendimiento del modelo mediante exactitud, precisión, recuperación, puntuación F1 y AUC.
  5. Visualización de la atención e interpretación del modelo
    1. Visualización de los pesos de atención de las características clave
      Gráfico de barras de Matplotlib para las 15 características principales:
      Llamada en clave:
      importar matplotlib.pyplot como plt
      top_indices = np.argsort(-avg_weights)[:15]
      top_features = [feature_names[i] para i en top_indices]
      top_weights = avg_weights[top_indices]
      plt.figure(figsize=(12, 8))
      plt.barh(top_features, top_weights, color='skyblue')
      plt.xlabel('Peso de atención')
      plt.title('Principales ponderaciones de atención de las características')
      plt.show()
    2. Comparación del impacto de la transformación de rango normal: compare el rendimiento del modelo (exactitud, precisión, recuperación, puntuación F1, AUC) con y sin use_rank_transform habilitado. Resalte las diferencias de métricas clave en una tabla formateada.
    3. Comparación de importancia de características: Analice la consistencia entre las características importantes identificadas por pruebas estadísticas (por ejemplo, chi-cuadrado) y el mecanismo de atención.
      NOTA: Si los recursos computacionales son limitados, reduzca el número de unidades (por ejemplo, a 32) o épocas (por ejemplo, a 100). Ajuste l1_reg/l2_reg para equilibrar la complejidad del modelo (los valores más altos mejoran la regularización).

4. Comparación de clasificadores múltiples (Archivo complementario 2 y Archivo complementario 3)

  1. Defina el diccionario clasificador. Cree un diccionario de clasificadores para comparar, incluidos KNN, Regresión logística, AdaBoost, Naive Bayes y SVM con kernel RBF (parámetros predeterminados).
  2. Inicializar DataFrames de resultados. Cree cuatro DataFrames para almacenar métricas de evaluación, con columnas: Clasificador, Exactitud, Precisión, Recuperación, Puntuación F1 y AUC.
  3. Entrene y evalúe clasificadores. Para cada clasificador, realice los pasos siguientes.
    Ejemplos de clasificadores con parámetros y semillas:
    Llamada en clave:
    desde sklearn.linear_model importar LogisticRegression
    desde sklearn.svm import SVC
    lr = LogisticRegression(random_state=RANDOM_SEED, max_iter=1000)
    svm = GridSearchCV(SVC(random_state=RANDOM_SEED, probability=True),
    param_grid={'C': [0.001,0.01 1, 10,100,1000], 'gamma': [0.001,0.01 1, 10,100,1000],
    kernel': ['rbf', 'lineal']}, cv=5, puntuación='f1')
    NOTA: Todos los modelos utilizan random_state=42 para la reproducibilidad.
    1. Entrene el clasificador con datos de entrenamiento escalados.
    2. Prediga y calcule probabilidades en conjuntos de entrenamiento y prueba.
    3. Genere informes de clasificación y almacene las métricas en los DataFrames correspondientes.
  4. Integre resultados de SVM de atención de funciones mejoradas. Incorpore métricas de rendimiento de Attn-SVM y VWR-Attn-SVM (del Experimento 3) en los DataFrames existentes.
  5. Imprimir resultados comparativos. Muestre tablas de evaluación para correos electrónicos no deseados y no deseados en conjuntos de entrenamiento y prueba.
  6. Visualiza los resultados. Utilice sns.barplot para trazar las métricas de rendimiento del clasificador. Gire las etiquetas del eje x 45° para facilitar la lectura. Optimice el diseño y muestre el gráfico usando plt.show().
    Interpretación de las salidas de sns.barplot:
    Llamada en clave:
    importar seaborn como SNS
    sns.barplot(x='Clasificador', y='Puntuación F1', data=resultados)

5. Cuadro comparativo del rendimiento multimétrico de diferentes clasificadores en tiempo de entrenamiento/prueba y memoria (Archivo complementario 4)

  1. Preprocesamiento de datos: spambase.csv de carga o spam_indonesian.csv; Dividido en 70% de entrenamiento/30% de conjuntos de prueba; estandarizar funciones con MinMaxScaler.
  2. Entrenamiento de modelos: Entrenamiento de KNN, regresión logística, AdaBoost, Naive Bayes, SVM (con búsqueda de cuadrícula), Attn-SVM y VWR-Attn-SVM.
  3. Evaluación del rendimiento: Calcule la exactitud, la precisión, la recuperación, la puntuación F1 y el AUC.
  4. Análisis de recursos: registre el tiempo de entrenamiento, el tiempo de prueba y el uso de memoria.
  5. Visualización: genere gráficos de rendimiento multimétricos y gráficos de consumo de recursos.
    Parámetros clave: Semilla aleatoria = 42; Cuadrícula SVM (C:[0.01,0.1,1,10,100]; gamma:[0.01,0.1,1,10,100]; kernel:['rbf','linear']); Los modelos de atención utilizan redes totalmente conectadas de 2 capas, regularización L1/L2 y Dropout.
    Salida: Tablas de rendimiento, tablas de recursos, gráficos multimétricos, gráficos de tiempo/memoria, visualizaciones de peso de atención.

6. Resultados experimentales de CNN, RNN, LSTM o Transformers (Archivo complementario 5)

  1. Preprocesamiento: cargue spambase.csv o spam_indonesian.csv, aplique SMOTE para el desequilibrio de clases si es necesario, divídalo en entrenamiento/prueba (70/30).
  2. Capacitación: Construir CNN, RNN, LSTM, Transformer; Adam (0.001), entropía cruzada binaria, batch_size = 32, épocas = 10, parada temprana (paciencia = 5) y programación de la tasa de aprendizaje.
  3. Evaluación: Exactitud de cálculo, Precisión, Recuperación, F1, AUC; Registre el tiempo de entrenamiento/prueba y el uso de memoria.
  4. Visualización: Genere gráficos de comparación de recursos y rendimiento; guardar resultados CSV.
  5. Salida: tabla de métricas de rendimiento, tabla de consumo de recursos, gráficos de comparación, archivos CSV.

7. Instrucciones de código complementario

  1. Para ejecutar el código y replicar figuras: Coloque spam.csv o spam_indonesian.csv en el mismo directorio. Instale dependencias a través de pip install numpy pandas matplotlib seaborn scikit-learn tensorflow imbalanced-learn psutil. Ejecute el script; Procesará automáticamente los datos, entrenará modelos y generará/mostrará todas las figuras (mapas de calor, gráficos de rendimiento) durante la ejecución.

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

Results

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

Para comenzar, según el protocolo experimental establecido, la Figura 1 proporciona una descripción general del diagrama de flujo general de este estudio. La Figura 2, muestra secuencialmente los diagramas de flujo de operaciones de los Experimentos 2. Además, la Tabla 1 presenta principalmente las frecuencias de palabras y caracteres dentro del conjunto de datos de correo electrónico no deseado, spam.csv.

Con respect...

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

Discussion

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

Este estudio verificó la efectividad de VWR-Attn-SVM basado en el conjunto de datos de Spambase, proporcionando información para abordar la naturaleza escasa y de alta dimensión de los datos de spam. Los experimentos revelaron que solo unas pocas características en los datos de spam tienen una fuerte correlación con las etiquetas; Los modelos tradicionales tratan todas las características por igual, lo que lleva a un rendimiento deficiente, mientras que el mecanismo de atención de este m...

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

Disclosures

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

Los autores no tienen conflictos de intereses que divulgar.

Acknowledgements

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

Agradecemos a la Alianza de Matemáticas de Fujian (Subvención No. 2023SXLMMS10) y a la Fundación de Ciencias Naturales de la Provincia de Fujian (2023J05083, 2022J011396, 2023J011434) por financiar este trabajo.

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

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Archivo suplementario 2: code_new.py; Archivo suplementario 3: code_indonesian.py.
numpyDesarrolladores NumPyBiblioteca para computación numérica en Python
PandasEquipo de Desarrollo de PandasBiblioteca para manipulación y análisis de datos
matplotlibMatplotlib Developers Biblioteca para crear visualizaciones estáticas, animadas e interactivas
seabornMichael Waskom et al.Biblioteca de visualización estadística de datos basada en matplotlib
scikit-learnEquipo de desarrolladores de scikit-learnBiblioteca de aprendizaje automático que presenta varios algoritmos de clasificación, regresión y agrupamiento
Flujo tensorialGoogleMarco de aprendizaje automático de código abierto, incluyendo la API de Keras para construir redes neuronales
imblearnDesarrolladores de aprendizaje desequilibradoBiblioteca para manejar conjuntos de datos desequilibrados, incluyendo SMOTE para sobremuestreo
AdvertenciasBiblioteca Estándar de PythonMódulo para emitir mensajes de advertencia
Archivo suplementario 4: code_compute_time.py
numpyDesarrolladores NumPyBiblioteca de computación numérica para Python
PandasEquipo de Desarrollo de PandasBiblioteca de manipulación y análisis de datos
matplotlibDesarrolladores de MatplotlibBiblioteca de visualización para crear gráficos y figuras
seabornMichael Waskom et al.Biblioteca de visualización estadística de datos construida sobre matplotlib
scikit-learnEquipo de desarrolladores de scikit-learnBiblioteca de aprendizaje automático con herramientas de clasificación, regresión y preprocesamiento
Flujo tensorialGoogleMarco de aprendizaje automático de código abierto con API Keras para redes neuronales
imblearnequipo de desarrolladores de aprendizaje desequilibradoBiblioteca para manejar conjuntos de datos desequilibrados (incluye SMOTE)
AdvertenciasBiblioteca Estándar de PythonMódulo para emitir mensajes de advertencia
HoraBiblioteca Estándar de PythonMódulo para funciones relacionadas con el tiempo
psutilGiampaolo RodolaBiblioteca para recuperar información del sistema y monitorizar el uso de recursos
sistema operativoBiblioteca Estándar de PythonMódulo para interactuar con el sistema operativo
Archivo suplementario 5: DNN.py.
PandasEquipo de Desarrollo de PandasBiblioteca de manipulación y análisis de datos
numpyDesarrolladores NumPyBiblioteca de computación numérica para Python
HoraBiblioteca Estándar de PythonMódulo para funciones relacionadas con el tiempo
psutilGiampaolo RodolaBiblioteca para la recuperación de información del sistema y monitorización de recursos
matplotlibDesarrolladores de MatplotlibBiblioteca de visualización para crear gráficos y figuras
scikit-learnEquipo de desarrolladores de scikit-learnBiblioteca de aprendizaje automático con herramientas de preprocesamiento de datos, selección de modelos y métricas
imblearnequipo de desarrolladores de aprendizaje desequilibradoBiblioteca para manejar conjuntos de datos desequilibrados (incluye SMOTE)
Flujo tensorialGoogleMarco de aprendizaje automático de código abierto con API Keras para construir redes neuronales

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