Apa yang dimaksud upsampling?

Penyusun

Jacob Murel Ph.D.

Senior Technical Content Creator

Apa yang dimaksud upsampling?

Upsampling meningkatkan jumlah sampel data dalam kumpulan data. Cara ini bertujuan untuk memperbaiki data yang tidak seimbang dan dengan demikian meningkatkan kinerja model.

Upsampling, atau dikenal juga sebagai oversampling, adalah teknik pemrosesan dan pengoptimalan data yang mengatasi ketidakseimbangan kelas dalam kumpulan data dengan menambahkan data. Upsampling menambahkan data dengan menggunakan sampel asli dari kelas minoritas sampai semua kelas memiliki ukuran yang sama. Baik Python scikit-learn dan Matlab berisi fungsi bawaan untuk mengimplementasikan teknik upsampling.

Upsampling untuk ilmu data sering disalahartikan sebagai upsampling dalam pemrosesan sinyal digital (DSP). Keduanya memiliki esensi yang sama tetapi berbeda. Layaknya upsampling dalam ilmu data, upsampling untuk DSP secara artifisial menciptakan lebih banyak sampel dalam domain frekuensi dari sinyal input (khususnya sinyal waktu diskrit) dengan menginterpolasi kecepatan sampling yang lebih tinggi. Sampel baru ini dihasilkan dengan menyisipkan angka nol ke dalam sinyal asli dan menggunakan low pass filter untuk interpolasi. Hal ini berbeda dengan bagaimana data di-upsampling dalam penyeimbangan data.

Upsampling untuk penyeimbangan data juga berbeda dari upsampling dalam pemrosesan gambar. Pada bagian yang terakhir, gambar resolusi tinggi pertama-tama dikurangi resolusinya (piksel dihapus) untuk komputasi yang lebih cepat, setelah itu konvolusi mengembalikan gambar ke dimensi aslinya (menambahkan kembali piksel).

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Mengapa menggunakan upsampling?

Upsampling adalah cara yang efektif untuk mengatasi ketidakseimbangan dalam kumpulan data. Kumpulan data yang tidak seimbang didefinisikan sebagai kumpulan data di mana satu kelas sangat kurang terwakili dalam kumpulan data relatif terhadap populasi yang sebenarnya, menciptakan bias yang tidak diinginkan. Misalnya, bayangkan seorang model dilatih untuk mengklasifikasikan gambar sebagai menunjukkan kucing atau anjing. Kumpulan data yang digunakan terdiri dari 90% kucing dan 10% anjing. Kucing dalam skenario ini terlalu banyak diwakili, dan jika kita memiliki pengklasifikasi yang memprediksi kucing setiap saat, maka akan menghasilkan akurasi 90% untuk mengklasifikasikan kucing, tetapi 0% untuk mengklasifikasikan anjing. Kumpulan data yang tidak seimbang dalam kasus ini akan menyebabkan pengklasifikasi mengutamakan akurasi untuk kelas mayoritas dengan mengorbankan kelas minoritas. Masalah yang sama dapat muncul dengan kumpulan data dalam beberapa kelas.1

Proses upsampling dapat mengatasi masalah kumpulan data yang tidak seimbang. Proses ini mengisi kumpulan data dengan titik-titik yang disintesis dari karakteristik kelas minoritas kumpulan data asli. Hal ini menyeimbangkan kumpulan data dengan secara efektif meningkatkan jumlah sampel untuk kelas minoritas yang kurang terwakili hingga kumpulan data berisi rasio poin yang sama di semua kelas.

Meskipun ketidakseimbangan dapat dilihat hanya dengan membuat plot jumlah titik data di setiap kelas, hal ini tidak menunjukkan apakah model akan sangat terpengaruh. Untungnya, kita dapat menggunakan metrik kinerja untuk mengukur seberapa baik teknik upsampling mengoreksi ketidakseimbangan kelas. Sebagian besar metrik ini adalah untuk klasifikasi biner, di mana hanya ada dua kelas: positif dan negatif. Biasanya, kelas positif adalah kelas minoritas sedangkan kelas negatif adalah kelas mayoritas. Dua metrik populer adalah kurva Karakteristik Operasi Penerima (Receiver Operating Characteristic atau ROC) dan kurva penarikan presisi.1

