docs: add thesis proposal draft and source map
This commit is contained in:
1 parent
2ab6d74433
commit
9b25d1b5e4
2 files changed
+740
No files matched your search
@@ -0,0 +1,130 @@
|
||||
# Proposal Source Map
|
||||
|
||||
Internal audit aid. Maps the substantive claims in `docs/proposal/THESIS_PROPOSAL_DRAFT.md` to
|
||||
repository evidence. This file is not a thesis chapter and is not intended for submission.
|
||||
|
||||
Evidence keys:
|
||||
|
||||
- `planningawal` = `planningawal/PROTEAN_Revisi_Lurus.md` (immutable specification)
|
||||
- `protocol` = `docs/research/EXPERIMENT_PROTOCOL.md`
|
||||
- `interp` = `docs/research/RESEARCH_SPEC_INTERPRETATION.md`
|
||||
- `baseline-inv` = `docs/baseline/PROTEAN_BASELINE_INVESTIGATION.md`
|
||||
- `dataset` = `docs/research/DATASET_INSPECTION.md`
|
||||
- `claims` = `docs/thesis/CLAIMS_REGISTER.md`
|
||||
- `synthesis` = `docs/research/FINAL_EXPERIMENTAL_SYNTHESIS.md`
|
||||
- `handoff` = `docs/handoff/SESSION_HANDOFF.md`
|
||||
- `artifacts` = `artifacts/analysis/final__*.{csv,json}`
|
||||
- `agents` = `AGENTS.md`
|
||||
|
||||
---
|
||||
|
||||
## 1. Research focus and mechanism
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| PROTEAN is a federated IDS that shares class prototypes (knowledge) and aggregates models for non-IID data | `planningawal` §1; `baseline-inv` §1 (source table); `interp` §1–2 |
|
||||
| The study focuses only on server-side prototype aggregation | `planningawal` §1, §11; `interp` §1, §11; `agents` §8 |
|
||||
| Global prototype is used both as a training alignment target and as the inference classifier (nearest prototype) | `planningawal` §1, §2 (Inferensi); `interp` §2; `protocol` §14 |
|
||||
| Local prototype is the mean embedding of a client's class-`j` samples | `planningawal` §2; `protocol` §14 |
|
||||
| PROTEAN Eq. (2) uses equal contribution (`1/M`) and contains no `N_ij` weight; Figure 1 "Weighted averaging" is not formalized | `planningawal` §2; `interp` §1–2 |
|
||||
| `N_ij` is class-specific sample support, not prototype quality | `planningawal` §4; `agents` §9; `claims` claim 10 |
|
||||
| A larger `N_ij` does not imply a better prototype | `planningawal` §4; `agents` §9 |
|
||||
|
||||
## 2. Missing-class handling and reproduction assumption
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| Eq. (2) does not state how a class unavailable on a client is handled | `planningawal` §3; `interp` §4 |
|
||||
| The proposal uses `S_j = { i | N_ij > 0 and valid C_ij }` as the participant set | `planningawal` §3, §5; `interp` §3; `protocol` §5 |
|
||||
| `S_j` is a documented reproduction assumption, not verified against official code | `planningawal` §3; `protocol` §5; `baseline-inv` §2 (no official code found) |
|
||||
| All results are conditional on the shared `S_j` assumption | `protocol` §5, §12; `claims` claim 12; `synthesis` §14 |
|
||||
|
||||
## 3. Proposed aggregation and beta semantics
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| Weighted form `Cbar_j(β) = Σ N_ij^β C_ij / Σ N_ij^β` | `planningawal` §5; `interp` §3 |
|
||||
| `β = 0` is equal weighting inside `S_j`, a control, not automatically the baseline | `planningawal` §5; `interp` §3 |
|
||||
| `β = 1` is support-proportional; equals the mean of included local class-`j` embeddings | `planningawal` §5; `interp` §3 |
|
||||
| `0 < β < 1` gives intermediate support influence | `planningawal` §5; `interp` §3 |
|
||||
| Candidate set `β ∈ {0, 0.25, 0.50, 0.75, 1.00}`, one value for all classes/clients | `planningawal` §7; `protocol` §5 |
|
||||
| `N_ij` is aggregation metadata; per-sample embeddings are not sent | `planningawal` §5 |
|
||||
| `β = 0` is not guaranteed bitwise identical to the baseline (floating-point order) | `claims` claim 12; `synthesis` §1, §7; per-condition `beta0_equivalence.csv` |
|
||||
|
||||
## 4. Novelty boundary and related work
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| Sample-count prototype weighting already exists; not novel by itself | `planningawal` §10; `interp` §1; `claims` claim 13 (note: claim numbering in `claims` file); `synthesis` §15 |
|
||||
| FedProto (Tan et al., 2022) already weights prototypes with class sample counts | `planningawal` §10 (Daftar Pustaka); `interp` §1 |
|
||||
| Novelty is framed around controlled `β` weighting in PROTEAN, validation tuning, paired multi-condition evaluation, and mechanism-level analysis | `planningawal` §10; `synthesis` §15; this proposal §1.7, §2.5 |
|
||||
| Contribution must not claim universal superiority or a global optimum | `planningawal` §7; `claims` claims 5, 7, 8, 9; `synthesis` §16 |
|
||||
|
||||
## 5. Datasets and protocol
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| Datasets: X-IIoTID and 5G-NIDD | `protocol` §1; `dataset` §1–2 |
|
||||
| X-IIoTID uses label `class2`, benign `Normal`, drops `crypto-ransomware`, K=9 | `protocol` §1; `dataset` §1 |
|
||||
| 5G-NIDD uses label `Attack Type`, benign `Benign`, K=9 | `protocol` §1; `dataset` §2 |
|
||||
| Dataset shapes: X-IIoTID 820,834 × 68; 5G-NIDD 1,215,890 × 52 | `dataset` §1–2 |
|
||||
| 10 clients; Dirichlet `α ∈ {0.75, 0.50, 0.25}` from training split only | `protocol` §2 |
|
||||
| Partitions are deterministic and stored as reusable manifests | `protocol` §2, §6, §12 |
|
||||
| Splits are stratified 70/10/20; validation is a project decision, test 20% follows the paper | `protocol` §3 |
|
||||
| Seeds `{0,1,2}` are project-defined | `protocol` §4 |
|
||||
| Hyperparameters: 10 rounds, 3 local epochs, batch 256, Adam lr 1e-3, `μ=0.1`, `λ=1.0` | `protocol` §5, §14, §15 |
|
||||
| Preprocessing is fitted on the training split only | `protocol` §13 |
|
||||
| Realized heterogeneity must be measured; `α` alone is insufficient | `planningawal` §9; `protocol` §10 |
|
||||
|
||||
## 6. Rare/unseen definition and selection
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| Rare classes per client: two attack classes with smallest positive training support | `planningawal` §9; `protocol` §7; `interp` §5 |
|
||||
| One class if only one exists; client excluded if no attack class | `protocol` §7; `interp` §5 |
|
||||
| Unseen classes (`N_ij = 0`) are evaluated separately and never merged with rare | `planningawal` §9; `protocol` §7; `interp` §5 |
|
||||
| Rare/unseen derived from training split before selection (no leakage) | `planningawal` §9; `protocol` §7 |
|
||||
| PRIMARY selection is pooled validation per-client rare-class macro-F1 across seeds | `planningawal` §7; `protocol` §8 |
|
||||
| Tie-break: pooled recall, then lower across-seed std, then smaller beta | `protocol` §8 |
|
||||
| Secondary per-seed selection is diagnostic only | `protocol` §8 |
|
||||
| Test is used only after `β` is fixed and never influences selection | `planningawal` §7; `protocol` §8; `synthesis` §3 |
|
||||
| Grid: 2 datasets × 3 α × 3 seeds × (baseline + 5 betas) | `protocol` §8, §12; `handoff` (grid complete) |
|
||||
| No significance testing promised with three seeds | `synthesis` §13; `handoff` §14 |
|
||||
|
||||
## 7. Metrics and analysis design
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| Primary metric is per-client rare-class macro-F1 | `planningawal` §7–8; `protocol` §8–9 |
|
||||
| Supporting metrics: rare recall, overall macro-F1, weighted-F1, accuracy, per-client, displacement, heterogeneity | `protocol` §9–11; `interp` §8 |
|
||||
| Direct prototype effect is separated from end-to-end training effect | `planningawal` §6, §9; `protocol` §11; `interp` §9 |
|
||||
| Displacement `||Cbar_j(β) − Cbar_j(0)||` is reported | `planningawal` §9; `protocol` §11 |
|
||||
| Rare-class evaluation support must be recorded | `planningawal` §9; `protocol` §9–10 |
|
||||
|
||||
## 8. Research evolution (narrowing)
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| The current scope excludes multiple simultaneous mechanisms and broad comparisons | `planningawal` §11; `interp` §11; `agents` §8 |
|
||||
| Earlier broad scope including Differential Privacy is not documented in this repository | Not found in repo (`grep` for "Differential Privacy" returns only this proposal's own note); treated as external context from the session instruction, not a repository claim |
|
||||
|
||||
## 9. Preliminary study statements
|
||||
|
||||
| Claim in proposal | Evidence |
|
||||
|---|---|
|
||||
| Implementation is feasible (baseline and `β` mode run on both datasets) | `protocol` §5, §15; baseline validation doc `docs/baseline/BASELINE_VALIDATION.md`; `handoff` |
|
||||
| Realized support imbalance is substantial at low `α` | `artifacts` (`final__realized_heterogeneity.csv`); `handoff` §8 |
|
||||
| Changing `β` shifts global prototypes at fixed local prototypes | `artifacts` (`final__prototype_displacement_by_beta.csv`); `synthesis` §7 |
|
||||
| Candidate preference can differ across non-IID conditions | `artifacts` (`final__pooled_validation_curves.csv`, `final__selection_strength.csv`); `handoff` |
|
||||
|
||||
Note: the preliminary-study section deliberately omits the final six-condition selections, the
|
||||
complete master table, and the final test results, consistent with preserving the proposal framing.
|
||||
|
||||
## 10. Items not yet evidenced in the repository (must be verified or added)
|
||||
|
||||
| Item | Status |
|
||||
|---|---|
|
||||
| FL-IDS / non-IID literature beyond PROTEAN and FedProto | Not present; metadata must be verified before citing |
|
||||
| The earlier Differential Privacy research design | Not documented in the repository; only described as external session context |
|
||||
| PROTEAN paper's own related-work citations | Not extracted into the repository |
|
||||
| Any bibliographic field not taken verbatim from `planningawal` or `baseline-inv` | Must be marked `[metadata perlu diverifikasi]` |
|
||||
@@ -0,0 +1,610 @@
|
||||
# JUDUL
|
||||
|
||||
**Optimasi Agregasi Prototype pada PROTEAN melalui Pembobotan Berbasis Dukungan Sampel Kelas
|
||||
untuk Deteksi Serangan Langka pada Data Non-IID**
|
||||
|
||||
*(Optimizing Prototype Aggregation in PROTEAN through Class-Sample-Support Weighting for Rare
|
||||
Attack Detection under Non-IID Data Distributions)*
|
||||
|
||||
Nama: Muhamad Wildan Rizky
|
||||
NIM: 20102520001
|
||||
|
||||
Dokumen ini adalah draf proposal tesis pada tahap awal. Fokus penelitian telah dipersempit pada
|
||||
satu mekanisme agregasi prototype di server PROTEAN. Draf ini belum memuat hasil akhir; bagian
|
||||
studi pendahuluan hanya digunakan sebatas menunjukkan kelayakan pelaksanaan.
|
||||
|
||||
---
|
||||
|
||||
# BAB I — PENDAHULUAN
|
||||
|
||||
## 1.1 Latar Belakang
|
||||
|
||||
Perkembangan jaringan yang terdistribusi, seperti jaringan IoT industri dan jaringan 5G, membuat
|
||||
volume lalu lintas yang harus diawasi oleh sistem deteksi intrusi (intrusion detection system,
|
||||
IDS) terus bertambah. Data lalu lintas tersebut umumnya tersebar pada banyak titik jaringan dan
|
||||
tidak selalu dapat dikumpulkan ke satu pusat. Pengumpulan data mentah secara terpusat menimbulkan
|
||||
beban komunikasi sekaligus masalah privasi, terutama ketika data merekam perilaku perangkat dan
|
||||
pengguna.
|
||||
|
||||
Federated Learning (FL) menawarkan cara untuk melatih model secara kolaboratif tanpa memindahkan
|
||||
data mentah ke server. Setiap client melatih model pada datanya sendiri, lalu hanya parameter model
|
||||
yang dikirim dan digabungkan oleh server. Pola ini sesuai untuk IDS karena data serangan dapat
|
||||
tetap berada di lokasi masing-masing. Namun, FL pada IDS menghadapi tantangan ketika distribusi
|
||||
kelas antar-client tidak seragam, atau non-IID. Sebagian client dapat memiliki jenis serangan yang
|
||||
sangat dominan, sementara client lain hanya memiliki sedikit contoh, bahkan tidak memiliki contoh
|
||||
sama sekali untuk kelas serangan tertentu.
|
||||
|
||||
Ketidakseimbangan kelas memperkuat masalah tersebut. Kelas serangan langka hanya muncul pada
|
||||
sebagian kecil data, sehingga rata-rata kinerja keseluruhan dapat terlihat baik meskipun model
|
||||
gagal mendeteksi kelas yang jarang. Pada konteks keamanan, kegagalan mendeteksi kelas langka justru
|
||||
berisiko, karena serangan yang jarang belum tentu tidak berbahaya. Karena itu, evaluasi yang hanya
|
||||
mengandalkan akurasi global kurang memadai, dan metrik per kelas seperti macro-F1 serta recall
|
||||
kelas langka menjadi lebih relevan.
|
||||
|
||||
Untuk menghadapi data non-IID, sebagian metode FL berbagi pengetahuan dalam bentuk prototype kelas,
|
||||
bukan hanya parameter model. Prototype kelas adalah representasi rata-rata embedding sampel pada
|
||||
suatu kelas. Dengan berbagi prototype, client dapat memanfaatkan representasi kelas yang mungkin
|
||||
tidak dimilikinya. PROTEAN (Chennoufi et al., 2025) merupakan salah satu metode federated intrusion
|
||||
detection yang menggunakan pertukaran prototype kelas bersama agregasi model pada data non-IID.
|
||||
Global prototype hasil agregasi di server digunakan pada dua proses: sebagai acuan prototype
|
||||
alignment saat pelatihan lokal dan sebagai pembanding embedding saat inferensi. Dengan demikian,
|
||||
cara server menggabungkan local prototype berpengaruh pada representasi kelas sekaligus pada
|
||||
keputusan deteksi.
|
||||
|
||||
Pada Persamaan (2) PROTEAN, kontribusi setiap local prototype terhadap global prototype bersifat
|
||||
sama, yaitu rata-rata sederhana. Padahal, local prototype kelas yang sama dapat dibentuk dari
|
||||
jumlah sampel yang sangat berbeda antarklien. Misalnya, satu client dapat memiliki ratusan sampel
|
||||
untuk suatu kelas, sementara client lain hanya memiliki beberapa sampel. Equal weighting memberi
|
||||
kontribusi yang sama kepada kedua prototype tersebut, tanpa mempertimbangkan perbedaan dukungan
|
||||
sampel yang membentuknya. Kondisi ini menimbulkan pertanyaan apakah cara penggabungan tersebut
|
||||
sudah sesuai, terutama untuk kelas serangan langka.
|
||||
|
||||
Di sisi lain, dukungan sampel yang lebih besar tidak otomatis berarti prototype yang lebih baik.
|
||||
`N_ij`, yaitu jumlah sampel kelas `j` pada client `i`, adalah ukuran dukungan sampel, bukan skor
|
||||
kualitas prototype. Prototype yang dibentuk dari sedikit sampel belum tentu buruk, dan prototype
|
||||
yang dibentuk dari banyak sampel belum tentu mewakili variasi serangan yang ingin dideteksi. Oleh
|
||||
karena itu, pengaruh dukungan sampel sebaiknya dikendalikan dan diuji, bukan diasumsikan selalu
|
||||
menguntungkan.
|
||||
|
||||
Penelitian ini mengusulkan mekanisme pembobotan yang dikendalikan oleh parameter `β`. Bobot
|
||||
kontribusi client `i` untuk kelas `j` adalah `N_ij^β`, dengan `0 ≤ β ≤ 1`. Nilai `β = 0`
|
||||
menghasilkan pembobotan seragam, `β = 1` menghasilkan pembobotan sebanding dengan dukungan sampel,
|
||||
dan nilai di antaranya memberi pengaruh yang lebih moderat. Karena pengaruh pembobotan diduga
|
||||
bergantung pada tingkat ketimpangan data, evaluasi dilakukan pada beberapa kondisi non-IID yang
|
||||
dibentuk dengan parameter Dirichlet `α` yang berbeda. Dengan pendekatan ini, penelitian diarahkan
|
||||
pada satu mekanisme yang dapat ditelusuri, bukan pada perbandingan banyak metode sekaligus.
|
||||
|
||||
## 1.2 Identifikasi Masalah
|
||||
|
||||
Berdasarkan latar belakang tersebut, masalah yang diteliti dapat dirumuskan sebagai berikut.
|
||||
|
||||
1. Jumlah sampel kelas `N_ij` untuk kelas yang sama dapat berbeda cukup besar antarklien pada data
|
||||
non-IID.
|
||||
2. Agregasi prototype pada PROTEAN tidak secara eksplisit mengendalikan besar kontribusi setiap
|
||||
client berdasarkan dukungan sampel kelas tersebut.
|
||||
3. Pembobotan seragam memberi pengaruh yang sama kepada seluruh client, dan belum tentu sesuai
|
||||
ketika dukungan sampel antarclient sangat timpang.
|
||||
4. Pembobotan penuh yang sebanding dengan `N_ij` juga belum tentu sesuai, karena dukungan sampel
|
||||
besar tidak otomatis berarti prototype yang lebih mewakili kelas langka.
|
||||
5. Hubungan antara kekuatan pembobotan, pergeseran global prototype, dan kinerja deteksi kelas
|
||||
langka belum dipahami dengan cukup baik.
|
||||
6. Kekuatan pembobotan yang sesuai diduga bergantung pada kondisi non-IID yang terealisasi, bukan
|
||||
hanya pada nilai `α` yang dipilih.
|
||||
|
||||
## 1.3 Gap Penelitian
|
||||
|
||||
### 1.3.1 Hal yang sudah diketahui
|
||||
|
||||
Pembelajaran FL berbasis prototype telah dikembangkan untuk menangani data yang heterogen. PROTEAN
|
||||
menggunakan pertukaran class prototype bersama agregasi model pada konteks federated intrusion
|
||||
detection dengan data non-IID. Pembobotan prototype yang melibatkan jumlah sampel kelas juga sudah
|
||||
ada pada penelitian lain, antara lain FedProto (Tan et al., 2022). Dengan demikian, penggunaan
|
||||
`N_ij` untuk membobot prototype bukan hal baru dengan sendirinya.
|
||||
|
||||
### 1.3.2 Hal yang masih belum memadai untuk lingkup penelitian ini
|
||||
|
||||
Yang belum dipahami secara memadai bukanlah keberadaan pembobotan berbasis jumlah sampel, melainkan
|
||||
perilakunya ketika diterapkan secara terkendali pada agregasi prototype PROTEAN. Secara khusus:
|
||||
|
||||
1. bagaimana pembobotan dukungan yang diatur oleh `β` mengubah posisi global prototype PROTEAN;
|
||||
2. apakah pembobotan yang lebih kuat selalu memperbaiki deteksi kelas langka, atau justru
|
||||
bergantung pada kondisi;
|
||||
3. bagaimana pengaruh tersebut berubah pada tingkat ketimpangan non-IID yang berbeda;
|
||||
4. bagaimana setiap client, terutama yang memiliki dukungan sampel kecil, memperoleh manfaat atau
|
||||
justru mengalami penurunan kinerja.
|
||||
|
||||
Gap penelitian ini bukan "belum ada yang menggunakan jumlah sampel", karena hal itu sudah ada pada
|
||||
penelitian sebelumnya. Gap-nya terletak pada pemahaman mekanisme dan kondisi penerapan pada
|
||||
agregasi prototype PROTEAN.
|
||||
|
||||
## 1.4 Rumusan Masalah
|
||||
|
||||
Berdasarkan gap di atas, rumusan masalah penelitian ini adalah sebagai berikut.
|
||||
|
||||
**RQ1.** Bagaimana hubungan antara ketimpangan dukungan sampel kelas, perbedaan local prototype,
|
||||
dan kinerja deteksi kelas langka pada PROTEAN?
|
||||
|
||||
**RQ2.** Bagaimana perubahan `β` memengaruhi global prototype dan kinerja deteksi kelas langka pada
|
||||
kondisi non-IID yang berbeda?
|
||||
|
||||
**RQ3.** Apakah nilai `β` yang dipilih melalui validasi berubah pada tingkat ketimpangan yang
|
||||
berbeda, dan apa dampaknya terhadap kinerja keseluruhan serta hasil per klien?
|
||||
|
||||
## 1.5 Tujuan Penelitian
|
||||
|
||||
Tujuan umum penelitian ini adalah mengevaluasi mekanisme agregasi prototype berbasis pembobotan
|
||||
dukungan sampel kelas yang dikendalikan oleh `β` pada PROTEAN, serta menganalisis perilakunya
|
||||
terhadap deteksi kelas langka pada data non-IID.
|
||||
|
||||
Tujuan khusus yang dijabarkan dari rumusan masalah adalah:
|
||||
|
||||
1. Menganalisis hubungan antara ketimpangan dukungan sampel kelas `N_ij`, pergeseran global
|
||||
prototype, dan kinerja deteksi kelas langka pada PROTEAN (menjawab RQ1).
|
||||
2. Menganalisis pengaruh nilai `β` terhadap global prototype dan kinerja deteksi kelas langka pada
|
||||
beberapa kondisi non-IID (menjawab RQ2).
|
||||
3. Menentukan nilai `β` melalui validasi pada tingkat ketimpangan yang berbeda dan menganalisis
|
||||
dampaknya terhadap kinerja keseluruhan serta hasil per klien (menjawab RQ3).
|
||||
|
||||
## 1.6 Batasan Penelitian
|
||||
|
||||
Agar pengaruh pembobotan dapat ditelusuri dengan jelas, penelitian ini dibatasi sebagai berikut.
|
||||
|
||||
1. Modifikasi hanya dilakukan pada tahap agregasi prototype di server.
|
||||
2. Pembentukan local prototype mengikuti mekanisme PROTEAN yang telah diverifikasi.
|
||||
3. Agregasi model, arsitektur model, fungsi loss beserta prototype alignment, dan aturan inferensi
|
||||
mengikuti baseline yang telah diverifikasi dan tidak diubah.
|
||||
4. Dataset yang digunakan adalah X-IIoTID dan 5G-NIDD.
|
||||
5. Jumlah client tetap 10, sesuai pengaturan PROTEAN.
|
||||
6. Kondisi non-IID dibentuk dengan distribusi Dirichlet pada beberapa nilai `α`, yaitu 0,75; 0,50;
|
||||
dan 0,25.
|
||||
7. Kandidat nilai `β` adalah {0; 0,25; 0,50; 0,75; 1,00}, dan satu nilai `β` digunakan untuk
|
||||
seluruh kelas dan client dalam satu eksperimen.
|
||||
8. Random seed yang digunakan adalah himpunan yang telah ditetapkan untuk proyek ini, yaitu
|
||||
{0, 1, 2}.
|
||||
9. Kelas langka ditentukan dari data training setiap client, bukan dari data validasi atau
|
||||
pengujian.
|
||||
10. Kelas yang tidak tersedia pada client (`N_ij = 0`) diperlakukan sebagai unseen class dan
|
||||
dianalisis terpisah dari kelas langka.
|
||||
11. Pemilihan `β` hanya menggunakan data validasi; data pengujian tidak digunakan untuk memilih
|
||||
`β`.
|
||||
12. Penanganan kelas yang tidak tersedia pada agregasi baseline, yaitu himpunan peserta `S_j`,
|
||||
merupakan asumsi reproduksi PROTEAN yang didokumentasikan dan tidak diuji kebenarannya
|
||||
terhadap kode resmi.
|
||||
|
||||
## 1.7 Kontribusi Penelitian
|
||||
|
||||
Kontribusi yang ditargetkan pada penelitian ini adalah sebagai berikut.
|
||||
|
||||
1. **Kontribusi metodologis.** Penerapan agregasi prototype terbobot dukungan sampel kelas yang
|
||||
dikendalikan oleh parameter `β` di dalam PROTEAN, dengan definisi peserta agregasi dan
|
||||
penanganan kelas tidak tersedia yang eksplisit.
|
||||
2. **Kontribusi eksperimental.** Evaluasi berpasangan pada dua dataset IDS, tiga tingkat non-IID,
|
||||
dan beberapa random seed, dengan partisi dan hyperparameter yang sama untuk setiap
|
||||
perbandingan.
|
||||
3. **Kontribusi analitis.** Analisis berantai yang menghubungkan ketimpangan dukungan sampel,
|
||||
bobot kontribusi, pergeseran prototype, kinerja kelas langka, dan dampak per klien.
|
||||
4. **Kontribusi praktis dan ilmiah.** Karakterisasi kondisi ketika pembobotan dukungan yang lebih
|
||||
kuat berpotensi membantu, berdampak kecil, atau merugikan kinerja kelas langka.
|
||||
|
||||
Kontribusi tersebut tidak mencakup klaim keunggulan umum, klaim optimalitas global, atau klaim
|
||||
bahwa pembobotan berbasis jumlah sampel merupakan hal yang baru dengan sendirinya.
|
||||
|
||||
---
|
||||
|
||||
# BAB II — TINJAUAN PUSTAKA
|
||||
|
||||
## 2.1 Federated Learning untuk Intrusion Detection
|
||||
|
||||
Federated Learning adalah pendekatan pelatihan model yang menjaga data tetap berada di sisi client.
|
||||
Server mengoordinasikan proses pelatihan dan menggabungkan parameter model, sementara data mentah
|
||||
tidak dipindahkan. Pendekatan ini menarik untuk IDS karena data lalu lintas jaringan sering
|
||||
tersebar, bersifat sensitif, dan tidak selalu dapat dikumpulkan secara terpusat.
|
||||
|
||||
Tantangan utama FL pada IDS adalah data antarclient yang non-IID. Setiap client mengamati pola
|
||||
lalu lintas yang berbeda, sehingga distribusi kelasnya tidak seragam. Sebagian client dapat
|
||||
memiliki kelas serangan yang dominan, sementara client lain jarang atau tidak pernah melihat kelas
|
||||
tersebut. Perbedaan ini dapat menurunkan kualitas model global jika proses agregasi tidak
|
||||
memperhatikan heterogenitas tersebut.
|
||||
|
||||
## 2.2 Class Imbalance dan Rare Attack pada FL-IDS
|
||||
|
||||
Pada data keamanan, jumlah sampel tiap kelas sangat tidak seimbang. Kelas benign biasanya jauh
|
||||
lebih banyak daripada kelas serangan, dan sebagian jenis serangan hanya muncul dalam jumlah kecil.
|
||||
Akibatnya, model dapat mencapai akurasi atau kinerja global yang terlihat baik dengan cara
|
||||
mengorbankan kelas minoritas.
|
||||
|
||||
Metrik yang hanya merangkum seluruh kelas, seperti akurasi global, kurang cocok untuk menilai
|
||||
deteksi kelas langka. Metrik seperti macro-F1 dan recall per kelas lebih relevan karena memberi
|
||||
bobot yang lebih seimbang pada setiap kelas. Karena itu, penelitian ini menggunakan macro-F1 kelas
|
||||
langka sebagai metrik utama, dengan metrik pendukung seperti recall kelas langka, macro-F1
|
||||
keseluruhan, dan hasil per klien.
|
||||
|
||||
## 2.3 Prototype-Based Federated Learning
|
||||
|
||||
Alih-alih hanya berbagi parameter model, sebagian metode FL juga berbagi prototype kelas.
|
||||
Prototype kelas adalah representasi ringkas dari suatu kelas dalam ruang embedding, biasanya berupa
|
||||
rata-rata embedding sampel kelas tersebut.
|
||||
|
||||
Sub-konsep yang penting untuk penelitian ini:
|
||||
|
||||
- **local prototype**, yaitu prototype kelas yang dibentuk oleh satu client dari data lokalnya;
|
||||
- **global prototype**, yaitu prototype kelas hasil agregasi server dari local prototype beberapa
|
||||
client.
|
||||
|
||||
Pertukaran prototype memungkinkan client memperoleh representasi kelas yang tidak dimilikinya
|
||||
secara lokal. Pada data non-IID, pendekatan ini dapat membantu client yang hanya memiliki sebagian
|
||||
kelas. Namun, kualitas global prototype sangat bergantung pada cara server menggabungkan local
|
||||
prototype.
|
||||
|
||||
## 2.4 PROTEAN
|
||||
|
||||
PROTEAN (Chennoufi et al., 2025) adalah metode federated intrusion detection untuk data non-IID
|
||||
yang menggabungkan pertukaran class prototype dengan agregasi parameter model. Mekanisme yang
|
||||
relevan dengan penelitian ini adalah sebagai berikut.
|
||||
|
||||
**Pembentukan local prototype.** Untuk kelas `j` yang memiliki `N_ij > 0` sampel pada client `i`,
|
||||
local prototype dihitung sebagai rata-rata embedding sampel kelas tersebut:
|
||||
|
||||
```
|
||||
C_ij = (1 / N_ij) * Σ_k z_ijk
|
||||
```
|
||||
|
||||
dengan `z_ijk` adalah embedding sampel ke-`k` pada kelas `j`.
|
||||
|
||||
**Agregasi di server.** Client mengirim parameter model dan local prototype ke server. Pada
|
||||
Persamaan (2) PROTEAN, global prototype kelas `j` dihitung sebagai rata-rata sederhana dari
|
||||
`M` peserta:
|
||||
|
||||
```
|
||||
Cbar_j = (1 / M) * Σ_i C_ij
|
||||
```
|
||||
|
||||
Perlu dicatat bahwa Gambar 1 pada paper menggunakan istilah "Weighted averaging", tetapi
|
||||
Persamaan (2) tidak memuat bobot berdasarkan `N_ij`. Rujukan formal yang digunakan dalam
|
||||
penelitian ini adalah persamaan tersebut.
|
||||
|
||||
**Pemanfaatan global prototype.** Server mengirimkan model global dan global prototype kembali ke
|
||||
client. Objective pelatihan lokal menggabungkan classification loss, prototype alignment terhadap
|
||||
global prototype, dan model parameter alignment. Pada inferensi, sampel baru diberi label kelas
|
||||
yang global prototype-nya memiliki jarak L2 terkecil terhadap embedding sampel. Karena global
|
||||
prototype dipakai sebagai acuan alignment sekaligus sebagai pembanding saat inferensi, posisinya
|
||||
berpengaruh langsung pada hasil klasifikasi.
|
||||
|
||||
**Ambiguitas penanganan kelas tidak tersedia.** Persamaan (2) menjumlahkan `M` peserta, tetapi
|
||||
tidak menjelaskan perlakuan ketika suatu client tidak memiliki kelas `j`. Dalam penelitian ini,
|
||||
himpunan peserta agregasi didefinisikan sebagai
|
||||
`S_j = { i | N_ij > 0 dan local prototype C_ij tersedia }`. Definisi ini merupakan asumsi
|
||||
reproduksi karena kode resmi PROTEAN tidak tersedia untuk diverifikasi. Konsekuensinya, hasil
|
||||
penelitian ini bersifat kondisional terhadap asumsi tersebut.
|
||||
|
||||
## 2.5 Support-Weighted Prototype Aggregation dan Penelitian Terkait
|
||||
|
||||
Pembobotan prototype berdasarkan jumlah sampel kelas sudah ada pada penelitian sebelumnya. FedProto
|
||||
(Tan et al., 2022) merupakan contoh yang membahas pembobotan prototype dengan melibatkan jumlah
|
||||
sampel kelas pada pembelajaran federasi yang heterogen. Karena itu, kebaruan penelitian ini tidak
|
||||
dapat dibangun hanya dari penggunaan `N_ij` atau penambahan parameter `β`.
|
||||
|
||||
Yang membedakan penelitian ini adalah penerapannya secara terkendali pada agregasi prototype
|
||||
PROTEAN, pemilihan `β` melalui validasi, evaluasi berpasangan pada beberapa kondisi non-IID, serta
|
||||
analisis mekanisme yang menghubungkan dukungan sampel, bobot kontribusi, pergeseran prototype, dan
|
||||
kinerja kelas langka sampai ke tingkat klien. Dengan kata lain, kontribusi diarahkan pada
|
||||
pemahaman perilaku mekanisme, bukan pada klaim bahwa pembobotan berbasis jumlah sampel belum pernah
|
||||
ada.
|
||||
|
||||
## 2.6 Posisi Penelitian
|
||||
|
||||
Secara ringkas, posisi penelitian ini dapat digambarkan sebagai berikut. Penelitian berbasis
|
||||
prototype untuk FL sudah ada, dan PROTEAN sudah menerapkannya pada konteks IDS non-IID.
|
||||
Pembobotan prototype dengan jumlah sampel kelas juga sudah dibahas di penelitian lain. Yang masih
|
||||
belum memadai adalah pemahaman mengenai bagaimana pembobotan dukungan yang dikendalikan `β`
|
||||
mengubah global prototype PROTEAN dan kapan perubahan tersebut berdampak pada deteksi kelas langka.
|
||||
Penelitian ini menempati posisi tersebut dengan membatasi diri pada agregasi prototype di server dan
|
||||
menganalisis perilakunya pada beberapa kondisi non-IID.
|
||||
|
||||
Tabel berikut hanya memuat penelitian yang didukung oleh rujukan yang tersedia di repositori.
|
||||
|
||||
| Studi | Fokus | Pembobotan prototype | IDS non-IID | Analisis kelas langka | Perbedaan dengan penelitian ini |
|
||||
|---|---|---|---|---|---|
|
||||
| Chennoufi et al. (2025), PROTEAN | Federated IDS berbasis prototype untuk data non-IID | Rata-rata sederhana pada Persamaan (2); tidak memuat bobot `N_ij` | Ya | Membahas kelas serangan dengan sampel paling sedikit | Penelitian ini menambahkan pembobotan dukungan terkendali `β` dan analisis mekanisme pada satu komponen agregasi |
|
||||
| Tan et al. (2022), FedProto | Federated prototype learning pada client heterogen | Melibatkan jumlah sampel kelas | Tidak khusus IDS | Tidak difokuskan pada deteksi serangan langka | Penelitian ini berfokus pada agregasi prototype PROTEAN dan kinerja kelas langka pada IDS non-IID |
|
||||
|
||||
Catatan: tinjauan pustaka ini masih terbatas pada dua rujukan yang sudah terverifikasi di
|
||||
repositori. Penambahan rujukan FL-IDS dan non-IID lain diperlukan, dan metadatanya perlu
|
||||
diverifikasi terlebih dahulu.
|
||||
|
||||
---
|
||||
|
||||
# BAB III — METODOLOGI PENELITIAN
|
||||
|
||||
## 3.1 Desain Penelitian
|
||||
|
||||
Penelitian ini merupakan studi eksperimental terapan. Satu komponen PROTEAN, yaitu agregasi
|
||||
prototype di server, dimodifikasi melalui pembobotan dukungan sampel kelas yang dikendalikan
|
||||
parameter `β`. Komponen lain dipertahankan sama dengan baseline. Evaluasi dilakukan secara
|
||||
berpasangan: untuk setiap kombinasi dataset, tingkat non-IID, dan random seed, seluruh kandidat
|
||||
`β` serta baseline menggunakan partisi, split, dan hyperparameter yang identik. Dengan cara ini,
|
||||
perbedaan hasil dapat ditelusuri ke mekanisme agregasi dan bukan ke perbedaan data atau
|
||||
konfigurasi pelatihan.
|
||||
|
||||
## 3.2 Dataset
|
||||
|
||||
Penelitian menggunakan dua dataset IDS yang berbeda karakteristiknya.
|
||||
|
||||
1. **X-IIoTID.** Dataset ini mencakup 820.834 baris dan 68 kolom. Label multi-kelas yang digunakan
|
||||
adalah `class2`, dengan label benign `Normal`. Satu kelas, yaitu `crypto-ransomware`, dihapus
|
||||
mengikuti paper karena jumlah instance validnya sangat sedikit. Setelah penghapusan tersebut
|
||||
terdapat 9 kelas (1 benign dan 8 kelas serangan).
|
||||
2. **5G-NIDD.** Dataset ini mencakup 1.215.890 baris dan 52 kolom. Label multi-kelas yang
|
||||
digunakan adalah `Attack Type`, dengan label benign `Benign`. Terdapat 9 kelas (1 benign dan
|
||||
8 kelas serangan).
|
||||
|
||||
Kedua dataset memiliki label benign dan sejumlah kelas serangan, sehingga sesuai untuk evaluasi
|
||||
kelas langka. Rincian karakteristik dan anomali tiap dataset dicatat pada dokumen inspeksi dataset
|
||||
di repositori.
|
||||
|
||||
## 3.3 Preprocessing dan Data Split
|
||||
|
||||
Preprocessing dilakukan dengan resep yang sama untuk kedua dataset dan diterapkan secara identik
|
||||
pada semua varian agregasi. Statistik preprocessing, seperti kategori one-hot encoding, nilai
|
||||
median untuk imputasi, dan standardisasi fitur numerik, dihitung hanya dari data training. Data
|
||||
validasi dan pengujian tidak boleh memengaruhi tahap ini.
|
||||
|
||||
Pembagian data dilakukan secara deterministik dan terstratifikasi per kelas dengan proporsi
|
||||
training, validasi, dan pengujian sebesar 70%, 10%, dan 20%. Proporsi pengujian 20% mengikuti
|
||||
pengaturan paper, sedangkan pemisahan validasi merupakan keputusan proyek yang diperlukan untuk
|
||||
pemilihan `β`. Setiap kombinasi dataset dan random seed menghasilkan satu split tetap, dan split
|
||||
tersebut digunakan kembali untuk seluruh kandidat `β`.
|
||||
|
||||
Partisi dan split disimpan sebagai manifest deterministik yang memuat `N_ij` per client dan kelas,
|
||||
metadata split, serta hash konten. Manifest ini digunakan kembali tanpa regenerasi pada setiap
|
||||
eksperimen, sehingga perbandingan tetap berpasangan.
|
||||
|
||||
## 3.4 Pembentukan Kondisi Non-IID
|
||||
|
||||
Kondisi non-IID dibentuk dengan distribusi Dirichlet simetris pada data training, dengan nilai `α`
|
||||
sebesar 0,75; 0,50; dan 0,25. Semakin kecil nilai `α`, semakin tidak merata sebaran kelas
|
||||
antarklien. Prosedur alokasi dijalankan secara deterministik dari data training, dan sebagian
|
||||
client dapat menerima nol sampel untuk suatu kelas; kelas seperti itu menjadi kelas yang tidak
|
||||
tersedia pada client tersebut.
|
||||
|
||||
Nilai `α` adalah parameter konfigurasi yang memengaruhi seberapa timpang data secara umum, tetapi
|
||||
tidak cukup untuk menggambarkan kondisi yang terealisasi. Karena itu, untuk setiap partisi dicatat
|
||||
statistik seperti total sampel per kelas, jumlah client yang memiliki kelas tersebut, koefisien
|
||||
variasi `N_ij` antarclient penyumbang, dan rasio maksimum terhadap minimum. Random seed yang
|
||||
berbeda dapat menghasilkan distribusi terealisasi yang berbeda meskipun `α`-nya sama, sehingga
|
||||
ketimpangan yang terealisasi perlu diukur, bukan hanya diasumsikan dari `α`.
|
||||
|
||||
## 3.5 Baseline PROTEAN
|
||||
|
||||
Baseline penelitian adalah reproduksi PROTEAN. Pada tahap agregasi, server menggabungkan model
|
||||
client dengan rata-rata sederhana dan menggabungkan local prototype menjadi global prototype.
|
||||
Local prototype kelas `j` pada client `i` dihitung sebagai rata-rata embedding sampel kelas
|
||||
tersebut, dan global prototype kelas `j` dihitung dari local prototype client yang menyumbang kelas
|
||||
tersebut.
|
||||
|
||||
Karena Persamaan (2) PROTEAN tidak menjelaskan penanganan kelas yang tidak tersedia, baseline
|
||||
menggunakan asumsi peserta agregasi `S_j = { i | N_ij > 0 dan C_ij tersedia }` dengan bobot seragam
|
||||
`1/|S_j|`. Asumsi ini didokumentasikan sebagai asumsi reproduksi dan tidak diverifikasi terhadap
|
||||
kode resmi. Perbedaan hasil antara baseline dan formulasi usulan harus diinterpretasikan dengan
|
||||
mempertimbangkan asumsi tersebut.
|
||||
|
||||
## 3.6 Metode yang Diusulkan
|
||||
|
||||
Mekanisme yang diusulkan mengatur bobot kontribusi setiap client berdasarkan dukungan sampel kelas
|
||||
`N_ij`, dengan kekuatan yang dikendalikan parameter `β` pada rentang `0 ≤ β ≤ 1`. Bobot client `i`
|
||||
untuk kelas `j` adalah:
|
||||
|
||||
```
|
||||
w_ij = N_ij^β
|
||||
```
|
||||
|
||||
Global prototype kelas `j` dihitung sebagai rata-rata terbobot:
|
||||
|
||||
```
|
||||
Cbar_j(β) = ( Σ_{i ∈ S_j} N_ij^β C_ij ) / ( Σ_{i ∈ S_j} N_ij^β )
|
||||
```
|
||||
|
||||
Interpretasi nilai `β`:
|
||||
|
||||
- `β = 0` memberi bobot yang sama kepada semua client dalam `S_j`, sehingga setara dengan
|
||||
pembobotan seragam. Nilai ini merupakan kontrol, bukan otomatis identik dengan baseline PROTEAN
|
||||
kecuali himpunan peserta dan penanganan kelas tidak tersedia juga sama.
|
||||
- `0 < β < 1` memberi pengaruh dukungan sampel yang lebih moderat; client dengan `N_ij` lebih besar
|
||||
memperoleh bobot lebih besar, tetapi tidak sepenuhnya proporsional.
|
||||
- `β = 1` memberi bobot sebanding dengan jumlah sampel kelas. Karena local prototype adalah rata-rata
|
||||
embedding, hasil agregasinya setara dengan rata-rata seluruh embedding kelas `j` yang disertakan
|
||||
pada round tersebut.
|
||||
|
||||
`N_ij` adalah ukuran dukungan sampel, bukan skor kualitas prototype. Pembobotan yang lebih besar
|
||||
tidak berarti prototype tersebut lebih benar; yang diuji adalah pengaruh pengaturan bobot terhadap
|
||||
global prototype dan deteksi.
|
||||
|
||||
Penelitian ini juga memisahkan dua jenis efek. Efek agregasi langsung diukur pada satu langkah
|
||||
dengan local prototype dan `N_ij` yang tetap, tanpa pelatihan ulang. Efek pelatihan menyeluruh
|
||||
diukur melalui pelatihan federasi penuh. Kedua jenis efek ini dianalisis secara terpisah agar
|
||||
pergeseran prototype tidak disamakan dengan perubahan kinerja deteksi.
|
||||
|
||||
## 3.7 Definisi Rare Class dan Unseen Class
|
||||
|
||||
Kelas langka ditentukan dari data training setiap client, sebelum pemilihan `β`, untuk menghindari
|
||||
kebocoran informasi dari data validasi atau pengujian.
|
||||
|
||||
Untuk setiap client:
|
||||
|
||||
- kelas langka adalah dua kelas serangan dengan jumlah sampel training positif paling sedikit;
|
||||
- jika hanya ada satu kelas serangan yang tersedia, kelas tersebut yang digunakan;
|
||||
- jika tidak ada kelas serangan yang tersedia, client tersebut tidak diikutsertakan dalam
|
||||
perhitungan metrik kelas langka;
|
||||
- kelas benign tidak pernah dianggap kelas langka.
|
||||
|
||||
Kelas serangan dengan `N_ij = 0` pada client didefinisikan sebagai **unseen class** dan dievaluasi
|
||||
secara terpisah. Kelas langka dan kelas unseen tidak pernah digabungkan dalam satu metrik, karena
|
||||
keduanya mengukur hal yang berbeda: kelas langka diuji pada client yang memiliki sedikit sampel,
|
||||
sedangkan kelas unseen diuji pada client yang tidak memiliki sampel sama sekali.
|
||||
|
||||
## 3.8 Protokol Pemilihan Beta
|
||||
|
||||
Pemilihan `β` dilakukan dengan aturan berikut.
|
||||
|
||||
**PRIMARY.** Untuk setiap kandidat `β`, hitung metrik rare-class macro-F1 per client pada data
|
||||
validasi, lalu rata-ratakan pada client yang memiliki kelas langka dalam satu seed. Skor tiap
|
||||
kandidat kemudian dirata-ratakan lintas seed untuk membentuk skor pooled pada satu kondisi non-IID.
|
||||
Nilai `β` terpilih adalah kandidat dengan skor pooled validasi terbaik. Jika terjadi seri, urutan
|
||||
tie-break yang digunakan adalah: pooled rare recall yang lebih tinggi, lalu standar deviasi
|
||||
antarseed yang lebih kecil, lalu nilai `β` yang lebih kecil.
|
||||
|
||||
**SECONDARY.** Pemilihan `β` per seed dihitung hanya sebagai diagnostik kestabilan. Hasil per seed
|
||||
bukan aturan pemilihan kondisi.
|
||||
|
||||
Data pengujian tidak digunakan pada tahap PRIMARY maupun SECONDARY. Setelah `β` terpilih dan
|
||||
ditetapkan, barulah data pengujian dievaluasi. Nilai yang dilaporkan adalah kandidat terbaik di
|
||||
antara nilai yang diuji pada prosedur validasi tersebut, bukan klaim optimum global.
|
||||
|
||||
## 3.9 Skenario Eksperimen
|
||||
|
||||
Rancangan evaluasi mencakup kombinasi berikut:
|
||||
|
||||
```
|
||||
2 dataset
|
||||
× 3 nilai α (0,75; 0,50; 0,25)
|
||||
× 3 random seed (0, 1, 2)
|
||||
× (baseline original PROTEAN + 5 kandidat β)
|
||||
```
|
||||
|
||||
Untuk setiap kombinasi dataset, `α`, dan seed, seluruh kandidat `β` dan baseline dilatih dan
|
||||
dievaluasi menggunakan partisi serta hyperparameter yang sama. Konfigurasi pelatihan yang
|
||||
dipertahankan sama meliputi jumlah client 10, jumlah communication round 10, jumlah local epoch 3,
|
||||
batch size 256, optimizer Adam dengan learning rate 1e-3, parameter `μ` sebesar 0,1 pada model
|
||||
parameter alignment, dan parameter `λ` sebesar 1,0 pada prototype alignment.
|
||||
|
||||
## 3.10 Metrik Evaluasi
|
||||
|
||||
Metrik utama penelitian ini adalah **rare-class macro-F1 per client**, dihitung pada client yang
|
||||
memiliki kelas langka, lalu dirata-ratakan antarklien dan antarseed. Metrik ini dipilih karena
|
||||
memberi gambaran kinerja pada kelas serangan yang jarang dan tidak tersembunyi oleh kelas yang
|
||||
dominan.
|
||||
|
||||
Metrik pendukung yang dilaporkan meliputi:
|
||||
|
||||
- recall kelas langka;
|
||||
- macro-F1 keseluruhan;
|
||||
- weighted-F1 dan akurasi, sebagai perbandingan dengan pengaturan paper;
|
||||
- hasil per klien;
|
||||
- pergeseran prototype `||Cbar_j(β) − Cbar_j(0)||` untuk analisis efek agregasi langsung;
|
||||
- statistik ketimpangan yang terealisasi, seperti koefisien variasi `N_ij` dan jumlah sel kelas
|
||||
yang tidak tersedia pada client.
|
||||
|
||||
Jumlah sampel evaluasi untuk kelas langka juga dicatat agar metrik tidak ditafsirkan tanpa melihat
|
||||
besarnya dukungan evaluasi.
|
||||
|
||||
## 3.11 Analisis Hasil
|
||||
|
||||
Analisis hasil direncanakan mencakup:
|
||||
|
||||
- kurva validasi `β` pada setiap kondisi non-IID;
|
||||
- nilai `β` terpilih pada setiap kondisi;
|
||||
- perbandingan deskriptif antara `β` terpilih dan baseline original PROTEAN;
|
||||
- karakterisasi ketimpangan yang terealisasi;
|
||||
- pergeseran prototype dan kaitannya dengan ketimpangan dukungan;
|
||||
- perilaku per klien, yaitu jumlah client yang membaik, memburuk, atau tidak berubah;
|
||||
- perbandingan lintas `α` pada satu dataset;
|
||||
- perbandingan lintas dataset pada tingkat `α` yang sama.
|
||||
|
||||
Dengan hanya tiga random seed per kondisi, penelitian ini tidak menjanjikan pengujian signifikansi
|
||||
statistik. Analisis ditekankan pada nilai rata-rata, variasi antarseed, dan pola yang dapat
|
||||
ditelusuri dari artefak yang tersimpan.
|
||||
|
||||
## 3.12 Validitas dan Reproducibility
|
||||
|
||||
Aspek yang dijaga untuk mendukung validitas dan reproduktibilitas:
|
||||
|
||||
1. **Perbandingan berpasangan.** Untuk setiap kombinasi dataset, `α`, dan seed, semua kandidat `β`
|
||||
menggunakan partisi, split, keanggotaan client, pemetaan kelas, dan hyperparameter yang sama.
|
||||
2. **Manifest beku.** Partisi dan split disimpan sebagai manifest deterministik dan digunakan
|
||||
kembali tanpa regenerasi.
|
||||
3. **Pemisahan validasi dan pengujian.** Data validasi digunakan untuk memilih `β`; data pengujian
|
||||
hanya digunakan setelah `β` ditetapkan.
|
||||
4. **Data mentah tidak berubah.** Dataset mentah berada di luar repositori dan hanya dibaca.
|
||||
Hash-nya dicatat untuk verifikasi integritas.
|
||||
5. **Sumber beku.** Arsitektur, agregasi model, fungsi loss, dan aturan inferensi tidak diubah
|
||||
selama eksperimen akhir.
|
||||
6. **Artefak machine-readable.** Hasil analisis disimpan dalam format CSV/JSON agar dapat
|
||||
diverifikasi ulang.
|
||||
7. **Asumsi `S_j`.** Penanganan kelas yang tidak tersedia merupakan asumsi reproduksi, sehingga
|
||||
seluruh hasil bersifat kondisional terhadap asumsi tersebut.
|
||||
8. **Divergensi floating-point.** `β = 0` setara secara semantik dengan rata-rata seragam pada
|
||||
`S_j`, tetapi kesamaan bitwise dengan baseline tidak dijamin karena urutan operasi
|
||||
floating-point.
|
||||
|
||||
---
|
||||
|
||||
# STUDI PENDAHULUAN
|
||||
|
||||
Bagian ini bersifat opsional dan hanya digunakan untuk menunjukkan kelayakan pelaksanaan. Isinya
|
||||
tidak dimaksudkan sebagai laporan hasil akhir.
|
||||
|
||||
Sebuah uji awal pada skala terbatas telah dilakukan untuk memastikan bahwa pipeline pelatihan,
|
||||
pembentukan partisi non-IID, dan agregasi prototype dapat dijalankan. Dari uji tersebut diperoleh
|
||||
beberapa indikasi awal:
|
||||
|
||||
1. **Kelayakan implementasi.** Baseline PROTEAN dan mode pembobotan `β` dapat dijalankan pada
|
||||
kedua dataset dengan konfigurasi yang sama.
|
||||
2. **Ketimpangan dukungan nyata.** Pada kondisi non-IID yang diuji, jumlah sampel kelas `N_ij`
|
||||
antarclient memang berbeda cukup besar, sehingga isu pembobotan relevan untuk diteliti.
|
||||
3. **Perubahan `β` menggeser prototype.** Mengubah `β` pada satu langkah agregasi dengan local
|
||||
prototype yang tetap mengubah posisi global prototype, sejalan dengan rumus yang diusulkan.
|
||||
4. **Preferensi kandidat dapat berbeda antar kondisi.** Indikasi awal menunjukkan bahwa kandidat
|
||||
`β` yang tampak lebih baik pada validasi dapat berbeda antara satu kondisi non-IID dan kondisi
|
||||
lainnya, sehingga pemilihan `β` perlu dilakukan per kondisi.
|
||||
|
||||
Indikasi di atas menjadi dasar untuk menjalankan protokol evaluasi lengkap pada Bab III. Studi
|
||||
pendahuluan ini tidak digunakan untuk menarik kesimpulan akhir mengenai kinerja deteksi kelas
|
||||
langka.
|
||||
|
||||
---
|
||||
|
||||
# CATATAN PERBAIKAN BERDASARKAN UMPAN BALIK AKADEMIK
|
||||
|
||||
Bagian ini bersifat internal untuk keperluan review dan tidak harus disertakan pada dokumen resmi.
|
||||
|
||||
**Arah penelitian sebelumnya.** Rancangan awal mencakup lingkup yang lebih luas, yaitu studi
|
||||
preservasi kelas langka dengan beberapa mekanisme sekaligus, termasuk Differential Privacy dan
|
||||
beberapa keluarga intervensi. Pada rancangan tersebut, banyak komponen berubah bersamaan sehingga
|
||||
sulit menisbahkan perubahan kinerja kepada satu mekanisme tertentu. Kontribusi berisiko menjadi
|
||||
perbandingan besar, bukan kajian metodologis yang fokus.
|
||||
|
||||
**Arah penelitian saat ini.** Lingkup dipersempit menjadi satu metode (PROTEAN), satu komponen
|
||||
(agregasi prototype di server), satu isu (local prototype dengan dukungan sampel yang berbeda dapat
|
||||
berkontribusi sama), dan satu mekanisme yang dapat disetel (`β`). Analisis diarahkan pada rantai:
|
||||
ketimpangan dukungan → bobot kontribusi → pergeseran global prototype → deteksi kelas langka →
|
||||
dampak per klien.
|
||||
|
||||
**Alasan metodologis.** Dengan memodifikasi satu komponen dan mempertahankan sisanya tetap, efek
|
||||
pembobotan dapat diinterpretasikan lebih jelas. Evaluasi berpasangan pada beberapa kondisi non-IID
|
||||
memungkinkan pembahasan kapan pembobotan membantu, berdampak kecil, atau merugikan, tanpa harus
|
||||
mengklaim keunggulan umum. Penambahan validasi untuk memilih `β` juga memisahkan proses pemilihan
|
||||
dari data pengujian.
|
||||
|
||||
**Catatan judul.** Judul saat ini dipertahankan. Kata "Optimasi" dapat dipahami sebagai pencarian
|
||||
terbaik di antara kandidat `β` yang diuji. Jika diperlukan penekanan bahwa yang dicari bukan
|
||||
optimum global, frasa seperti "Penyesuaian Terkendali" atau "Penalaan" dapat dipertimbangkan pada
|
||||
penyempurnaan judul. Penggantian judul tidak dilakukan pada draf ini.
|
||||
|
||||
---
|
||||
|
||||
# DAFTAR PUSTAKA
|
||||
|
||||
Chennoufi, S., Han, Y., Blanc, G., De Cristofaro, E., & Kiennert, C. (2025). PROTEAN: Federated
|
||||
Intrusion Detection in Non-IID Environments through Prototype-Based Knowledge Sharing. In
|
||||
*Proceedings of the 30th European Symposium on Research in Computer Security (ESORICS 2025)*
|
||||
(pp. 103–125). Springer. DOI: 10.1007/978-3-032-07884-1_6. arXiv:2507.05524v1.
|
||||
|
||||
Tan, Y., Long, G., Liu, L., Zhou, T., Lu, Q., Jiang, J., & Zhang, C. (2022). FedProto: Federated
|
||||
Prototype Learning across Heterogeneous Clients. In *Proceedings of the AAAI Conference on
|
||||
Artificial Intelligence*, 36(8), 8432–8440.
|
||||
|
||||
**Catatan referensi.** Dua rujukan di atas sudah didukung oleh dokumen di repositori. Rujukan
|
||||
tambahan mengenai FL untuk IDS, data non-IID, dan deteksi serangan langka masih diperlukan untuk
|
||||
memperkuat Bab II. Metadata rujukan tambahan tersebut belum tersedia di repositori dan harus
|
||||
diverifikasi terlebih dahulu sebelum dimasukkan; tidak ada metadata yang diisi berdasarkan
|
||||
perkiraan.
|
||||
Reference in new issue
Block a user