README / README.md
rafifaiz12's picture
Update README.md
00d0509 verified
|
Raw History Blame Contribute Delete
16.5 kB
metadata
language:
  - id
  - en
tags:
  - recommender-system
  - bundle-recommendation
  - popularity-bias
  - long-tail-exposure
  - controlled-reranking
  - collaborative-filtering
  - co-occurrence-graph
title: Analisis Eksperimen TA

Pemerataan Eksposur Produk Long-Tail pada Sistem Rekomendasi Bundle melalui Simplified Two-Stage Recommendation dan Controlled Reranking Layer

Repositori ini memuat implementasi penuh, catatan log eksekusi (logs/), pengujian unit otomatis (tests/), serta artefak hasil evaluasi (data/processed/) untuk penelitian Tugas Akhir mengenai Sistem Rekomendasi Paket (Bundle Recommendation) Dua Tahap yang Disederhanakan (Simplified Two-Stage Recommendation) dengan Lapisan Pengurutan Ulang Terkontrol (Controlled Reranking Layer).

Eksperimen dilakukan secara komprehensif pada dua dataset rilis Amazon Review Data (2018) yang memiliki karakteristik skala, kepadatan relasi graf (also_buy dan also_view), serta tingkat ketimpangan popularitas (popularity bias) yang kontras:

  1. Amazon 2018_Toys_and_Games (Skala Menengah – Katalog Spesifik/Ceruk dengan Distribusi Relasi Graf Merata)
  2. Amazon 2018_Movies_and_TV (Skala Masif – Katalog Blockbuster dengan Dominasi Bias Popularitas Ekstrem)

1. Analisis Eksperimen 1: Dataset 2018_Toys_and_Games

1.1. Karakteristik Data, Sparsity, dan Distribusi Popularitas Awal (Hari 1)

  • Penyaringan Skala Menengah: Dari 8.201.231 baris interaksi mentah dan 633.883 metadata produk, proses deduplikasi dan Iterative K-Core Filtering menghasilkan 1.025 pengguna aktif ($|U|$), 3.399 produk ($|I|$), dan 48.318 interaksi bersih (rata-rata $47,14$ transaksi per pengguna).
  • Kekayaan Relasi Graf & Kategori Asli: Terdapat 287 kategori unik (yang membentuk 3.434 unit kategori/ceruk evaluasi pada matriks evaluasi akhir). Setelah pembersihan dangling edges, tersisa 12.531 sisi also_buy dan 3.375 sisi also_view valid.
  • Protokol Masking & Sparsity: Pemisahan 80:20 mengunci 39.040 interaksi latih ($80,80%$) dan menyembunyikan 9.278 interaksi uji/masking ($19,20%$) dengan 0 kebocoran data (Zero Leakage). Matriks latih berukuran $1.025 \times 3.399$ memiliki tingkat Sparsity sebesar 98,8794%.
  • Karakteristik Kurva Long-Tail: Berdasarkan pembagian Pareto 20:30:50 pada Train Set (680 HEAD : 1.020 MID : 1.699 TAIL), 20% produk HEAD menguasai 33,70% dari total interaksi (dengan rentang frekuensi $[0, 77]$). Angka $33,70%$ ini menunjukkan bahwa meskipun terdapat bias popularitas, minat pengguna pada domain mainan dan permainan cukup tersebar ke berbagai produk spesifik/ceruk.

image

