Method Article

Classificação de spam com máquinas de vetor de suporte usando Van der Waerden Rank Score Atenção

DOI:

10.3791/69082

October 31st, 2025

In This Article

Summary

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

Este estudo propõe uma abordagem inovadora baseada no Support Vector Machine integrado a um mecanismo de atenção de recursos aprimorados por pontuação de classificação de Van der Waerden, com o objetivo de enfrentar os desafios de dados de spam esparsos de alta dimensão e melhorar o desempenho de classificação da detecção de spam.

Abstract

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

À medida que o uso de e-mail se expande, o spam se tornou um desafio crítico, ameaçando a segurança da rede e reduzindo a eficiência da comunicação. Os métodos convencionais de detecção enfrentam limitações persistentes: os modelos tradicionais de aprendizado de máquina geralmente lutam com dados esparsos de alta dimensão, enquanto o aprendizado profundo requer recursos computacionais substanciais.

Este estudo apresenta uma máquina de vetores de suporte com recurso de pontuação de classificação de Van der Waerden (VWR-Attn-SVM) para resolver esses problemas. O método aplica a transformação de classificação de Van der Waerden para normalizar os recursos de texto, melhorando a robustez contra valores discrepantes e preservando as relações ordinais. Um mecanismo de atenção aprimorado otimiza ainda mais a seleção de recursos por meio de processamento não linear com regularização, destacando os recursos mais relevantes para a detecção de spam.

Experimentos nos conjuntos de dados UCI Spambase e Indonesian Spam mostram que o VWR-Attn-SVM supera os classificadores tradicionais em exatidão, precisão, recall, pontuação F1 e AUC. Ao combinar alto desempenho com custo computacional reduzido, o método fornece uma solução eficiente e interpretável para classificação de spam, com potencial extensão para outras plataformas baseadas em texto, como mensagens e mídias sociais.

Introduction

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

Na era digital contemporânea, caracterizada pela rápida evolução da internet e das tecnologias digitais, o e-mail continua sendo uma pedra angular indispensável nos domínios das transações eletrônicas e da comunicação corporativa, apesar do contínuo surgimento e inovação das plataformas de mensagens instantâneas e mídias sociais1. Sua capacidade de transcender fronteiras temporais e espaciais lhe confere vantagens únicas, permitindo uma comunicação perfeita em todo o mundo a qualquer momento. No entanto, essa ampla adoção deu origem a uma questão urgente e prejudicial - a disseminação desenfreada de spam. Agentes mal-intencionados exploraram sistemas de e-mail como veículos para distribuir grandes quantidades de anúncios comerciais não solicitados, software malicioso e conteúdo ilegal. De acordo com a pesquisa, de 2012 a 2023, a proporção de spam global no tráfego total de e-mail disparou 7700%2,3. Essa inundação de spam não apenas interrompe gravemente as operações normais de e-mail dos usuários, mas também representa ameaças multifacetadas. Ele prejudica a privacidade pessoal ao potencialmente expor informações confidenciais, compromete a segurança corporativa por meio do risco de violações de dados e infecções por malware e até desestabiliza a ordem econômica ao facilitar atividades fraudulentas 4,5. A classificação eficaz de spam reduz as perdas financeiras relacionadas a phishing em 40-60%6, destacando o valor prático de métodos de filtragem eficientes e precisos. Consequentemente, o desenvolvimento de um modelo de detecção de spam eficiente e preciso surgiu como uma área de pesquisa crucial para garantir a segurança da rede e aumentar a eficiência.

Um corpo substancial de pesquisas existentes sobre detecção de spam se concentrou em metodologias de aprendizado de máquina e aprendizado profundo. No campo do aprendizado de máquina tradicional, uma gama diversificada de técnicas foi explorada e aplicada. Métodos baseados em regras, como árvores de decisão7, têm sido utilizados para tomar decisões de classificação com base em regras predefinidas derivadas de recursos de dados. Os métodos de reforço 8,9,10, que agregam vários alunos fracos em um forte, e a teoria dos conjuntos aproximados11, que lida com a incerteza e a imprecisão nos dados, também mostraram potencial. Além disso, métodos estatísticos, incluindo regressão logística, K-vizinhos mais próximos (KNN) 12 , 13 , Naive Bayes14 , 15 , 16 e SVM17 , 18 , 19 têm sido amplamente empregados. Essas abordagens geralmente dependem de métodos tradicionais de extração de recursos, como TF-IDF. Embora o TF-IDF seja eficaz na quantificação da importância das palavras em um documento, ele se esforça para capturar as intrincadas relações semânticas e nuances contextuais inerentes aos textos de e-mail. Além disso, quando confrontados com dados de alta dimensão e esparsos, o que é típico em espaços de recursos de e-mail, esses métodos geralmente encontram gargalos computacionais. Sua robustez limitada pode levar a ficar preso em soluções ótimas locais durante o processo de treinamento, restringindo severamente a precisão da classificação e a capacidade de generalização dos modelos.

O deep learning, com sua notável capacidade de extração automática de recursos, surgiu como uma alternativa poderosa na detecção de spam. Algoritmos, como Redes Neurais Convolucionais (CNN)20,21,22, Redes Neurais Recorrentes (RNN)23 e redes de Memória de Longo Prazo (LSTM)24,25, bem como modelos mais recentes baseados em Transformer, como Word2vec e BERT26,27, fizeram avanços significativos na melhoria do desempenho da classificação. As CNNs são adeptas da extração de recursos locais de dados, RNNs e LSTMs podem lidar bem com dados sequenciais, capturando dependências temporais no texto, e os modelos baseados em Transformer se destacam na mineração de relacionamentos semânticos complexos e informações de contexto. Métodos de NLP eficientes recentes, como classificadores de texto baseados em TinyML28, oferecem linhas de base fortes para classificação de spam. Os modelos TinyML são otimizados para dispositivos de borda com memória limitada. Comparamos nosso método com essas abordagens na seção Resultados, destacando as compensações entre precisão, eficiência computacional e flexibilidade de implantação. No entanto, esses modelos de aprendizado profundo vêm com seu próprio conjunto de limitações. Eles normalmente exigem um grande número de parâmetros de treinamento, resultando em altas demandas de recursos computacionais e tempos de treinamento estendidos. Modelos de aprendizado profundo como o BERT exigem 3 a 5 vezes mais memória e tempos de treinamento 10 vezes mais longos do que os SVMstradicionais 29, tornando-os menos adequados para ambientes com recursos limitados. Isso os torna menos práticos para implantação em ambientes com recursos limitados, como dispositivos móveis ou servidores low-end. Além disso, suas arquiteturas complexas geralmente os tornam menos interpretáveis, o que pode ser uma desvantagem significativa em aplicativos em que a compreensão do processo de tomada de decisão do modelo é crucial.

Nesse contexto, o objetivo geral deste estudo é desenvolver uma abordagem inovadora que possa superar as limitações dos métodos existentes e enfrentar efetivamente os desafios impostos pela natureza altamente dimensional e esparsa dos dados de spam. A proposta de Van der Waerden Rank Score Feature Attention-Enhanced SVM (VWR-Attn-SVM) representa uma nova integração de técnicas destinadas a melhorar o desempenho da detecção de spam (Figura 1). O princípio fundamental por trás do VWR-Attn-SVM reside no seu design exclusivo que combina os pontos fortes de vários componentes.

figure-introduction-1
Figura 1: Fluxograma geral da pesquisa sobre classificação de spam com VWR-Attn-SVM. Este fluxograma ilustra o fluxo de trabalho de classificação de spam com base na pontuação de classificação de Van der Waerden e SVM com atenção aprimorada, abrangendo preparação de dados (carregamento, divisão, pré-processamento), preparação experimental, verificação de correlações estatísticas de rótulo de recurso TF-IDF, detecção de spam baseada em SVM com atenção aprimorada e comparação de vários classificadores. Clique aqui para ver uma versão maior desta figura.

O Mecanismo de Atenção de Recursos Aprimorados principal processa amostras de e-mail individuais com uma dimensionalidade específica. Ao aplicar a transformação de classificação de Van der Waerden, ele normaliza os recursos de texto de e-mail distorcidos por frequências de palavras anormais em uma forma padrão semelhante a uma distribuição normal. Essa transformação aumenta significativamente a robustez do modelo, permitindo que ele lide melhor com a variabilidade dos dados de e-mail. As pontuações de classificação de Van der Waerden foram preferidas em relação ao dimensionamento logarítmico e às transformações quantílicas por três razões: (1) Robusto para outliers de recursos de spam (por exemplo, frequências extremas de palavras), ao contrário do escalonamento logarítmico, que amplifica o ruído de baixa frequência; (2) Preservar relacionamentos ordinais de recursos (críticos para a hierarquia de indicadores de spam como "grátis" vs. "ganhar"), enquanto as transformações quantílicas achatam as distribuições; (3) Normalize para [0,1], facilitando a integração do mecanismo de atenção e garantindo uma ponderação consistente (Figura 2).

figure-introduction-2
Figura 2: Fluxograma experimental. (A-C) Fluxos de trabalho para classificação de spam, abrangendo tratamento de dados, seleção de recursos, treinamento de modelos, avaliação e comparação com/sem transformação de pontuação de classificação de Van der Waerden. Clique aqui para ver uma versão maior desta figura.

Estruturalmente, o mecanismo apresenta uma rede totalmente conectada de duas camadas para transformação de recursos não lineares (Figura 2). A primeira camada, equipada com uma função de ativação LeakyReLU, reduz as dimensões de entrada enquanto introduz não linearidade e incorpora uma camada Dropout para mitigar o sobreajuste. A segunda camada, usando uma função sigmóide, gera pesos de atenção que podem quantificar com precisão a importância de cada recurso. Uma estratégia de regularização L1/L2 é integrada ao modelo para otimizar a seleção de recursos, onde a regularização L1 promove esparsidade, filtrando efetivamente recursos menos relevantes, e a regularização L2 evita o sobreajuste restringindo a magnitude dos pesos. Durante a fase de treinamento, uma estrutura de aprendizado multitarefa é adotada, combinando perda de reconstrução de recursos e perda de classificação para otimizar os parâmetros do modelo. Isto permite que o VWR-Attn-SVM se adapte precisamente às características TF-IDF esparsas e de alta dimensão dos textos de e-mail, que são características da natureza complexa do conteúdo do e-mail.

Nosso método é otimizado para conjuntos de dados de spam baseados em texto que variam de vários milhares a dez mil (por exemplo, Spambase, conjunto de dados de spam indonésio (Arquivo Suplementar 1)) e requer recursos computacionais padrão (processador Intel Core i7, 16 GB de RAM) para treinamento; a inferência pode ser executada em um laptop padrão (Intel Core i5, 8 GB de RAM) com latência de menos de um segundo. As principais restrições incluem desempenho limitado em spam não textual (por exemplo, spam incorporado a imagens) e dependência de recursos de texto estruturado. Em comparação com as tecnologias alternativas existentes, o VWR-Attn-SVM tem várias vantagens notáveis. Diferente dos métodos tradicionais de aprendizado de máquina, ele não depende apenas da extração básica de recursos, mas aprende ativamente a ponderar os recursos de acordo com sua importância por meio do mecanismo de atenção aprimorada, para capturar melhor os recursos mais relevantes para a classificação de spam. Em contraste com os modelos de aprendizado profundo, ele alcança um equilíbrio favorável entre desempenho e eficiência computacional. Requer menos recursos computacionais e tempos de treinamento mais curtos, tornando-o mais adequado para uma ampla gama de aplicações, especialmente aquelas com recursos limitados. Essa abordagem inovadora é aplicável não apenas à tarefa específica de detecção de spam em sistemas de e-mail, mas também tem potencial para extensão a outros canais de comunicação baseados em texto, como aplicativos de mensagens instantâneas, plataformas de mídia social e serviços de SMS, onde existem problemas semelhantes de disseminação de conteúdo indesejado e malicioso. No geral, o VWR-Attn-SVM representa um avanço significativo no campo da detecção de spam, oferecendo uma solução mais prática, eficiente e versátil para combater o problema persistente de spam no cenário da comunicação digital.

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

Protocol

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

1. Preparação experimental (Arquivo Suplementar 2 e Arquivo Suplementar 3)

  1. Descrição dos dados: Carregue o conjunto de dados de spam de código aberto do Repositório de Aprendizado de Máquina UCI para detecção de e-mail de spam30. Documente que o conjunto de dados contém 4.601 instâncias com 57 recursos contínuos e 1 rótulo de classe, incluindo 1.813 amostras de spam (39,4%) e 2.788 amostras de não spam (60,6%) (Tabela 1).
  2. Importação de biblioteca
    1. Importe as bibliotecas essenciais (consulte a Tabela de Materiais).
    2. Defina uma semente aleatória global como 42 para garantir a reprodutibilidade dos resultados.
  3. Defina as configurações de plotagem: use Times New Roman para texto em inglês, resolva problemas de exibição de sinal de menos e defina o tamanho da fonte como 16 para melhorar a legibilidade.

Tabela 1: Resumo das estatísticas do conjunto de dados e definições de recursos. Esta tabela apresenta variáveis para classificação de spam, incluindo frequência de palavras (word_freq_WORD), frequência de caracteres (char_freq_CHAR), métricas de comprimento de execução de capital e a variável de classe de destino, com descrições de cada tipo e significado de variável. Clique aqui para baixar esta tabela.

2. Experimente verificar a associação estatística entre os recursos e rótulos do TF-IDF (Arquivo Suplementar 2 e Arquivo Suplementar 3)

  1. Pré-processamento de dados
    1. Carregue os conjuntos de dados (Arquivo Suplementar 1): primeiro conjunto de dados: spambase.csv; segundo conjunto de dados: spam_indonesian.csv.
    2. Examine a distribuição de rótulos de e-mail de spam e não spam e calcule a proporção de cada categoria.
    3. Binarize essas características usando a média como limite para o próximo teste qui-quadrado.
      NOTA: Certifique-se de que o arquivo de spam esteja no diretório de trabalho correto ou forneça o caminho completo do arquivo ao usar o comando read.
  2. Pré-processamento de teste de dados (Arquivo Suplementar 2 e Arquivo Suplementar 3)
    1. Use sklearn.feature_selection.chi2 para o teste qui-quadrado em recursos TF-IDF binarizados:
      Chamada de código:
      de sklearn.feature_selection importar chi2
      chi2_values, p_values = chi2(df_binary, df['spam'])
      significant_features_chi2 = [feature_cols[i] para i em np.where(p_values < 0.05)[0]]
      print(f"Número de recursos significativos: {len(significant_features_chi2)}")
      Saída esperada: um subconjunto de recursos (por exemplo, 35 de 57) com associação estatística a rótulos de spam, incluindo palavras-chave como "grátis" ou "remover".
    2. Conduza uma implementação usando sklearn.feature_selection.f_classif:
      Chamada de código:
      de sklearn.feature_selection importar f_classif
      f_values, f_p_values = f_classif(df[feature_cols], df['spam'])
      significant_features_f = [feature_cols[i] para i em np.where(f_p_values < 0.05)[0]]
      print(f"Recursos retidos: {len(significant_features_f)}")
      NOTA: Isso normalmente retém 40-50 recursos (depende do conjunto de dados), sobrepondo-se parcialmente aos resultados do qui-quadrado.
      Antes de executar testes estatísticos, verifique o formato e os parâmetros dos dados para garantir resultados precisos.
  3. Visualização
    1. Selecione os 20 principais recursos com os menores valores de p dos resultados do teste qui-quadrado.
    2. Gerar usando seaborn.heatmap:
      Chamada de código:
      Importar Seaborn como SNS
      top_indices = np.argsort (p_values) [: 20]
      top_features = [feature_cols[i] para i em top$\_$indices]
      corr_matrix = df[top_features + ['spam']].corr()
      plt.figure(figsize=(12, 10))
      sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
      plt.show()
      NOTA: Padrão esperado: os recursos relacionados a spam são agrupados com o rótulo de spam em vermelho (correlação positiva).

3. Classificação SVM aprimorada para detecção de spam (Arquivo Suplementar 2 e Arquivo Suplementar 3)

  1. Pré-processamento de dados
    1. Carregamento de dados: Divida os dados usando sklearn.model selection.train test split com semente fixa:
      Chamada de código:
      de sklearn.model seleção importar divisão de teste de trem
      Trem X, teste X, trem y, teste y = divisão do teste de trem (X, y, tamanho do teste = 0,3, estado aleatório = 42)
    2. Padronização e balanceamento de classes: implemente por meio da amostragem imblearn.over. SMOTE (Técnica Sintética de Sobreamostragem de Minorias (SMOTE)31):
      Chamada de código:
      de imblearn.over importação de amostragem SMOTE
      # Padrão: estratégia de amostragem = 'auto', k vizinhos = 5
      smote=SMOTE(estado aleatório=42)
      X trem smote, y train smote = smote.fit resample(X trem, y trem)
      Equilibra a distribuição das classes (por exemplo, de 85:15 a 50:50).
  2. Arquitetura aprimorada do modelo de atenção de recursos: projete um mecanismo que aprenda pesos de importância de recursos por meio de transformações não lineares de várias camadas. Atribua pesos de atenção mais altos a recursos críticos para aumentar seu impacto.
    1. Pré-processamento de recursos (opcional)
      1. Aplique a transformação de classificação normal de Van der Waerden às feições de entrada. Converta recursos brutos em uma distribuição normal aproximada para melhorar a robustez do modelo. Use a fórmula:
        figure-protocol-1
        Onde x representa o vetor de características TF-IDF de uma amostra, R(x) é a classificação do valor da característica, d é o comprimento do vetor (d=57) e φ-1 é a função de distribuição cumulativa inversa da distribuição normal padrão.
        NOTA:Use use_rank_transform parâmetro (booleano) para controlar a ativação da transformação de classificação normal para processamento de recursos.
    2. Transformação não linear de várias camadas: aprenda uma representação não linear de recursos por meio de uma rede totalmente conectada de duas camadas.
      1. Transformação de primeira camada: use a fórmula:
        figure-protocol-2
        Onde W1 figure-protocol-3 Rk×d e k=64 (neurônios ocultos).
        Implementado em Keras com LeakyReLU:
        Chamada de código:
        de tensorflow.keras.layers import Denso
        self.dense1=Dense(units=64, # 256 para VWR-Attn-SVM
        ativação='relu com vazamento', # Inclinação negativa padrão = 0,01
        kernel regularizer=regularizers.l1 l2(l1=0.0002, l2=0.0002))
        NOTA: Adicione uma camada de dropout com uma taxa de dropout de 0,2 para evitar o sobreajuste.
      2. Transformação de segunda camada: Aplique a transformação da segunda camada usando Sigmoid para gerar pesos de atenção no intervalo [0,1]. Use a fórmula:
        figure-protocol-4
        Onde W2 figure-protocol-5 Rd×k e um figure-protocol-6 Rk são os pesos de atenção para cada feição. Selecione Sigmoid em vez de SoftMax para manter a independência da importância de vários recursos.
        Aplique a ativação do Keras Sigmoid para pesos de atenção:
        Chamada de código:
        self.dense2 = Denso(forma de entrada[-1], ativação='sigmóide',
        kernel regularizer=regularizers.l1 l2(l1=0.0002, l2=0.0002))
    3. Ponderação de recursos: aprimore recursos importantes realizando a multiplicação elementar com pesos de atenção. Use a fórmula:
      figure-protocol-7
      Onde figure-protocol-8 denota multiplicação elementar.
  3. Treinando o modelo de atenção de recurso aprimorado
    1. Otimização de objetivo multitarefa: minimize uma função de perda ponderada combinando perda de reconstrução e perda de entropia cruzada para treinar o modelo. Certifique-se de que o mecanismo de atenção retenha informações críticas enquanto se concentra em recursos relevantes para a classificação. Use a fórmula:
      figure-protocol-9
      Utilizar perda de erro quadrático médio figure-protocol-10
      para reconstruir recursos de entrada e aplicar a perda de entropia cruzada figure-protocol-11
      para a tarefa de classificação.
      Implemente a perda multitarefa personalizada no PyTorch: Perda personalizada no Keras com alpha=0.5:
      Chamada de código:
      model.compile(optimizer='adam',loss={
      'enhanced_feature_attention':'mse','classificação':
      'binary_crossentropy'},loss_weights={
      'enhanced_feature_attention': 0,5, 'classificação': 0,5})
      alfa = 0,5 equilibra a reconstrução de características (MSE) e a classificação (entropia cruzada), levando a uma convergência estável dentro de 50-100 épocas.
      NOTA: Aplique a regularização mista L1/L2 (Elastic Net, força padrão 0,001) a ambas as camadas totalmente conectadas para aprimorar a seleção e a generalização de recursos.
    2. Configurações de parâmetros: Defina o coeficiente de peso α para controlar a importância relativa das duas perdas e use α = 0,5 no código. Configure o tamanho do lote como 64, defina o número de épocas como 200 e aloque 10% dos dados para o conjunto de validação.
    3. Adicione funções de retorno de chamada.
      Retornos de chamada Keras com parâmetros padrão:
      Chamada de código:
      de tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau
      retornos de chamada = [EarlyStopping(monitor='val_loss', patience=5, mode='min', restore_best_weights
      =True), ReduceLROnPlateau(monitor='val_loss', fator=0,5, paciência=5, min_lr=0,0005, detalhado=1)]
      1. Incorpore o retorno de chamada EarlyStopping para interromper o processo de treinamento quando a perda de validação não melhorar por 5 épocas consecutivas.
      2. Adicione o retorno de chamada ReduceLROnPlateau para ajustar de forma adaptativa a taxa de aprendizado. Defina o fator de decaimento como 0,5 e a taxa mínima de aprendizado como 0,0002.
    4. Gerando recursos de peso de atenção: Após o treino, extraia os pesos de atenção da camada de Atenção de Recurso Aprimorado. Gere recursos ponderados para os conjuntos de treinamento e teste. Alimente esses recursos no classificador SVM.
  4. Avaliação do modelo
    NOTA: Uma divisão de teste de treinamento 70-30 equilibra treinamento e avaliação. O SMOTE aborda o desequilíbrio de classe, melhorando o desempenho em dados de texto desequilibrados. O MinMaxScaler estabiliza modelos baseados em distância. Unidades: 64 (Attn-SVM) e 128 (VWR-Attn-SVM) de capacidade de equilíbrio; 128 acomoda a complexidade da transformação de classificação de Van-der-Waerden. O dropout (0,2) evita o sobreajuste, padrão para conjuntos de dados pequenos a médios. Regularização L1/L2 (0,0002-0,002): L1 induz esparsidade; L2 limita a magnitude do peso. Pesos de perda iguais (MSE: 0,5, entropia cruzada: 0,5) reconstrução do equilíbrio e aprendizado de classificação. Épocas: 200 (Attn-SVM), 300 (VWR-Attn-SVM) com paragem precoce (paciência=5) para evitar sobreajuste. O tamanho do lote 64 equilibra eficiência e estabilidade. ReduceLROnPlateau (fator=0,5, paciência=5-10) ajusta as taxas de aprendizado (mín. 0,0001-0,0005) para melhor convergência.
    1. Desenho e comparações do estudo de ablação: Defina os seguintes modelos para comparação: SVM de linha de base: SVM tradicional com kernel de função de base radial (RBF); Attn-SVM: SVM com mecanismo de atenção de recurso aprimorado; VWR-Attn-SVM: SVM que combina a transformação de Van der Waerden e a atenção aprimorada dos recursos.
    2. Métricas de avaliação (Tabela 2): Avalie o desempenho do modelo usando exatidão, precisão, recall, pontuação F1 e AUC.
  5. Visualização da atenção e interpretação do modelo
    1. Visualizando pesos de atenção dos principais recursos
      Matplotlib barplot para os 15 principais recursos:
      Chamada de código:
      importar matplotlib.pyplot como plt
      top_indices = np.argsort (-avg_weights) [: 15]
      top_features = [feature_names[i] para i em top_indices]
      top_weights = avg_weights[top_indices]
      plt.figure(figsize=(12, 8))
      plt.barh(top_features, top_weights, color='skyblue')
      plt.xlabel('Peso da atenção')
      plt.title('Pesos de atenção do recurso principal')
      plt.show()
    2. Comparando o impacto da transformação de classificação normal: compare o desempenho do modelo (exatidão, precisão, recall, pontuação F1, AUC) com e sem use_rank_transform habilitado. Destaque as principais diferenças de métrica em uma tabela formatada.
    3. Comparação da importância do recurso: Analise a consistência entre recursos importantes identificados por testes estatísticos (por exemplo, qui-quadrado) e o mecanismo de atenção.
      NOTA: Se os recursos computacionais forem limitados, reduza o número de unidades (por exemplo, para 32) ou épocas (por exemplo, para 100). Ajuste l1_reg/l2_reg para equilibrar a complexidade do modelo (valores mais altos aprimoram a regularização).

4. Comparação de vários classificadores (Arquivo Suplementar 2 e Arquivo Suplementar 3)

  1. Defina o dicionário do classificador. Crie um dicionário de classificadores para comparação, incluindo KNN, Regressão Logística, AdaBoost, Naive Bayes e SVM com kernel RBF (parâmetros padrão).
  2. Inicialize DataFrames de resultado. Crie quatro DataFrames para armazenar métricas de avaliação, com colunas: Classificador, Exatidão, Precisão, Recall, F1-Score e AUC.
  3. Treine e avalie classificadores. Para cada classificador, execute as etapas a seguir.
    Exemplos de classificadores com parâmetros e sementes:
    Chamada de código:
    de sklearn.linear_model import LogisticRegression
    de sklearn.svm importar 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], 'gama': [0,001,0,01 1, 10,100,1000],
    kernel': ['rbf', 'linear']}, cv=5, pontuação='f1')
    NOTA: Todos os modelos usam random_state = 42 para reprodutibilidade.
    1. Treine o classificador em dados de treinamento em escala.
    2. Preveja e calcule probabilidades em conjuntos de treinamento e teste.
    3. Gere relatórios de classificação e armazene as métricas nos DataFrames correspondentes.
  4. Integre resultados de SVM de atenção aprimorada ao recurso. Incorpore métricas de desempenho de Attn-SVM e VWR-Attn-SVM (do Experimento 3) nos DataFrames existentes.
  5. Imprima resultados comparativos. Exiba tabelas de avaliação para emails não spam e spam em conjuntos de treinamento e teste.
  6. Visualize os resultados. Use sns.barplot para plotar métricas de desempenho do classificador. Gire as etiquetas do eixo x em 45° para facilitar a leitura. Otimize o layout e exiba o gráfico usando plt.show().
    Interpretação das saídas do sns.barplot:
    Chamada de código:
    Importar Seaborn como SNS
    sns.barplot(x='Classificador', y='F1-Score', dados=resultados)

