Pendahuluan Cross Validation

cross validation

Cross validation adalah metode untuk mengukur efisiensi model dengan training pada subset data input dan mengujinya pada subset data input yang sebelumnya belum dilihat model tersebut. Kita juga dapat mengatakan bahwa ini adalah teknik untuk memeriksa bagaimana performa model ke kumpulan data independen untuk mengukur generalisasi model tersebut dengan metode statistik.

Dalam machine learning, selalu ada kebutuhan untuk menguji stabilitas model. Untuk deployment ke level production, tentu model tidak bisa hanya diukur dengan data train. Untuk tujuan ini, digunakanlah metode sampling dari kumpulan data dan di simpan ke dalam suatu set untuk mengukur performa model, yang bukan bagian dari kumpulan data train. Setelah itu, model diuji dengan dataset tersebut sebelum penggunaan, dan proses lengkap ini berada di bawah cross validation. Ini adalah sesuatu yang berbeda dari train-test split umum.

Oleh karena itu, langkah-langkah dasar cross validation adalah:

  1. Cadangan subset dari dataset sebagai set validasi.
  2. Train model menggunakan set data train.
  3. Evaluasi performa model menggunakan set validasi. Jika model memiliki performa yang baik dengan set validasi.
  4. Lanjut ke langkah selanjutnya, jika tidak, periksa masalahnya (performa model).

Metode untuk Cross Validation :

  1. Validation Set Approach
  2. Leave-P-Out Cross-Validation
  3. Leave One Out Cross-Validation
  4. K-Fold Cross-Validation
  5. Stratified K-Fold Cross-Validation
  6. Metode Holdout

Validation Set Approach

Dataset terbagi menjadi input ke dalam training set dan set pengujian atau validasi dalam pendekatan set validasi. Kedua subset diberikan 50% dari dataset.

Tetapi memiliki salah satu kelemahan besar bahwa kami hanya menggunakan 50% dataset untuk meng-train model kami, sehingga model mungkin kehilangan untuk menangkap informasi penting dari dataset. Itu juga cenderung memberikan model yang kurang pas.

Leave-P-Out Cross-Validation

Dalam pendekatan ini, set data p ditinggalkan dari data train. Artinya, jika ada total n titik data pada dataset input asli, maka n-p titik data akan digunakan sebagai set data train dan p titik data sebagai set validasi. Proses lengkap ini diulang untuk semua sampel, dan kesalahan rata-rata dihitung untuk mengetahui keefektifan model.

Ada kelemahan dari teknik ini; yaitu, dapat menjadi sulit secara komputasi untuk p besar.

Leave-One-Out Cross-Validation (LOOCV)

Metode ini mirip dengan cross-validation leave-p-out, tetapi alih-alih p, kita perlu mengeluarkan 1 dataset dari training set. Artinya, dalam pendekatan ini, untuk setiap training set, hanya satu titik data yang dicadangkan, dan set data yang tersisa digunakan untuk meng-train model tersebut. Proses ini berulang untuk setiap titik data. Oleh karena itu untuk n sampel, kami mendapatkan n set dari data train dan n set untuk validasi yang berbeda. Ini memiliki fitur berikut:

Dalam pendekatan ini, bias-nya minimum karena semua titik data digunakan.

Proses dijalankan sebanyak n-kali. Dalam kata lain, maka waktu untuk menjalankan tinggi.

Pendekatan ini menyebabkan variasi yang tinggi dalam menguji keefektifan model saat kami memeriksa secara berulang terhadap satu titik data.

K-Fold Cross Validation

Pendekatan K-Fold cross validation membagi dataset input menjadi K kelompok sampel dengan ukuran yang sama. Sampel ini disebut fold. Untuk setiap training set, fungsi prediksi menggunakan fold k-1, dan fold lainnya digunakan untuk set evaluasi. Pendekatan ini merupakan pendekatan CV yang sangat populer karena mudah dipahami, dan outputnya kurang bias dibandingkan metode lainnya.