Mixture of Experts | 12 Desember, episode 85

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Keuntungan dan kerugian dari upsampling

Keuntungan

  • Tidak Ada Kehilangan Informasi: Tidak seperti downsampling, yang menghilangkan titik data dari kelas mayoritas, upsampling menghasilkan titik data baru, sehingga tidak ada informasi yang hilang.
  • Meningkatkan Data dengan Biaya Rendah: Upsampling sangat efektif, dan sering kali menjadi satu-satunya cara, untuk meningkatkan ukuran kumpulan data sesuai permintaan dalam kasus-kasus di mana data hanya dapat diperoleh melalui observasi. Misalnya, kondisi medis tertentu terlalu jarang untuk memungkinkan lebih banyak data dikumpulkan.

Kekurangan

  • Pencocokan yang berlebihan (overfitting): Karena upsampling menciptakan data baru berdasarkan data kelas minoritas yang ada, pengklasifikasi dapat melakukan overfitting pada data tersebut. Upsampling mengasumsikan bahwa data yang ada cukup menangkap realitas; jika tidak demikian, pengklasifikasi mungkin tidak dapat melakukan generalisasi dengan baik.
  • Kebisingan Data: Upsampling dapat meningkatkan jumlah noise pada data, sehingga mengurangi keandalan dan kinerja pengklasifikasi.2
  • Kompleksitas Komputasi: Dengan meningkatkan jumlah data, pelatihan pengklasifikasi akan menjadi lebih mahal secara komputasi, yang dapat menjadi masalah ketika menggunakan komputasi cloud.2

Teknik upsampling

Oversampling acak

Oversampling acak adalah proses penggandaan titik data secara acak pada kelas minoritas hingga ukuran kelas minoritas sama dengan kelas mayoritas.

Kendati sifatnya serupa, oversampling acak berbeda dari bootstrapping. Bootstrapping adalah teknik pembelajaran ensemble yang mengambil sampel ulang dari semua kelas. Sebaliknya, pengambilan sampel oversampling acak hanya dari kelas minoritas. Oversampling acak dengan demikian dapat dipahami sebagai bentuk bootstrapping yang lebih khusus.

Terlepas dari kesederhanaannya, oversampling acak memiliki keterbatasan. Karena oversampling acak hanya menambahkan titik data duplikat, hal ini dapat menyebabkan overfitting.3 Namun, metode ini masih memiliki banyak keunggulan dibandingkan metode lainnya: kemudahan dalam implementasi, tidak memerlukan asumsi peregangan data, dan kompleksitas waktu yang rendah karena algoritme yang sederhana.2

SMOTE

Synthetic Minority Oversampling Technique, atau SMOTE, adalah teknik upsampling yang pertama kali diperkenalkan pada tahun 2002 yang menyintesis titik-titik data baru dari titik yang ada di kelas minoritas.4 Prosesnya terdiridari:2

  1. Menemukan K tetangga terdekat untuk semua titik data kelas minoritas. K biasanya 5.
  2. Ulangi langkah 3-5 untuk setiap titik data kelas minoritas:
  3. Pilih salah satu K tetangga terdekat titik data.
  4. Pilih titik acak pada segmen garis yang menghubungkan kedua titik ini dalam ruang fitur untuk menghasilkan sampel keluaran baru. Proses ini dikenal sebagai interpolasi.
  5. Tergantung seberapa banyak upsampling yang diinginkan, ulangi langkah 3 dan 4 menggunakan tetangga terdekat yang berbeda.

SMOTE mengatasi masalah overfitting dalam pengambilan sampel acak dengan menambahkan data baru yang sebelumnya tidak terlihat ke dalam kumpulan data, bukan hanya menduplikasi data yang sudah ada sebelumnya. Untuk alasan ini, beberapa peneliti menganggap SMOTE sebagai teknik upsampling yang lebih baik daripada oversampling acak.

