Artykuł metodologiczny

Klasyfikacja spamu z pomocą maszyn wektorowych wsparcia używających ocen rangi van der Waerden Uwaga

DOI:

10.3791/69082

31 października 2025

* These authors contributed equally

W tym artykule

Podsumowanie

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

Niniejsze badanie proponuje innowacyjne podejście oparte na Support Vector Machine zintegrowanym z mechanizmem zwracania uwagi na cechy zwiększanym przez rangę Van der Waerdena, mającym na celu rozwiązanie wyzwań związanych z wysokowymiarowymi, rzadkimi danymi spamowymi oraz poprawę wydajności wykrywania spamu w klasyfikacji.

Streszczenie

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

Wraz ze wzrostem użycia poczty elektronicznej, spam stał się poważnym wyzwaniem, zagrażając bezpieczeństwu sieci i obniżającym efektywność komunikacji. Tradycyjne metody wykrywania napotykają trwałe ograniczenia: tradycyjne modele uczenia maszynowego często mają trudności z wysokowymiarowymi, rzadkimi danymi, podczas gdy uczenie głębokie wymaga znacznych zasobów obliczeniowych.

Niniejsze badanie wprowadza funkcję Van der Waerdena z wynikiem rankingu Van der Waerdena z uwzględnieniem uwagi (VWR-Attn-SVM), aby rozwiązać te problemy. Metoda ta stosuje transformację rang Van der Waerdena do normalizacji cech tekstu, poprawiając odporność na wartości odstające i zachowując relacje porządkowe. Ulepszony mechanizm uwagi dodatkowo optymalizuje wybór cech poprzez nieliniowe przetwarzanie z regularizacją, podkreślając cechy najbardziej istotne dla wykrywania spamu.

Eksperymenty na zbiorach danych UCI Spambase i Indonesian Spam pokazują, że VWR-Attn-SVM przewyższa tradycyjne klasyfikatory pod względem dokładności, precyzji, przypomnienia, wyniku F1 i AUC. Łącząc wysoką wydajność z niższymi kosztami obliczeniowymi, metoda ta zapewnia efektywne i interpretowalne rozwiązanie klasyfikacji spamu, z potencjalnym rozszerzeniem na inne platformy tekstowe, takie jak komunikacja czy media społecznościowe.

Wprowadzenie

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

We współczesnej erze cyfrowej, charakteryzowanej szybkim rozwojem internetu i technologii cyfrowych, e-mail pozostaje niezbędnym filarem w dziedzinie transakcji elektronicznych i komunikacji korporacyjnej, pomimo ciągłego pojawiania się i innowacji w zakresie komunikacji natychmiastowej i platform mediów społecznościowych1. Jego zdolność do przekraczania granic czasowych i przestrzennych daje mu unikalne zalety, umożliwiając płynną komunikację na całym świecie w dowolnym momencie. Jednak ta powszechna adopcja doprowadziła do palącego i szkodliwego problemu – powszechnego rozprzestrzeniania się spamu. Złośliwi aktorzy wykorzystywali systemy poczty elektronicznej jako narzędzia do dystrybucji ogromnych ilości niezamówionych reklam komercyjnych, złośliwego oprogramowania i nielegalnych treści. Według badań, w latach 2012–2023 udział globalnego spamu w całkowitym ruchu e-mail gwałtownie wzrósł o 7700%2,3. Ten zalew spamu nie tylko poważnie zakłóca normalne operacje poczty elektronicznej użytkowników, ale także stanowi wielowymiarowe zagrożenia. Podważa prywatność osobistą poprzez potencjalne ujawnianie wrażliwych informacji, zagraża bezpieczeństwu korporacyjnemu poprzez ryzyko wycieków danych i infekcji złośliwym oprogramowaniem, a nawet destabilizuje porządek gospodarczy poprzez ułatwianie działalności oszukańczej 4,5. Skuteczna klasyfikacja spamu zmniejsza straty finansowe związane z phishingiem o 40-60%6, podkreślając praktyczną wartość efektywnych i precyzyjnych metod filtrowania. W związku z tym opracowanie efektywnego i dokładnego modelu wykrywania spamu stało się kluczowym obszarem badań dla zapewnienia bezpieczeństwa sieci i zwiększenia efektywności.