Langkah-langkah untuk K-Fold cross validation adalah:

  • Pisahkan dataset input menjadi grup K
  • Untuk setiap grup:
    • Ambil satu grup sebagai cadangan atau kumpulan data validasi.
    • Gunakan grup yang tersisa sebagai set data train.
    • Pasang model pada dataset training dan evaluasi kinerja model menggunakan set validasi.

Mari kita ambil contoh cross validation 5 kali fold. Jadi, dataset dikelompokkan menjadi 5 fold. Pada iterasi pertama, fold pertama dicadangkan untuk menguji model, dan sisanya digunakan untuk train model. Pada iterasi ke-2, fold kedua digunakan untuk menguji model, dan sisanya digunakan untuk training model. Proses ini akan terus berlanjut hingga setiap fold tidak digunakan untuk test fold.

Stratified K-Fold

Teknik ini mirip dengan k-fold cross-validation dengan sedikit perubahan. Pendekatan ini bekerja pada konsep stratifikasi, yaitu proses penataan ulang data untuk memastikan bahwa setiap fold atau kelompok merupakan perwakilan yang baik dari kumpulan data yang lengkap. Untuk mengatasi bias dan varians, ini adalah salah satu pendekatan terbaik.

Dapat dipahami dengan contoh harga rumah, sehingga harga beberapa rumah bisa jauh lebih tinggi dari rumah lainnya. Untuk mengatasi situasi seperti itu, metode Stratified K-Fold sangat berguna untuk mengevaluasi model tersebut.

Metode Holdout

Metode ini adalah teknik cross validation yang paling sederhana di antara semuanya. Dalam metode ini, kita perlu men-sample subset dari data train dan menggunakannya untuk mendapatkan hasil prediksi dengan men-train di bagian lain dari set data. Jenis metode cross validation ini sering digunakan untuk evaluasi model deep learning.

Kesalahan yang terjadi dalam proses ini memberi tahu seberapa baik model kami akan tampil dengan dataset yang tidak diketahui. Meskipun pendekatan ini sederhana untuk dilakukan, pendekatan ini masih menghadapi masalah varians yang tinggi, dan terkadang juga menghasilkan hasil yang menyesatkan.

Perbandingan Cross-Validation dalam Machine Learning

  • Train/test split: Data input dibagi menjadi dua bagian, yaitu training set dan test set pada rasio 70:30, 80:20, dll. Ini memberikan varians yang tinggi, yang merupakan salah satu kelemahan terbesar.
    • Data Train : Data train disini digunakan untuk menjalani training model, dan variabel dependen diketahui.
    • Data Validasi : Data validasi digunakan untuk membuat prediksi dari model yang sudah siap di train pada data validasi. Ini memiliki fitur yang sama dengan data train namun set yang digunakan merupakan set yang berbeda (set yang belum dilihat model machine learning tersebut).
  • Dataset Cross-Validation: Digunakan untuk mengatasi kelemahan dari train/test split dengan membagi dataset menjadi beberapa grup dari train/test split, dan merata-ratakan hasilnya. Ini dapat digunakan jika kita ingin mengoptimalkan model kita yang telah di-train pada data train untuk mencari performa terbaik. Ini merupakan cara yang efisien dibandingkan dengan training/test split karena setiap observasi digunakan untuk training dan testing keduanya.

Limitasi Cross-Validation

Ada beberapa keterbatasan metode cross-validation, yang diberikan di bawah ini:

Untuk kondisi ideal, cross-validation memberikan output optimal. Tetapi untuk data yang tidak konsisten, mungkin menghasilkan hasil yang drastis. Jadi, ini adalah salah satu kelemahan besar cross-validation, karena tidak ada kepastian jenis data dalam machine learning.

Dalam pemodelan prediktif, data berevolusi selama periode tertentu, sehingga mungkin menghadapi perbedaan antara training set dan set validasi. Seperti jika kita membuat model untuk prediksi nilai pasar saham, dan data tersebut di-train pada nilai saham 5 tahun sebelumnya, tetapi nilai masa depan yang realistis untuk 5 tahun ke depan mungkin berbeda secara drastis, sehingga sulit untuk mengharapkan yang benar. keluaran untuk situasi seperti itu.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *