Panduan sederhana untuk validasi silang k-fold


Untuk mengevaluasi performa suatu model pada kumpulan data, kita perlu mengukur seberapa cocok prediksi yang dibuat oleh model tersebut dengan data yang diamati.

Cara paling umum untuk mengukurnya adalah dengan menggunakan mean square error (MSE), yang dihitung sebagai berikut:

MSE = (1/n)*Σ(y saya – f(x saya )) 2

Emas:

  • n: jumlah total observasi
  • y i : Nilai respon observasi ke-i
  • f(x i ) : Nilai respon prediksi observasi ke -i

Semakin dekat prediksi model dengan observasi, maka MSE akan semakin rendah.

Dalam praktiknya, kami menggunakan proses berikut untuk menghitung MSE model tertentu:

1. Bagilah kumpulan data menjadi kumpulan pelatihan dan kumpulan pengujian.

2. Buat model hanya dengan menggunakan data dari set pelatihan.

3. Gunakan model untuk membuat prediksi tentang rangkaian tes dan mengukur MSE tes tersebut.

Pengujian MSE memberi kita gambaran tentang seberapa baik kinerja model pada data yang belum pernah dilihat sebelumnya. Namun, kelemahan menggunakan satu set tes adalah tes MSE dapat bervariasi secara signifikan tergantung pada observasi yang digunakan dalam set pelatihan dan tes.

Salah satu cara untuk menghindari masalah ini adalah dengan menyesuaikan model beberapa kali menggunakan set pelatihan dan pengujian yang berbeda setiap kali, lalu menghitung UMK pengujian sebagai rata-rata dari semua UMK pengujian.

Metode umum ini dikenal sebagai validasi silang dan bentuk spesifiknya dikenal sebagai validasi silang k-fold .

Validasi silang K-Fold

Validasi silang K-fold menggunakan pendekatan berikut untuk mengevaluasi model:

Langkah 1: Bagi kumpulan data secara acak menjadi k kelompok, atau “lipatan”, dengan ukuran yang kira-kira sama.

Bagi kumpulan data menjadi k lipatan

Langkah 2: Pilih salah satu lipatan sebagai set pegangan Anda. Sesuaikan template dengan sisa k-1 lipatan. Hitung uji MSE pada pengamatan pada lapisan yang dikencangkan.

validasi silang k-fold

Langkah 3: Ulangi proses ini sebanyak k kali, setiap kali menggunakan himpunan berbeda sebagai himpunan pengecualian.

Contoh validasi silang k-fold

Langkah 4: Hitung keseluruhan UMK tes sebagai rata-rata dari k UMK tes tersebut.

Uji MSE = (1/k)*ΣMSE i

Emas:

  • k : Jumlah lipatan
  • MSE i : Menguji MSE pada iterasi ke-i

Bagaimana memilih K

Secara umum, semakin banyak lipatan yang kita gunakan dalam validasi silang k-fold, semakin rendah bias tes MSE tetapi semakin tinggi variansnya. Sebaliknya, semakin sedikit lipatan yang kita gunakan, semakin tinggi biasnya namun semakin rendah variansnya. Ini adalah contoh klasik dari tradeoff bias-varians dalam pembelajaran mesin.

Dalam praktiknya, kami biasanya memilih untuk menggunakan antara 5 dan 10 lapis. Sebagaimana dicatat dalam Pengantar Pembelajaran Statistik , jumlah lipatan ini telah terbukti memberikan keseimbangan optimal antara bias dan varians dan dengan demikian memberikan perkiraan MSE tes yang dapat diandalkan:

Ringkasnya, ada tradeoff bias-varians yang terkait dengan pilihan k dalam validasi silang k-fold.

Biasanya, dengan mempertimbangkan pertimbangan ini, seseorang melakukan validasi silang k-fold menggunakan k = 5 atau k = 10, karena nilai-nilai ini telah terbukti secara empiris menghasilkan perkiraan tingkat kesalahan pengujian yang tidak mengalami bias yang terlalu tinggi atau varians yang sangat tinggi.

-Halaman 184, Pengantar Pembelajaran Statistik

Manfaat Validasi Silang K-Fold

Saat kita membagi kumpulan data menjadi satu set pelatihan dan satu set pengujian, MSE pengujian yang dihitung berdasarkan observasi di set pengujian dapat bervariasi secara signifikan bergantung pada observasi yang digunakan dalam set pelatihan dan pengujian.

Dengan menggunakan validasi silang k-fold, kami dapat menghitung pengujian MSE menggunakan beberapa variasi set pelatihan dan pengujian yang berbeda. Hal ini memberi kita peluang lebih besar untuk mendapatkan perkiraan MSE pengujian yang tidak bias.

Validasi silang K-fold juga memberikan keunggulan komputasi dibandingkan Validasi Silang Tinggalkan Satu Keluar (LOOCV) karena hanya perlu menyesuaikan model sebanyak k kali, bukan n kali.

Untuk model yang memerlukan waktu lama untuk disesuaikan, validasi silang k-fold dapat menghitung MSE pengujian jauh lebih cepat daripada LOOCV dan dalam banyak kasus, MSE pengujian yang dihitung berdasarkan setiap pendekatan akan sangat mirip jika Anda menggunakan jumlah lipatan yang memadai.

Ekstensi Validasi Silang K-Fold

Ada beberapa ekstensi untuk validasi silang k-fold, termasuk:

Validasi silang k-fold berulang: Di sinilah validasi silang k-fold diulang sebanyak n kali. Setiap kali set pelatihan dan pengujian digabungkan, hal ini semakin mengurangi bias dalam estimasi MSE pengujian, meskipun penyelesaiannya memerlukan waktu lebih lama dibandingkan validasi silang k-fold biasa.

Validasi Silang Tinggalkan Satu Keluar: Ini adalah kasus khusus validasi silang k-fold di mana k = n . Anda dapat mempelajari lebih lanjut tentang metode ini di sini .

Validasi silang k-fold bertingkat: Ini adalah versi validasi silang k-fold di mana kumpulan data disusun ulang sedemikian rupa sehingga setiap lipatan mewakili keseluruhan. Sebagaimana dicatat oleh Kohavi , metode ini cenderung menawarkan trade-off yang lebih baik antara bias dan varians dibandingkan dengan validasi silang k-fold biasa.

Validasi Silang Bersarang: Di sinilah validasi silang k-fold dilakukan di setiap lipatan validasi silang. Ini sering digunakan untuk melakukan penyetelan hyperparameter selama evaluasi model.

Tambahkan komentar

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