Znaczna część istniejących badań nad wykrywaniem spamu koncentruje się na metodach uczenia maszynowego i głębokiego uczenia. W dziedzinie tradycyjnego uczenia maszynowego badane i stosowane były różnorodne techniki. Metody oparte na regułach, takie jak drzewa decyzyjne7, zostały wykorzystane do podejmowania decyzji klasyfikacyjnych na podstawie wcześniej zdefiniowanych reguł pochodzących z cech danych. Metody wzmacniające8, 9, 10, które łączą wielu słabych uczniów w silny system, oraz teoria zbiorówprzybliżonych 11, która zajmuje się niepewnością i niedokładnością danych, również wykazały potencjał. Dodatkowo szeroko stosowane są metody statystyczne, takie jak regresja logistyczna, K-najbliższych sąsiadów (KNN)12,13, Naivnego Bayesa 14,15,16 oraz SVM 17,18,19. Te podejścia często opierają się na tradycyjnych metodach ekstrakcji cech, takich jak TF-IDF. Choć TF-IDF skutecznie określa znaczenie słów w dokumencie, ma trudności z uchwyceniem złożonych relacji semantycznych i niuansów kontekstowych wpisanych w tekstach e-mailowych. Co więcej, gdy spotykają się z danymi o wysokich wymiarach i rzadkości, co jest typowe dla przestrzeni funkcji e-mailowych, metody te często napotykają wąskie gardła obliczeniowe. Ich ograniczona odporność może prowadzić do utknięcia w lokalnych optymalnych rozwiązaniach podczas procesu treningowego, co poważnie ogranicza dokładność klasyfikacji i zdolność uogólniania modeli.

Deep learning, dzięki swojej niezwykłej zdolności do automatycznego wyodrębniania cech, stał się potężną alternatywą w wykrywaniu spamu. Algorytmy, takie jak sieci konwolucyjne neuronowe (CNN)20,21,22, sieci neuronowe rekurencyjne (RNN)23 oraz sieci pamięci krótkotrwałej (LSTM)24,25, a także nowsze modele oparte na Transformerach, takie jak Word2vec i26,27, poczyniły znaczące postępy w poprawie wyników klasyfikacji. CNN są biegłe w wydobywania lokalnych cech z danych, RNN i LSTM dobrze radzą sobie z danymi sekwencyjnymi, rejestrując zależności czasowe w tekście, a modele oparte na Transformerach doskonale sprawdzają się w eksploracji złożonych relacji semantycznych i informacji kontekstowych. Najnowsze efektywne metody NLP, takie jak klasyfikatory tekstu28 oparte na TinyML, oferują solidne punkty odniesienia do klasyfikacji spamu. Modele TinyML są zoptymalizowane pod urządzenia brzegowe z ograniczoną pamięcią. Porównujemy naszą metodę z tymi podejściami w sekcji Rezultaty, podkreślając kompromisy między dokładnością, efektywnością obliczeniową a elastycznością wdrożenia. Jednak te modele głębokiego uczenia mają swoje własne ograniczenia. Zazwyczaj wymagają one dużej liczby parametrów treningowych, co skutkuje wysokim zapotrzebowaniem na zasoby obliczeniowe i wydłużonym czasem treningu. Modele głębokiego uczenia, takie jak, wymagają 3-5 razy więcej pamięci i 10 razy dłuższego czasu treningu niż tradycyjne SVM29, co czyni je mniej odpowiednimi w środowiskach o ograniczonych zasobach. To sprawia, że są mniej praktyczne do wdrażania w środowiskach o ograniczonych zasobach, takich jak urządzenia mobilne czy serwery o niższej półce. Co więcej, ich złożone architektury często sprawiają, że są mniej interpretowalne, co może być istotną wadą w zastosowaniach, gdzie zrozumienie procesu decyzyjnego modelu jest kluczowe.

Na tym tle nadrzędnym celem tego badania jest opracowanie innowacyjnego podejścia, które pokona ograniczenia istniejących metod i skutecznie sprosta wyzwaniom wynikającym z wysokowymiarowego i rzadkiego charakteru danych spamowych. Proponowany Van der Waerden Rank Score Feature Feature-Enhanced SVM (VWR-Attn-SVM) stanowi nowatorską integrację technik mających na celu zwiększenie wydajności wykrywania spamu (Rysunek 1). Podstawowa zasada stojąca za systemem VWR-Attn-SVM tkwi w unikalnym projektowaniu, które łączy zalety wielu komponentów.

figure-introduction-1
Rysunek 1: Ogólny schemat badań nad klasyfikacją spamu z użyciem VWR-Attn-SVM. Ten schemat blokowy ilustruje proces klasyfikacji spamu na podstawie wyniku rangi Van der Waerdena oraz oferuje zwiększone uwagi SVM, obejmujące przygotowanie danych (ładowanie, rozdzielanie, wstępne przetwarzanie), przygotowanie eksperymentalne, weryfikację korelacji statystycznych TF-IDF z etykietami cech, wykrywanie spamu z uwzględnieniem uwagi SVM oraz porównanie wieloklasyfikatorów. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Podstawowy mechanizm Enhanced Feature Attention przetwarza pojedyncze próbki e-maili z określoną wymiarowością. Stosując transformację rang Van der Waerdena, normalizuje cechy tekstu e-maila zniekształcone przez nieprawidłowe częstotliwości słów do standardowej formy podobnej do rozkładu normalnego. Ta transformacja znacząco zwiększa odporność modelu, umożliwiając mu lepsze radzenie sobie z zmiennością danych e-mail. Oceny rangi van der Waerdena były preferowane nad skalowaniem logaritmicznym i transformacjami kwantylowymi z trzech powodów: (1) Odporność na spamowanie funkcji odstawionych (np. ekstremalne częstotliwości słów), w przeciwieństwie do skalowania logarytmicznego, które wzmacnia szum niskich częstotliwości; (2) Zachowanie relacji porządkowych cech (kluczowe dla hierarchii wskaźników spamu, takich jak "free" vs. "win"), podczas gdy transformacje kwantowe spłaszczają rozkłady; (3) Normalizacja do [0,1], ułatwiając integrację mechanizmów uwagi i zapewniając spójne ważenie (Rysunek 2).

figure-introduction-2
Rysunek 2: Eksperymentalny diagram blokowy. (A-C) Przepływy pracy do klasyfikacji spamu, obejmujące obsługę danych, wybór cech, trening modelu, ocenę oraz porównanie z transformacją wyniku rangi Van der Waerden lub bez niej. Proszę kliknąć tutaj, aby zobaczyć większą wersję tej figurki.

Strukturalnie mechanizm posiada dwuwarstwową w pełni połączoną sieć do nieliniowej transformacji cech (Rysunek 2). Pierwsza warstwa, wyposażona w funkcję aktywacji LeakyReLU, zmniejsza wymiary wejściowe, wprowadzając nieliniowość i wprowadza warstwę Dropout w celu ograniczenia nadmiernego dopasowania. Druga warstwa, wykorzystując funkcję Sigmoidalną, generuje wagi uwagi, które pozwalają precyzyjnie określić znaczenie każdej cechy. Strategia regularizacji L1/L2 jest zintegrowana z modelem, aby zoptymalizować wybór cech, gdzie regularizacja L1 promuje rzadkość, skutecznie eliminując mniej istotne cechy, a regularizacja L2 zapobiega nadmiernemu dopasowaniu poprzez ograniczenie wielkości wag. W fazie treningowej stosuje się wielozadaniowe ramy uczenia, łączące utratę funkcji rekonstrukcji i utratę klasyfikacji w celu optymalizacji parametrów modelu. Pozwala to VWR-Attn-SVM precyzyjnie dostosować się do wysokowymiarowych, rzadkich cech TF-IDF tekstów e-maili, które są charakterystyczne dla złożonego charakteru treści e-maili.

Nasza metoda jest zoptymalizowana dla tekstowych zbiorów danych spamowych liczących od kilku tysięcy do dziesięciu tysięcy (np. Spambase, Indonesian Spam dataset (Supplemental File 1)) i wymaga standardowych zasobów obliczeniowych (procesor Intel Core i7, 16 GB RAM) do treningu; wnioskowanie może być uruchamiane na standardowym laptopie (Intel Core i5, 8 GB RAM) z opóźnieniem poniżej sekundy. Kluczowe ograniczenia obejmują ograniczoną wydajność w przypadku spamu niebędącego tekstem (np. spam osadzony w obrazach) oraz poleganie na strukturyzowanych funkcjach tekstu. W porównaniu z istniejącymi technologiami alternatywnymi, VWR-Attn-SVM ma kilka niezwykłych zalet. W przeciwieństwie do tradycyjnych metod uczenia maszynowego, nie opiera się wyłącznie na podstawowej ekstrakcji cech, lecz aktywnie uczy się ważyć cechy według ich znaczenia dzięki mechanizmowi rozszerzonej uwagi, aby lepiej uchwycić cechy bardziej istotne dla klasyfikacji spamu. W przeciwieństwie do modeli uczenia głębokiego, osiąga korzystną równowagę między wydajnością a efektywnością obliczeniową. Wymaga mniej zasobów obliczeniowych i krótszego czasu treningu, co czyni go bardziej odpowiednim dla szerokiego zakresu zastosowań, zwłaszcza tych o ograniczonych zasobach. To innowacyjne podejście ma zastosowanie nie tylko do konkretnego wykrywania spamu w systemach poczty, ale także ma potencjał do rozszerzenia na inne kanały komunikacji tekstowej, takie jak aplikacje do komunikacji, platformy społecznościowe czy usługi SMS, gdzie występują podobne problemy z rozpowszechnianiem niechcianych i złośliwych treści. Ogólnie rzecz biorąc, VWR-Attn-SVM stanowi znaczący postęp w dziedzinie wykrywania spamu, oferując bardziej praktyczne, efektywne i wszechstronne rozwiązanie do zwalczania uporczywego problemu spamu w cyfrowym krajobrazie komunikacyjnym.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Protokół

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

1. Przygotowanie eksperymentalne (Plik uzupełniający 2 i Plik uzupełniający 3)

  1. Opis danych: Załaduj otwarty zbiór danych spamowych z repozytorium uczenia maszynowego UCI dla wykrywania spamu30. Dokumentuj, że zbiór danych zawiera 4 601 przypadków z 57 ciągłymi cechami i 1 etykietą klasy, w tym 1 813 próbek spamu (39,4%) i 2 788 próbek niespamowych (60,6%) (Tabela 1).
  2. Import biblioteki
    1. Importuj niezbędne biblioteki (patrz Tabela materiałów).
    2. Ustaw globalne losowe zasiedzenie na 42 , aby zapewnić powtarzalność wyników.
  3. Konfiguruj ustawienia wykresów: używaj Times New Roman do angielskiego tekstu, rozwiąż problemy z wyświetlaniem znaków minus i ustaw rozmiar czcionki na 16 dla lepszej czytelności.

Tabela 1: Podsumowanie statystyk zbioru danych i definicji cech. Ta tabela przedstawia zmienne do klasyfikacji spamu, w tym częstotliwość słów (word_freq_WORD), częstotliwość znaków (char_freq_CHAR), metryki długości cyklu kapitałowego oraz zmienną klasy docelowej, wraz z opisami każdego typu i znaczenia zmiennej. Prosimy kliknąć tutaj, aby pobrać tę tabelę.

2. Eksperyment w celu weryfikacji statystycznego związku między cechami TF-IDF a etykietami (Plik uzupełniający 2 i Plik Uzupełniający 3)

  1. Wstępne przetwarzanie danych
    1. Załaduj zbiory danych (Plik uzupełniający 1): pierwszy zbiór danych: spambase.csv; Drugi zestaw danych: spam_indonesian.csv.
    2. Przeanalizuj rozmieszczenie etykiet spamowych i niespamowych oraz oblicz udział każdej kategorii.
    3. Zbinarizuj te cechy, używając średniej jako progu nadchodzącego testu chi-kwadrat.
      UWAGA: Upewnij się, że plik spamowy znajduje się we właściwym katalogu roboczym lub podaj pełną ścieżkę do pliku podczas używania polecenia odczytu.
  2. Wstępne przetwarzanie testów danych (Plik uzupełniający 2 i Plik uzupełniający 3)
    1. Użyj sklearn.feature_selection.chi2 do testu chi-kwadrat na binarnych cechach TF-IDF:
      Kod:
      Z importu sklearn.feature_selection Chi2
      chi2_values, p_values = chi2(df_binary, df['spam'])
      significant_features_chi2 = [feature_cols[i] dla i w np.where(p_values < 0.05)[0]]
      print(f"Liczba istotnych cech: {len(significant_features_chi2)}")
      Oczekiwany wynik: Podzbiór cech (np. 35 z 57) ze statystycznym powiązaniem z etykietami spamu, w tym słowa kluczowe takie jak "free" czy "report".
    2. Przeprowadź implementację używając sklearn.feature_selection.f_classif:
      Kod:
      Z sklearn.feature_selection importu f_classif
      f_values, f_p_values = f_classif(df[feature_cols], df['spam'])
      significant_features_f = [feature_cols[i] dla i w np.where(f_p_values < 0.05)[0]]
      print(f"Zachowane cechy: {len(significant_features_f)}")
      UWAGA: Zazwyczaj zachowuje 40-50 cech (w zależności od zbioru danych), częściowo nakładając się na wyniki chi-kwadrat.
      Przed przeprowadzeniem testów statystycznych zweryfikowaj format danych i parametry, aby zagwarantować dokładne wyniki.
  3. Wizualizacja
    1. Wybierz 20 najważniejszych cech o najmniejszych wartościach p z wyników testu chi-kwadrat.
    2. Generuj za pomocą seaborn.heatmap:
      Kod:
      Import Seaborn jako SNS
      top_indices = np.argsort(p_values)[:20]
      top_features = [feature_cols[i] dla i w górnych$\_$indeksach]
      corr_matrix = df[top_features + ['spam']].corr()
      plt.figure(figsize=(12, 10))
      sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
      plt.show()
      UWAGA: Oczekiwany wzorzec: Cechy związane ze spamem grupują się z etykietą spam na czerwono (dodatnia korelacja).

3. Klasyfikacja SVM z rozszerzoną uwagą do wykrywania spamu (Plik uzupełniający 2 i Plik uzupełniający 3)

  1. Wstępne przetwarzanie danych
    1. Ładowanie danych: Podziel dane za pomocą sklearn.model selection.train test split z fixed seed:
      Kod:
      z sklearn.model selection import train test split
      X train, X test, y train, y test = train test split (X, y, rozmiar testu=0,3, stan losowy=42)
    2. Standaryzacja i balansowanie klas: Implementacja poprzez imblearn.over sampling. SMOTE (Technika nadpróbkowania syntetycznych mniejszości (SMOTE)31):
      Kod:
      from imblearn.over sampling import SMOTE
      # Domyślne: strategia próbkowania='auto', k sąsiadów=5
      smote=SMOTE(stan losowy=42)
      X train smote, y train smote = smote.fit resample (X train, y train)
      Równoważy rozkład klas (np. z 85:15 do 50:50).
  2. Ulepszona architektura modeli uwagi cech: Projektuj mechanizm, który uczy się wag cech cech za pomocą wielowarstwowych transformacji nieliniowych. Przypisz większą wagę uwagi kluczowym elementom, aby zwiększyć ich wpływ.
    1. Wstępne przetwarzanie cech (opcjonalnie)
      1. Zastosuj transformację normalnych rang Van der Waerdena do cech wejściowych. Przekształć surowe cechy na przybliżony rozkład normalny, aby poprawić odporność modelu. Użyj wzoru:
        figure-protocol-1
        Gdzie x oznacza wektor cech TF-IDF próbki, R(x) to ranga wartości cechy, d to długość wektora (d=57), a φ-1 to odwrotna funkcja rozkładu skumulowanego standardowego rozkładu normalnego.
        UWAGA: Użyj parametru use_rank_transform (Boolea) do sterowania włączeniem normalnej transformacji rangi dla przetwarzania cech.
    2. Wielowarstwowa transformacja nieliniowa: Naucz się nieliniowej reprezentacji cech poprzez dwuwarstwową w pełni połączoną sieć.
      1. Transformacja pierwszej warstwy: Użyj wzoru:
        figure-protocol-2
        Gdzie W1 figure-protocol-3 R k×d i k=64 (ukryte neurony).
        Implementowane w Keras z LeakyReLU:
        Kod:
        z tensorflow.keras.layers import Dense
        self.dense1=Dense(units=64, # 256 dla VWR-Attn-SVM
        activation='leaky relu', # Domyślny ujemny spadek=0,01
        kernel regularizer=regularizers.l1 l2(l1=0,0002, l2=0,0002))
        UWAGA: Dodaj warstwę dropout o wskaźniku dropout 0,2, aby zapobiec nadmiernemu dopasowaniu.
      2. Transformacja drugiej warstwy: Zastosuj transformację drugiej warstwy za pomocą Sigmoida, aby wygenerować wagi uwagi w zakresie [0,1]. Użyj wzoru:
        figure-protocol-4
        Gdzie W,2figure-protocol-5, R×k i figure-protocol-6 Rk to wagi uwagi dla każdej cechy. Wybierz Sigmoid zamiast SoftMax, aby zachować niezależność od znaczenia wielu funkcji.
        Aktywacja Keras Sigmoid dla uwagi uwagi:
        Kod:
        self.dense2 = Dense(kształt wejściowy[-1], aktywacja='sigmoid',
        kernel regularizer=regularizers.l1 l2(l1=0,0002, l2=0,0002))
    3. Ważenie cech: Wzmacniaj ważne cechy, wykonując mnożenie po pierwiastkach z wagami uwagi. Użyj wzoru:
      figure-protocol-7
      Gdzie figure-protocol-8 oznacza mnożenie po elementach.
  3. Trenowanie modelu uwagi cech rozszerzonych
    1. Optymalizacja celów wielozadaniowych: Minimalizacja funkcji ważonej utraty łączącej straty rekonstrukcyjnej i utraty entropii krzyżowej, aby trenować model. Upewnij się, że mechanizm uwagi zachowuje kluczowe informacje, koncentrując się jednocześnie na cechach istotnych dla klasyfikacji. Użyj wzoru:
      figure-protocol-9
      Wykorzystaj straty błędu kwadratowego figure-protocol-10
      do rekonstrukcji cech wejściowych oraz zastosowania utraty entropii krzyżowej figure-protocol-11
      do zadania klasyfikacji.
      Implementuj niestandardową stratę wielozadaniową w PyTorch: Niestandardowa strata w Keras z alfa=0,5:
      Kod:
      model.compile(optimizer='adam',loss={
      'enhanced_feature_attention':'mse', 'klasyfikacja':
      'binary_crossentropy'},loss_weights={
      'enhanced_feature_attention': 0,5, 'klasyfikacja': 0,5})
      alfa=0,5 równowagi cech rekonstrukcyjnych (MSE) i klasyfikacji (entropia krzyżowa), prowadząc do stabilnej zbieżności w ciągu 50-100 epok.
      UWAGA: Zastosuj mieszaną regularizację L1/L2 (Elastic Net, domyślna siła 0,001) do obu w pełni połączonych warstw, aby poprawić wybór i uogólnienie.
    2. Ustawienia parametrów: Ustaw współczynnik wagi α, aby kontrolować względne znaczenie obu strat i użyj α = 0,5 w kodzie. Konfiguruj rozmiar partii na 64, ustaw liczbę epok na 200 i przydziel 10% danych do zestawu walidacyjnego.
    3. Dodaj funkcje odwołania.
      Callbacki Keras z domyślnymi parametrami:
      Kod:
      from tensorflow.keras.callbacks import EarlyStopping, ReduceLROnPlateau
      callbacks = [EarlyStopping(monitor='val_loss', patience=5, mode='min', restore_best_weights
      =True), ReduceLROnPlateau(monitor='val_loss', czynnik=0,5, cierpliwość=5, min_lr=0,0005, rozmówny=1)]
      1. Włącz callback EarlyStopping , aby zatrzymać proces treningowy, gdy strata walidacji nie poprawia się przez 5 kolejnych epok.
      2. Dodaj odwołanie ReduceLROnPlateau, aby adaptacyjnie dostosować tempo uczenia. Ustaw współczynnik zaniku na 0,5, a minimalny wskaźnik uczenia się na 0,0002.
    4. Generowanie cech uwagi i wagi: Po treningu wyodrębnij ciężarki uwagi z warstwy Enhanced Feature Attention. Generuj cechy ważone zarówno dla zestawów treningowych, jak i testowych. Wprowadź te cechy do klasyfikatora SVM.
  4. Ocena modelu
    UWAGA: Test 70-30 podział na trening równoważy trening i ocenę. SMOTE rozwiązuje nierównowagę klas, poprawiając wydajność na niezrównoważonych danych tekstowych. MinMaxScaler stabilizuje modele oparte na odległości. Jednostki: 64 (Attn-SVM) i 128 (VWR-Attn-SVM) o przepustowości bilansowej; 128 uwzględnia złożoność transformacji rang Van-der-Waerden. Dropout (0.2) zapobiega nadmiernemu dopasowaniu, standardowe dla małych i średnich zbiorów danych. Regularyzacja L1/L2 (0,0002-0,002): L1 indukuje rzadkość; L2 ogranicza wartość masy. Równe wagi strat (MSE: 0,5, entropia krzyżowa: 0,5) równoważą rekonstrukcję i naukę klasyfikacji. Epoki: 200 (Attn-SVM), 300 (VWR-Attn-SVM) z wczesnym zatrzymywaniem (cierpliwość=5), aby uniknąć nadmiernego przytrzymywania. Wielkość partii 64 łączy efektywność i stabilność. ReduceLROnPlateau (czynnik=0,5, cierpliwość=5-10) dostosowuje tempo uczenia (minimum 0,0001-0,0005) dla lepszej zbieżności.
    1. Projekt i porównania badań ablacji: Zdefiniuj następujące modele do porównania: Bazowe SVM: Tradycyjny SVM z jądrem Radial Basis Function (RBF); Attn-SVM: SVM z ulepszonym mechanizmem uwagi na funkcje; VWR-Attn-SVM: SVM łączący transformację Van der Waerdena z większą uwagą na funkcje.
    2. Metryki oceny (Tabela 2): Ocena wydajności modelu za pomocą dokładności, precyzji, przypomnienia, wyniku F1 oraz AUC.
  5. Wizualizacja uwagi i interpretacja modeli
    1. Wizualizacja wag uwagi kluczowych cech
      Matplotlib barplot dla top 15 funkcji:
      Kod:
      import matplotlib.pyplot jako plt
      top_indices = np.argsort(-avg_weights)[:15]
      top_features = [feature_names[i] dla i w top_indices]
      top_weights = avg_weights[top_indices]
      plt.figure(figsize=(12, 8))
      plt.barh(top_features, top_weights, color='skyblue')
      plt.xlabel ("Uwaga Weight")
      plt.title('Wagi na najwyższych elementach')
      plt.show()
    2. Porównanie wpływu normalnej transformacji rankingowej: Porównaj wydajność modelu (dokładność, precyzja, przypomnienie, wynik F1, AUC) z włączonymi use_rank_transform i bez nich. Wyróżnij kluczowe różnice w metryce w sformatowanej tabeli.
    3. Porównanie ważności cech: Analizuj spójność między ważnymi cechami zidentyfikowanymi przez testy statystyczne (np. chi-kwadrat) a mechanizmem uwagi.
      UWAGA: Jeśli zasoby obliczeniowe są ograniczone, zmniejsz liczbę jednostek (np. do 32) lub epoch (np. do 100). Dostosuj l1_reg/l2_reg , aby zrównoważyć złożoność modelu (wyższe wartości zwiększają regularizację).

4. Porównanie wielu klasyfikatorów (Plik uzupełniający 2 i Plik uzupełniający 3)

  1. Zdefiniuj słownik klasyfikatorów. Stwórz słownik klasyfikatorów do porównania, w tym KNN, Logistic Regression, AdaBoost, Naive Bayes oraz SVM z jądrem RBF (domyślne parametry).
  2. Zainicjalizuj DataFrames. Stwórz cztery DataFrames do przechowywania metryk oceny, z kolumnami: Classifier, Accuracy, Precision, Recall, F1-Score oraz AUC.
  3. Trenuj i oceniaj klasyfikatory. Dla każdego klasyfikatora wykonaj następujące kroki.
    Przykładowe klasyfikatory z parametrami i zalążkami:
    Kod:
    z sklearn.linear_model importu LogisticRegression
    z sklearn.svm import SVC
    lr = LogisticRegression(random_state=RANDOM_SEED, max_iter=1000)
    svm = GridSearchCV(SVC(random_state=RANDOM_SEED, prawdopodobieństwo=Prawdziwe),
    param_grid={'C': [0,001,0,01 1, 10,100,100], 'gamma': [0,001,0,01 1, 10,100,100],
    jądro': ['rbf', 'linear']}, cv=5, scoring='f1')
    UWAGA: Wszystkie modele używają random_state=42 dla powtarzalności.
    1. Trenuj klasyfikator na skalowanych danych treningowych.
    2. Przewiduj i obliczaj prawdopodobieństwa zarówno na zbiorach treningowych, jak i testowych.
    3. Generuj raporty klasyfikacyjne i przechowuj wskaźniki w odpowiednich DataFrame'ach.
  4. Integruj rozszerzone wyniki SVM. Włącz metryki wydajności z Attn-SVM i VWR-Attn-SVM (z Eksperymentu 3) do istniejących DataFrames.
  5. Wydrukuj porównawcze wyniki. Wyświetlaj tabele oceny dla e-maili niespamowych i spamowych zarówno w zestawach treningowych, jak i testowych.
  6. Wizualizuj wyniki. Użyj sns.barplot do wyznaczania metryk wydajności klasyfikatora. Obróć etykiety osi x o 45° dla czytelności. Zoptymalizuj układ i wyświetl wykres za pomocą plt.show().
    Interpretacja wyników, które sns.barplot są w stanie się wybrać:
    Kod:
    Import Seaborn jako SNS
    sns.barplot(x='Classifier', y='F1-Score', data=results)

5. Tabela porównawcza wielometrycznej wydajności różnych klasyfikatorów w czasie treningu/testu i pamięci (Plik Uzupełniający 4)

  1. Wstępne przetwarzanie danych: Ładowanie spambase.csv lub spam_indonesian.csv; Podzielone na 70% zestawów treningowych/30% testowych; standaryzuj funkcje za pomocą MinMaxScaler.
  2. Trening modelowy: Train KNN, Logistic Regression, AdaBoost, Naive Bayes, SVM (z wyszukiwaniem siatkowym), Attn-SVM oraz VWR-Attn-SVM.
  3. Ocena wydajności: Oblicz dokładność, precyzję, przywołanie, wynik F1 oraz AUC.
  4. Analiza zasobów: Zapisz czas treningu, czas testów i zużycie pamięci.
  5. Wizualizacja: Generuj wielometrykowe wykresy wydajności i wykresy zużycia zasobów.
    Kluczowe parametry: Losowe ziarno=42; siatka SVM (C:[0.01,0.1,1,1,10,100]; gamma:[0.01,0.1,1,1,10,100]; jądro:['rbf','linear']); modele uwagi wykorzystują dwuwarstwowe w pełni połączone sieci, regularizację L1/L2 oraz Dropout.
    Efekt: tabele wydajności, tabele zasobów, wykresy wielometrykowe, wykresy czasu/pamięci, wizualizacje wagi uwagi.

6. Wyniki eksperymentalne CNN, RNN, LSTM lub Transformers (Plik Uzupełniający 5)

  1. Wstępne przetwarzanie: Załaduj spambase.csv lub spam_indonesian.csv, w razie potrzeby stosuj SMOTE na nierównowagę klas, podziel na trening/test (70/30).
  2. Szkolenie: Buduj CNN, RNN, LSTM, TRANSFORMER; Adam (0,001), binarna entropia krzyżowa, batch_size=32, epochy=10, wczesne zatrzymanie (cierpliwość=5) oraz planowanie tempa uczenia się.
  3. Ocena: Dokładność obliczeń, Precyzja, Przywołanie, F1, AUC; Zapisuj czas treningu/testu oraz zużycie informacji.
  4. Wizualizacja: Generowanie wykresów porównawczych wyników i zasobów; Zapisz wyniki CSV.
  5. Wyjście: tabela wskaźników wydajności, tabela zużycia zasobów, wykresy porównawcze, pliki CSV.

7. Dodatkowe instrukcje kodu

  1. Aby uruchomić kod i odtworzyć ilustracje: umieść spam.csv lub spam_indonesian.csv w tym samym katalogu. Install dependencies via install numpy pandas matplotlib seaborn scikit-learn tensorflow imbalanced-learn psutil. Wykonaj skrypt; Automatycznie przetwarza dane, trenuje modele oraz generuje/wyświetla wszystkie wartości (mapy ciepła, wykresy wydajności) podczas wykonywania.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Wyniki

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

Na początek, zgodnie z ustalonym protokołem eksperymentalnym, Rysunek 1 przedstawia przegląd ogólnego schematu przepływowego tego badania. Rysunek 2, kolejno przedstawia schematy działania Eksperymentów 2. Dodatkowo, Tabela 1 przedstawia głównie częstotliwość słów i znaków w zbiorze danych spamowych e-maili, spam.csv.

W ocenie wydajności modelu zastosowano pięć kluczowych wskaźników: dokładność, precyzję, przypomnieni...

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Dyskusja

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

Badanie to potwierdziło skuteczność systemu VWR-Attn-SVM na podstawie zbioru danych Spambase, dostarczając informacji dotyczących problemów wysokowymiarowych i rzadkich danych spamowych. Eksperymenty wykazały, że tylko nieliczne cechy w danych spamowych mają silną korelację z etykietami; Tradycyjne modele traktują wszystkie cechy jednakowo, co prowadzi do słabej wydajności, podczas gdy mechanizm uwagi tego modelu może dynamicznie ważyć kluczowe cechy. Po integracji transformacji rangowej Van der Waerdena (VWR) model osią...

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Oświadczenia

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

Autorzy nie mają żadnych konfliktów interesów do ujawnienia.

Podziękowania

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

Dziękujemy Fujian Alliance of Mathematics (Grant nr 2023SXLMMS10) oraz Natural Science Foundation prowincji Fujian (2023J05083, 2022J011396, 2023J011434) za finansowanie tych prac.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Materiały

Lista materiałów użytych w tym artykule
NazwaFirmaNumer katalogowyKomentarze
Plik Dodatkowy 2: code_new.py; Plik uzupełniający 3: code_indonesian.py.
numpyDeweloperzy NumPyBiblioteka do obliczeń numerycznych w Pythonie
PandyZespół Rozwojowy PandasBiblioteka do manipulacji i analizy danych
matplotlibMatplotlib Developers Biblioteka do tworzenia statycznych, animowanych i interaktywnych wizualizacji
SeabornMichael Waskom i inni.Biblioteka wizualizacji danych statystycznych oparta na matplotlib
scikit-learnZespół deweloperski scikit-learnBiblioteka uczenia maszynowego zawierająca różne algorytmy klasyfikacji, regresji i klastrowania
tensorflowGoogleOpen-source framework uczenia maszynowego, w tym Keras API do budowy sieci neuronowych
imblearnProgramiści imbalanced-learnBiblioteka do obsługi niezrównoważonych zbiorów danych, w tym SMOTE do nadpróbkowania
OstrzeżeniaStandardowa biblioteka PythonaModuł do wysyłania komunikatów ostrzegawczych
Plik uzupełniający 4: code_compute_time.py
numpyDeweloperzy NumPyBiblioteka obliczeń numerycznych dla Pythona
PandyZespół Rozwojowy PandasBiblioteka manipulacji i analizy danych
matplotlibTwórcy MatplotlibBiblioteka wizualizacji do tworzenia wykresów i figur
SeabornMichael Waskom i inni.Biblioteka wizualizacji danych statystycznych oparta na matplotlib
scikit-learnZespół deweloperski scikit-learnBiblioteka uczenia maszynowego z narzędziami do klasyfikacji, regresji i wstępnego przetwarzania
tensorflowGoogleOpen-source framework uczenia maszynowego z Keras API dla sieci neuronowych
imblearnZespół deweloperów imbalanced-learnBiblioteka do obsługi niezrównoważonych zbiorów danych (obejmuje SMOTE)
OstrzeżeniaStandardowa biblioteka PythonaModuł do wysyłania komunikatów ostrzegawczych
GodzinaStandardowa biblioteka PythonaModuł funkcji związanych z czasem
psutilGiampaolo RodolaBiblioteka do pobierania informacji systemowych i monitorowania zużycia zasobów
system operacyjnyStandardowa biblioteka PythonaModuł do interakcji z systemem operacyjnym
Supplemental File 5: DNN.py.
PandyZespół Rozwojowy PandasBiblioteka manipulacji i analizy danych
numpyDeweloperzy NumPyBiblioteka obliczeń numerycznych dla Pythona
GodzinaStandardowa biblioteka PythonaModuł funkcji związanych z czasem
psutilGiampaolo RodolaBiblioteka do wyszukiwania informacji systemowych i monitorowania zasobów
matplotlibTwórcy MatplotlibBiblioteka wizualizacji do tworzenia wykresów i figur
scikit-learnZespół deweloperski scikit-learnBiblioteka uczenia maszynowego z narzędziami do wstępnego przetwarzania danych, wyboru modeli i metryk
imblearnZespół deweloperów imbalanced-learnBiblioteka do obsługi niezrównoważonych zbiorów danych (obejmuje SMOTE)
tensorflowGoogleOpen-source framework uczenia maszynowego z Keras API do budowy sieci neuronowych

Bibliografia

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).

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Przedruki i uprawnienia

Poproś o pozwolenie na ponowne wykorzystanie tekstu lub ilustracji tego artykułu JoVE

Poproś o pozwolenie

Tagi

Wyb r cechnormalizacja tekstuodporno na warto ci odstaj cemechanizm uwagidane wysokowymiaroweplatformy tekstowe

Powiązane artykuły