Beranda Topics Pengambilan sampel ke atas Apa yang dimaksud upsampling?
Jelajahi upsampling dengan watsonx.ai Daftar untuk mendapatkan pembaruan AI
Ilustrasi dengan kolase piktogram monitor komputer, server, awan, titik-titik

Diterbitkan: 29 April 2024
Kontributor: Jacob Murel Ph.D.

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

Mengapa tata kelola AI merupakan keharusan bisnis untuk meningkatkan kecerdasan buatan perusahaan

Pelajari tentang hambatan adopsi AI, terutama kurangnya tata kelola AI dan solusi manajemen risiko.

Konten terkait

Daftar untuk mendapatkan panduan tentang model dasar

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

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 (Data Noise): 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 terdiri dari: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 noise. Dari sana, algoritme 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

Sumber daya terkait Apa itu downsampling atau penurunan sampel?

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

Apa itu overfitting

Dalam machine learning, overfitting terjadi ketika sebuah algoritme terlalu cocok atau bahkan persis dengan data pelatihannya, sehingga menghasilkan model yang tidak dapat membuat prediksi atau kesimpulan yang akurat dari data apa pun selain data pelatihan.

Apa itu Machine Learning (ML)?

Machine learning (ML) adalah cabang dari AI dan ilmu komputer yang berfokus pada penggunaan data dan algoritme yang memungkinkan AI meniru cara manusia belajar, dan secara bertahap meningkatkan akurasinya.

Ambil langkah selanjutnya

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.

Jelajahi watsonx.ai Pesan demo langsung
Catatan kaki

1 Haobo He dan Edwardo Garcia, Belajar dari Data yang Tidak Seimbang, IEEE, September 2009, https://ieeexplore.ieee.org/document/5128907 (tautan berada di luar ibm.com). (1,2,10)

2 Kumar Abishek dan Mounir Abdelaziz, Machine Learning untuk Data yang Tidak Seimbang, 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 dan Mounir Abdelaziz, Machine Learning untuk Data yang Tidak Seimbang, Packt, November 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (tautan berada di luar ibm.com). Alberto Fernandez, dkk., Belajar dari Kumpulan Data yang Tidak Seimbang, 2018.

4 Nitesh Chawla, dkk., SMOTE: Teknik Pengambilan Oversampling Minoritas Sintetis, JAIR, 01 Juni 2002, https://www.jair.org/index.php/jair/article/view/10302 (tautan berada di luar ibm.com).

5 Kumar Abishek dan Mounir Abdelaziz, Machine Learning untuk Data yang Tidak Seimbang, Packt, November 2023. Haobo He dan Edwardo Garcia, Belajar dari Data yang Tidak Seimbang, IEEE, September 2009, https://ieeexplore.ieee.org/document/5128907 (tautan berada di luar ibm.com).

6 Alberto Fernandez, et al., Belajar dari Kumpulan Data yang Tidak Seimbang, Springer, 2018.

7 Connor Shorten dan Taghi Khoshgoftaar, Survei tentang Augmentasi Data Gambar untuk Pembelajaran Mendalam, Springer, 06 Juli 2019**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (tautan berada di luar ibm.com).

8 Zhen Wei, Li Zhang, dan Lei Zhao, Teknik oversampling berbasis probabilitas prediksi Minoritas untuk pembelajaran yang tidak seimbang, 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, dkk., Teknik pengambilan sampel batas multilabel, 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 dan Stefan Lessmann, Oversampling berbasis Wasserstein GAN bersyarat pada data tabular untuk pembelajaran yang tidak seimbang, 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, dkk., Diagnosis kesalahan pada turbin angin dengan metode oversampling berbasis jaringan adversarial generatif, IOP Science, 12 Januari 2023, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta (tautan berada di luar ibm.com).