Di sisi lain, pembuatan titik data buatan SMOTE menambahkan noise ekstra ke kumpulan data, yang berpotensi membuat pengklasifikasi menjadi lebih tidak stabil.1 Titik sintetis dan noise dari SMOTE juga dapat secara tidak sengaja menyebabkan keadaan tumpang tindih antara kelas minoritas dan mayoritas yang tidak mencerminkan kenyataan, yang mengarah pada apa yang disebut dengan generalisasi yang berlebihan.5

Borderline SMOTE

Salah satu ekstensi yang populer, Borderline SMOTE, digunakan untuk mengatasi masalah noise kumpulan data buatan dan untuk membuat titik data yang 'lebih sulit'. Titik data 'yang lebih sulit' adalah titik data yang dekat dengan batas keputusan, dan karena itu lebih sulit untuk diklasifikasikan. Titik yang lebih sulit ini lebih berguna untuk dipelajari oleh model.2

Borderline SMOTE mengidentifikasi titik-titik kelas minoritas yang dekat dengan berbagai titik kelas mayoritas dan memasukkannya ke dalam set BAHAYA. Titik BAHAYA merupakan titik data yang 'sulit' untuk dipelajari, karena lebih sulit untuk diklasifikasikan dibandingkan dengan titik yang dikelilingi titik kelas minoritas. Proses seleksi ini mengecualikan titik-titik yang tetangga terdekatnya hanya berupa titik kelas mayoritas, yang dihitung sebagai derau. Dari sana, algoritma SMOTE berlanjut seperti biasa menggunakan kumpulan data dalam kategori BAHAYA ini.3

ADASYN

Adaptive Synthetic Sampling Approach (ADASYN) menyerupai Borderline SMOTE karena menghasilkan data yang lebih sulit untuk dipelajari oleh model. Namun, ini juga bertujuan untuk mempertahankan distribusi data kelas minoritas.6 Hal ini dilakukan dengan terlebih dahulu membuat distribusi tertimbang dari semua titik minoritas berdasarkan jumlah contoh kelas mayoritas di lingkungannya. Dari sana, lebih sering digunakan titik-titik kelas minoritas yang lebih dekat dengan kelas mayoritas dalam menghasilkan data baru.

Prosesnya berjalan sebagai berikut:2

  1. Buat model KNN pada seluruh kumpulan data.
  2. Setiap titik kelas minoritas diberi "faktor kesulitan", dilambangkan sebagai r, yang merupakan rasio jumlah titik kelas mayoritas terhadap jumlah total tetangga dalam KNN.
  3. Seperti SMOTE, titik-titik yang dihasilkan secara sintetis merupakan interpolasi linier antara data minoritas dan tetangganya, tetapi jumlah titik yang dihasilkan berskala dengan faktor kesulitan titik. Yang dilakukan selanjutnya adalah menghasilkan lebih banyak titik di area dengan data minoritas yang lebih sedikit dan lebih sedikit titik di area yang lebih banyak.

Transformasi/augmentasi data

Augmentasi data membuat data baru dengan membuat variasi data. Augmentasi data berlaku di berbagai bidang machine learning.

Bentuk paling dasar dari augmentasi data berkaitan dengan transformasi input mentah dari kumpulan data. Misalnya, dalam visi komputer, augmentasi gambar (pemotongan, pengaburan, pencerminan, dan sebagainya) dapat digunakan untuk membuat lebih banyak gambar bagi model untuk diklasifikasikan. Demikian pula, augmentasi data juga dapat digunakan dalam tugas pemrosesan bahasa alami, seperti mengganti kata-kata dengan sinonimnya atau membuat kalimat yang setara secara semantik.

Para peneliti telah menemukan bahwa augmentasi data secara efektif meningkatkan akurasi model untuk tugas visi komputer dan NLP karena menambahkan data serupa dengan biaya rendah. Namun demikian, penting untuk memperhatikan beberapa peringatan sebelum menjalankan teknik ini. Untuk penambahan geometri tradisional, “keamanan” transformasi harus diperhatikan sebelum menjalankannya. Misalnya, memutar gambar angka “9” akan membuatnya tampak seperti angka “6”, sehingga mengubah makna semantiknya.7

Penelitian terbaru

Ekstensi SMOTE dan pembelajaran mendalam telah menjadi fokus teknik upsampling dalam beberapa tahun belakangan. Metode-metode ini bertujuan untuk meningkatkan kinerja model dan mengatasi beberapa kekurangan dari upsampling, seperti bias yang diperkenalkan dalam distribusi kelas minoritas.

Beberapa pengembangan dalam SMOTE termasuk SMOTE probabilitas-prediksi-minoritas (MPP-SMOTE), yang mengambil sampel berdasarkan estimasi probabilitas untuk melihat setiap sampel kelas minoritas.8 Multi-Label Borderline Oversampling Technique (MLBOTE) telah diusulkan untuk memperluas SMOTE ke klasifikasi multikelas.9 Keduanya telah mengungguli semua varian SMOTE yang ada dan mempertahankan pola dalam data asli.

Neural networks juga telah digunakan untuk mengembangkan teknik oversampling. Generative Adversarial Networks telah menarik minat beberapa pihak, memberikan hasil yang menjanjikan, meskipun waktu pelatihan membuat teknik ini lebih lambat daripada metode upsampling tradisional lainnya.10

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses satu atap ke kemampuan yang mencakup siklus hidup pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung
Catatan kaki

1 Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, September 2009, https://ieeexplore.ieee.org/document/5128907 (tautan berada di luar ibm.com). (1,2,10)

2 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (tautan berada di luar ibm.com). (3,4,6,8,9,12,14-17)

3 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (tautan berada di luar ibm.com). Alberto Fernandez, et al., Learning from Imbalanced Data Sets, 2018.

4 Nitesh Chawla, et al., SMOTE: Synthetic Minority Over-sampling Technique, JAIR, 1 Juni 2002, https://www.jair.org/index.php/jair/article/view/10302 (tautan berada di luar ibm.com).

5 Kumar Abishek and Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023. Haobo He and Edwardo Garcia, Learning from Imbalanced Data, IEEE, September 2009, https://ieeexplore.ieee.org/document/5128907 (tautan berada di luar ibm.com).

6 Alberto Fernandez, et al., Learning from Imbalanced Data Sets, Springer, 2018.

7 Connor Shorten and Taghi Khoshgoftaar, A survey on Image Data Augmentation for Deep Learning, Springer, 6 Juli 2019**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (tautan berada di luar ibm.com).

8 Zhen Wei, Li Zhang, and Lei Zhao, Minority prediction probability based oversampling technique for imbalanced learning, Science Direct, 06 Desember 2022, https://www.sciencedirect.com/science/article/abs/pii/S0020025522014578?casa_token=TVVIEM3xTDEAAAAA:LbzQSgIvuYDWbDTBKWb4ON-CUiTUg0EUeoQf9q12IjLgXFk0NQagfh0bU3DMUSyHL_mjd_V890o (tautan berada di luar ibm.com).

9 Zeyu Teng, et al., Multi-label borderline oversampling technique, ScienceDirect, 14 September 2023, https://www.sciencedirect.com/science/article/abs/pii/S0031320323006519?casa_token=NO8dLh60_vAAAAAA:AWPCvCP8PQG43DvkQFChZF2-3uzB1GJBBtgPURevWe_-aR0-WTbLqOSAsiwxulNAuh_4mIDZx-Y (tautan berada di luar ibm.com).

10 Justin Engelmann and Stefan Lessmann, Conditional Wasserstein GAN-based oversampling of tabular data for imbalanced learning, 15 Juli 2021, ScienceDirect, https://www.sciencedirect.com/science/article/abs/pii/S0957417421000233?casa_token=O0d1BtspA8YAAAAA:n2Uv3v2yHvjl9APVU9V_13rQ9K_KwT0P__nzd6hIngNcZJE-fmQufDgR6XT1uMmDBHx8bLXPVho (tautan berada di luar ibm.com). Shuai Yang, et al., Fault diagnosis of wind turbines with generative adversarial network-based oversampling method, IOP Science, 12 Januari 2023, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta (tautan berada di luar ibm.com).