5. Gráfico de comparação do desempenho multimétrico de diferentes classificadores em tempo de treinamento/teste e memória (Arquivo Suplementar 4)

  1. Pré-processamento de dados: Carregar spambase.csv ou spam_indonesian.csv; Dividido em 70% de treinamento/30% de testes; padronizar recursos com MinMaxScaler.
  2. Treinamento de modelo: Train KNN, Regressão Logística, AdaBoost, Naive Bayes, SVM (com pesquisa em grade), Attn-SVM e VWR-Attn-SVM.
  3. Avaliação de desempenho: Calcule Exatidão, Precisão, Recall, pontuação F1 e AUC.
  4. Análise de recursos: registre o tempo de treinamento, o tempo de teste e o uso de memória.
  5. Visualização: gere gráficos de desempenho multimétrico e gráficos de consumo de recursos.
    Parâmetros principais: Semente aleatória = 42; Grade SVM (C:[0,01,0,1,1,10,100]; gama:[0,01,0,1,1,10,100]; kernel:['rbf','linear']); os modelos de atenção usam redes totalmente conectadas de 2 camadas, regularização L1/L2 e Dropout.
    Saída: tabelas de desempenho, tabelas de recursos, gráficos multimétricos, gráficos de tempo/memória, visualizações de peso de atenção.

6. Resultados experimentais de CNN, RNN, LSTM ou Transformers (Arquivo Suplementar 5)

  1. Pré-processamento: Carregue spambase.csv ou spam_indonesian.csv, aplique SMOTE para desequilíbrio de classe, se necessário, divida em treinar/testar (70/30).
  2. Treinamento: Construir CNN, RNN, LSTM, Transformer; Adam (0,001), entropia cruzada binária, batch_size = 32, épocas = 10, parada precoce (paciência = 5) e programação da taxa de aprendizado.
  3. Avaliação: Calcule a exatidão, precisão, recall, F1, AUC; Registre o tempo de treinamento/teste e o uso de memória.
  4. Visualização: Gerar gráficos de comparação de desempenho e recursos; salve os resultados do CSV.
  5. Saída: tabela de métricas de desempenho, tabela de consumo de recursos, gráficos de comparação, arquivos CSV.

7. Instruções de código suplementar

  1. Para executar o código e replicar figuras: Coloque spam.csv ou spam_indonesian.csv no mesmo diretório. Instale dependências via pip install numpy pandas matplotlib seaborn scikit-learn tensorflow imbalanced-learn psutil. Execute o script; Ele processará dados automaticamente, treinará modelos e gerará/exibirá todos os números (mapas de calor, gráficos de desempenho) durante a execução.

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

Results

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