1.2. Performa Stage 1 (UBCF) & Stage 2 (Co-occurrence Graph) (Hari 2)

  • Stage 1 (Modified UBCF): Rata-rata ambang kepuasan pengguna ($\bar{r}_u$) adalah 4,2153 (rentang $[2.61, 5.00]$). Matriks kemiripan pengguna ($1.025 \times 1.025$) mencatat 303.852 pasangan kemiripan aktif, menghasilkan 3.444.935 prediksi valid dengan Seen-Item Leakage = 0. Rata-rata setiap pengguna memiliki 15,13 item Low-Rated ($L_u$) dan 23,11 item High-Rated ($H_u$) (dengan 52 pengguna ditangani melalui Uniform Rating Fallback).
  • Stage 2 (Co-occurrence Graph): Graf berarah memiliki 3.399 simpul dan 27.850 sisi aktif (buy = 12.531, view = 3.375, reverse = 12.684), dengan rata-rata kemiripan kategori antar-item sebesar 0,3403.
  • Temuan Skenario 1 (Baseline Top-10): Berkat padatnya jalur graf also_buy/also_view yang menghubungkan item Low-Rated langsung menuju item alternatif yang spesifik, model Baseline Two-Stage secara alami telah menghasilkan distribusi eksposur yang cukup seimbang yaitu 22,63% HEAD : 25,02% MID : 52,34% TAIL, dengan Recall@10 = 0.0340, NDCG@10 = 0.0494, dan Category Coverage@10 = 53,93%.

1.3. Hasil Evaluasi Controlled Reranking Layer pada 2018_Toys_and_Games (Hari 3)

Audit Fairness Guardrails pada Langkah 6.1 mengonfirmasi 0 pelanggaran filter histori (Seen-Item Violations = 0) dan 100% ketersediaan opsi kandidat HEAD maupun TAIL (1.025/1.025 pengguna).

Gambar 1. Komparasi Hasil Eksperimen Antar-Skenario pada 2018_Toys_and_Games

image

Gambar 2. Sensitivitas Grid Search $(\alpha, \beta)$ Skenario 3 pada 2018_Toys_and_Games

image

Temuan Kunci pada 2018_Toys_and_Games:

  1. Keunggulan Kualitas Posisi pada Skenario 2 (Top-k Balancing): Penempatan 30% kuota Head di posisi atas, 40% prediksi personalisasi di tengah, dan 30% Tail di akhir berhasil meraih NDCG@10 tertinggi (0.0497) sekaligus menaikkan Long-Tail Exposure@10 menjadi 56,10% tanpa menurunkan Category Coverage (53,93%).
  2. Fenomena Over-Penalization pada Skenario 3 Deterministik: Karena daftar kandidat Baseline pada Toys_and_Games sejak awal sudah memiliki proporsi Head yang rendah (22,63%), pemberian penalti deterministik $-\beta \cdot Pop(b)$ secara kaku mendorong daftar rekomendasi terlalu ekstrem ke arah item Tail (mencapai 88,12% hingga 95,05%). Akibatnya, item Head dan Mid yang relevan tereliminasi dan cakupan kategori menyempit dari 53,93% menjadi 43,59%.
  3. Kemenangan Mutlak Skenario 4 (Full Controlled Reranking / Roulette Wheel): Mekanisme probabilistik berbobot terbukti menjadi solusi paling unggul pada dataset ini. Skenario 4 berhasil meningkatkan akurasi tebakan masking melampaui Baseline (Recall@10 naik menjadi rata-rata 0.0360, mencapai puncak 0.0381 pada Trial 2, dibandingkan Baseline 0.0340) sekaligus melonjakkan Category Coverage@10 sebesar +14,83% (dari 53,93% menjadi 68,76%) dan menjaga Long-Tail Exposure@10 di 55,47%.

2. Analisis Eksperimen 2: Dataset 2018_Movies_and_TV

2.1. Karakteristik Data Skala Masif, Extreme Sparsity, dan Efek Blockbuster (Hari 1)

  • Penyaringan Skala Raksasa: Dari 8.765.568 baris interaksi mentah dan 203.766 metadata produk, tahap pembersihan dan Iterative K-Core Filtering menghasilkan 24.786 pengguna aktif ($|U|$), 37.280 produk ($|I|$), dan 1.109.238 interaksi bersih (rata-rata $44,75$ transaksi per pengguna). Ukuran ruang matriks interaksi mencapai 924.022.080 sel (~924 juta sel).
  • Kepadatan Graf & Kategori Asli: Terdapat 422 kategori unik (membentuk 8.709 unit kategori/ceruk evaluasi pada tahap evaluasi akhir) serta jaringan relasi asli yang sangat masif: 358.819 sisi also_buy dan 173.447 sisi also_view valid.
  • Protokol Masking & Extreme Sparsity: Pemisahan 80:20 mengisolasi 896.430 interaksi latih ($80,81%$) dan menyembunyikan 212.808 interaksi uji/masking ($19,19%$) dengan Zero Leakage. Matriks latih memiliki tingkat kekosongan yang sangat ekstrem yaitu Sparsity = 99,9030%.
  • Bukti Empiris Dominasi Blockbuster (Popularity Bias Berat): Pembagian Pareto 20:30:50 membagi katalog menjadi 7.456 HEAD : 11.184 MID : 18.640 TAIL. Analisis distribusi pada Train Set membuktikan ketimpangan yang sangat tajam: 20% produk HEAD memonopoli 66,89% dari seluruh interaksi pengguna (dengan frekuensi mencapai $1.120$ interaksi per produk).

image

2.2. Skalabilitas Vektorisasi Stage 1–2 & Bias Popularitas pada Baseline (Hari 2)

  • Efisiensi Vektorisasi Stage 1 (UBCF): Dengan rata-rata ambang kepuasan pengguna $\bar{r}_u = \mathbf{4,1156}$, algoritma Top-K Pruned Sparse Matrix Multiplication (scipy.sparse) berhasil menyelesaikan perhitungan matriks kemiripan $24.786 \times 24.786$ (4.944.639 pasangan kemiripan tersimpan dari 69,95 juta pasangan aktif) dan menghasilkan 923.125.650 prediksi valid hanya dalam waktu ~21 detik dengan Seen-Item Leakage = 0. Rata-rata pengguna memiliki 12,88 item $L_u$ dan 23,60 item $H_u$ (2.591 pengguna ditangani oleh Uniform Fallback).
  • Stage 2 (Co-occurrence Graph): Graf berarah memuat 37.280 simpul dan 626.500 sisi aktif (buy = 358.819, view = 173.447, reverse = 252.130). Perakitan 50 kandidat bundle ($B=3$) untuk seluruh 24.786 pengguna diselesaikan menggunakan Sparse Category Vectors dalam waktu ~5 menit.
  • Bukti Popularity Bias pada Skenario 1 (Baseline Top-10): Tanpa intervensi reranking, rekomendasi Baseline terjebak dalam bias popularitas yang parah: 73,85% slot rekomendasi dikuasai oleh item HEAD, 18,00% MID, dan hanya menyisakan 8,16% untuk item TAIL, dengan capaian Recall@10 = 0.0466, NDCG@10 = 0.0703, dan Category Coverage@10 = 69,40%.

2.3. Hasil Evaluasi Controlled Reranking Layer pada 2018_Movies_and_TV (Hari 3)

Audit Fairness Guardrails memastikan 0 pelanggaran histori (Seen-Item Violations = 0) dan 100% ketersediaan kandidat HEAD serta TAIL untuk seluruh 24.786 pengguna.

Gambar 3. Komparasi Hasil Eksperimen Antar-Skenario pada 2018_Movies_and_TV

image

Gambar 4. Sensitivitas Grid Search $(\alpha, \beta)$ Skenario 3 pada 2018_Movies_and_TV

image

Temuan Kunci pada 2018_Movies_and_TV:

  1. Efektivitas Skenario 2 (Top-k Balancing) dalam Menekan Monopoli Head: Pembagian kuota 30:40:30 berhasil meningkatkan Long-Tail Exposure@10 hampir 2,5 kali lipat (dari 8,16% menjadi 20,24%) dan menaikkan Category Coverage@10 sebesar +4,66% (menjadi 74,06%), sembari mempertahankan 97,85% kemampuan Recall@10 Baseline (0.0456 vs 0.0466).
  2. Peningkatan NDCG@10 & Keseimbangan Ideal pada Skenario 3 (Popularity-Aware):
    • Pada bobot penalti ringan $(\alpha=0.9, \beta=0.1)$, pengurangan skor terhadap film blockbuster yang terlalu generik terbukti menggeser item Mid/Tail yang lebih sesuai dengan konteks pengguna ke peringkat atas, sehingga NDCG@10 meningkat melampaui Baseline (0.0712 vs 0.0703) sembari melipatgandakan Long-Tail Exposure@10 menjadi 16,85%.
    • Pada titik optimal $(\alpha=0.8, \beta=0.2)$, sistem mencapai keseimbangan proporsi katalog yang sangat ideal yaitu 35,54% HEAD : 31,95% MID : 32,51% TAIL (Long-Tail Exposure naik 4x lipat dan Category Coverage naik +8,32% menjadi 77,72%).
  3. Rekor Cakupan Kategori Tertinggi pada Skenario 4 (Roulette Wheel): Pendekatan sampling probabilistik Skenario 4 mencatatkan Category Coverage@10 tertinggi di antara seluruh metode yaitu 81,02% (naik +11,62% dari Baseline), meningkatkan Long-Tail Exposure@10 lebih dari 3,3x lipat (27,57%), serta menunjukkan stabilitas antar-trial yang sangat kokoh (standar deviasi Recall dan NDCG hanya $\pm 0.0002$).

3. Analisis Komparatif Karakteristik Kedua Dataset (2018_Toys_and_Games vs. 2018_Movies_and_TV)

Pengujian lintas domain pada dua dataset dengan skala dan struktur distribusi yang berbeda memberikan pembuktian ilmiah mengenai bagaimana masing-masing mekanisme di dalam Controlled Reranking Layer beradaptasi terhadap karakteristik intrinsik data:

Tabel 1. Matriks Komparatif Karakteristik & Perilaku Model Lintas Dataset

Dimensi Perbandingan Dataset 1: 2018_Toys_and_Games Dataset 2: 2018_Movies_and_TV Implikasi & Analisis Ilmiah
1. Skala Katalog & Pengguna Menengah: $1.025$ pengguna $\times 3.399$ produk ($48.318$ interaksi; $\sim 3,48$ juta sel matriks) Masif: $24.786$ pengguna $\times 37.280$ produk ($1.109.238$ interaksi; $\sim 924$ juta sel matriks) Membuktikan skalabilitas komputasi arsitektur Vectorized Two-Stage + Reranking dari jutaan hingga hampir 1 miliar sel matriks.
2. Tingkat Sparsity & Konsentrasi Popularitas Awal Sparsity 98,88% | 20% produk HEAD menguasai 33,70% interaksi (Moderately Skewed). Sparsity 99,90% | 20% produk HEAD memonopoli 66,89% interaksi (Heavily Skewed / Blockbuster Effect). Industri film/TV memiliki konsentrasi popularity bias dua kali lipat lebih tajam dibanding mainan/permainan yang lebih terfragmentasi berdasarkan usia/hobi.
3. Struktur Graf & Ruang Kategori 27.850 sisi berarah | 287 kategori unik (3.434 ceruk evaluasi). 626.500 sisi berarah | 422 kategori unik (8.709 ceruk evaluasi). Keduanya memiliki graf asli yang padat, namun pada Movies_and_TV simpul film populer menjadi hub raksasa yang menarik jalur pencarian graf ke arah item Head.
4. Perilaku Model Baseline (Skenario 1) Distribusi awal sudah cukup merata (22,63% HEAD : 25,02% MID : 52,34% TAIL); Recall@10 = 0.0340, Cov@10 = 53,93%. Mengalami Popularity Bias ekstrem (73,85% HEAD : 18,00% MID : 8,16% TAIL); Recall@10 = 0.0466, Cov@10 = 69,40%. Ketika Train Set didominasi 66,89% oleh item Head (Movies_and_TV), UBCF dan Co-occurrence Graph secara alami memperkuat bias tersebut menjadi 73,85% di rekomendasi akhir.
5. Efektivitas Skenario 2 (Top-k Balancing 30:40:30) Unggul dalam memaksimalkan NDCG@10 (0.0497) dan menaikkan Tail ke 56,10%. Sangat efektif sebagai penyeimbang cepat (2,6 detik): menaikkan Tail 2,5x lipat (20,24%) dan Coverage +4,66% dengan loss akurasi hampir nol. Skema kuota kaku 30:40:30 berfungsi sebagai safety net yang menjamin batas minimum eksposur Tail sekaligus menjaga ketepatan posisi puncak lewat 40% slot prediksi.
6. Perilaku Skenario 3 (Popularity-Aware $\alpha, \beta$) Memicu over-penalization menuju Tail ekstrem (hingga 95,05%) karena Baseline sudah rendah Head. Sangat Efektif & Adaptif: Pada $(0.9, 0.1)$ meningkatkan NDCG@10 di atas Baseline (0.0712); pada $(0.8, 0.2)$ menciptakan proporsi sempurna 35,5% : 32,0% : 32,5%. Penalti linear $-\beta \cdot Pop(b)$ sangat krusial pada dataset berbias berat (Movies_and_TV) untuk meruntuhkan monopoli item Head, tetapi harus diatur ringan ($\beta \le 0.1$) pada dataset yang sudah seimbang.
7. Perilaku Skenario 4 (Roulette Wheel Selection) Arsitektur Terbaik Mutlak: Meningkatkan Recall@10 di atas Baseline (0.0360 vs 0.0340) dan melonjakkan Coverage +14,83% (ke 68,76%). Meraih Category Coverage@10 Tertinggi (81,02%, naik +11,62%) dan meningkatkan Tail 3,4x lipat (27,57%) dengan variansi sangat stabil ($\pm 0.0002$). Eksplorasi stokastik terbobot (Roulette Wheel) secara konsisten menjadi juara dalam memperluas cakupan kategori (Category Coverage) di kedua dataset tanpa terjebak pada penyempitan deterministik.

Kesimpulan Umum Penelitian

  1. Validasi Arsitektur Heuristik Dua Tahap: Kombinasi Modified User-Based CF (dengan Seen-Item Masking $-\infty$) dan Co-occurrence Graph (also_buy/also_view) terbukti mampu merakit kandidat bundle yang relevan secara efisien dan stabil hingga skala hampir 1 miliar sel matriks tanpa membutuhkan deep learning.
  2. Panduan Pemilihan Strategi Reranking Berdasarkan Karakteristik Katalog:
    • Untuk katalog dengan dominasi popularitas ekstrem (Blockbuster-Heavy seperti Movies_and_TV), Skenario 3 (Popularity-Aware Reranking pada $\alpha=0.9, \beta=0.1$ atau $\alpha=0.8, \beta=0.2$) dan Skenario 2 (Top-k Balancing) adalah pilihan terbaik untuk merombak monopoli item Head (dari 73,85% menjadi ~35,54%), meningkatkan eksposur long-tail hingga 4 kali lipat, serta mendongkrak kualitas urutan (NDCG@10).
    • Untuk katalog dengan preferensi ceruk yang tersebar (Niche-Rich seperti Toys_and_Games) atau ketika tujuan utama sistem adalah memaksimalkan keberagaman lintas kategori (Category Coverage), Skenario 4 (Full Controlled Reranking dengan Roulette Wheel Selection) merupakan metode paling superior karena mampu memperluas cakupan kategori sebesar +11,62% hingga +14,83% sekaligus meningkatkan peluang ditemukannya kembali item keranjang pengguna yang tersembunyi (Recall@10 melampaui Baseline).