Para começar, de acordo com o protocolo experimental estabelecido, a Figura 1 fornece uma visão geral do fluxograma geral deste estudo. A Figura 2 descreve sequencialmente os fluxogramas de operação dos Experimentos 2. Além disso, a Tabela 1 apresenta principalmente as frequências de palavras e caracteres no conjunto de dados de e-mail de spam, spam.csv.

Em relação à avaliação do desempenho do modelo, cinco métricas p...

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

Discussion

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

Este estudo verificou a eficácia do VWR-Attn-SVM com base no conjunto de dados Spambase, fornecendo informações para lidar com a natureza altamente dimensional e esparsa dos dados de spam. Experimentos revelaram que apenas alguns recursos nos dados de spam têm uma forte correlação com os rótulos; Os modelos tradicionais tratam todos os recursos igualmente, levando a um desempenho ruim, enquanto o mecanismo de atenção desse modelo pode pesar dinamicamente os principais recursos. Depois de...

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

Disclosures

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

Os autores não têm conflitos de interesse a divulgar.

Acknowledgements

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

Agradecemos à Fujian Alliance of Mathematics (Grant No. 2023SXLMMS10) e à Natural Science Foundation of Fujian Province (2023J05083, 2022J011396, 2023J011434) pelo financiamento deste trabalho.

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

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Arquivo Suplementar 2: code_new.py; Arquivo Suplementar 3: code_indonesian.py.
numpyDesenvolvedores NumPyBiblioteca para computação numérica em Python
PandasEquipe de Desenvolvimento do PandasBiblioteca para manipulação e análise de dados
matplotlibMatplotlib Developers Biblioteca para criar visualizações estáticas, animadas e interativas
seabornMichael Waskom et al.Biblioteca de visualização estatística de dados baseada no matplotlib
scikit-learnEquipe de Desenvolvedores scikit-learnBiblioteca de aprendizado de máquina com vários algoritmos de classificação, regressão e clustering
Fluxo tensorialGoogleFramework de aprendizado de máquina open source, incluindo a API Keras para construção de redes neurais
imblearnDesenvolvedores de aprendizado desequilibradoBiblioteca para lidar com conjuntos de dados desequilibrados, incluindo SMOTE para superamostragem
AvisosBiblioteca Padrão PythonMódulo para emissão de mensagens de aviso
Arquivo Suplementar 4: code_compute_time.py
numpyDesenvolvedores NumPyBiblioteca de computação numérica para Python
PandasEquipe de Desenvolvimento do PandasBiblioteca de manipulação e análise de dados
matplotlibDesenvolvedores MatplotlibBiblioteca de visualização para criar gráficos e figuras
seabornMichael Waskom et al.Biblioteca de visualização estatística de dados construída sobre o matplotlib
scikit-learnEquipe de Desenvolvedores scikit-learnBiblioteca de aprendizado de máquina com ferramentas de classificação, regressão e pré-processamento
Fluxo tensorialGoogleFramework de aprendizado de máquina open-source com API Keras para redes neurais
imblearnEquipe de Desenvolvedores de aprendizado desequilibradoBiblioteca para lidar com conjuntos de dados desequilibrados (inclui SMOTE)
AvisosBiblioteca Padrão PythonMódulo para emissão de mensagens de aviso
HoraBiblioteca Padrão PythonMódulo para funções relacionadas ao tempo
psutilGiampaolo RodolaBiblioteca para recuperar informações do sistema e monitorar o uso de recursos
SOBiblioteca Padrão PythonMódulo para interação com o sistema operacional
Arquivo Suplementar 5: DNN.py.
PandasEquipe de Desenvolvimento do PandasBiblioteca de manipulação e análise de dados
numpyDesenvolvedores NumPyBiblioteca de computação numérica para Python
HoraBiblioteca Padrão PythonMódulo para funções relacionadas ao tempo
psutilGiampaolo RodolaBiblioteca para recuperação de informações do sistema e monitoramento de recursos
matplotlibDesenvolvedores MatplotlibBiblioteca de visualização para criar gráficos e figuras
scikit-learnEquipe de Desenvolvedores scikit-learnBiblioteca de aprendizado de máquina com pré-processamento de dados, seleção de modelos e ferramentas de métricas
imblearnEquipe de Desenvolvedores de aprendizado desequilibradoBiblioteca para lidar com conjuntos de dados desequilibrados (inclui SMOTE)
Fluxo tensorialGoogleFramework de aprendizado de máquina open-source com API Keras para construção de redes neurais

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