Pengesahan model — nota kuliah penuh
Sumber: Sains Data · Modul 3 — Pengesahan Model · Coursera · Andrew Park · kuliah 46 minit
Mengapa membahagikan data
Pelajaran- Matlamat: menganggarkan prestasi model pada data yang tidak pernah dilihat — satu-satunya metrik yang penting.
- Mod kegagalan: jika anda hanya menilai prestasi pada set latihan, setiap model kelihatan hebat — termasuk yang buruk.
- Prinsip yang dipegang: tiada keputusan (pilihan model, hiperparameter) boleh menggunakan set ujian SEBELUM penilaian akhir.
- Mengapa tidak melatih lebih banyak lagi: ketepatan set latihan dibatasi oleh kapasiti model; ia tidak memberitahu anda tentang generalisasi.
- Analogi Prof: "menggunakan ketepatan latihan adalah seperti menggred esei anda sendiri" — cap waktu 14:48.
Pembahagian Tiga Hala
Pelajaran- Set latihan: digunakan untuk menyesuaikan parameter model melalui algoritma pembelajaran.
- Set pengesahan: digunakan untuk menala hiperparameter dan memilih antara model — disentuh berkali-kali.
- Set ujian: digunakan tepat SEKALI pada penghujungnya untuk menganggar prestasi dunia sebenar.
- Kenapa tiga bukan dua: jika anda menala pada set ujian, ia menjadi set latihan kedua — anda akan terlalu yakin tentang generalisasi.
- Kesilapan biasa: melihat skor set ujian dan kembali untuk mengubah suai model — membatalkan set ujian.
Nisbah Pembahagian Lazim
Pelajaran- 70/15/15: lalai untuk set data sederhana (1k–100k sampel).
- 80/10/10: biasa apabila 10–100k sampel tersedia dan CV akan digunakan pada set latihan.
- Data besar 98/1/1: dengan 1 juta+ sampel, 1% masih boleh menjadi 10k — cukup untuk anggaran yang stabil.
- Alternatif data kecil: di bawah ~1k sampel, gunakan pengesahan silang dan bukannya set pengesahan tetap.
Stratifikasi
Pelajaran- bila: gunakan pensampelan berstrata apabila sasaran mempunyai ketidakseimbangan kelas atau kejadian yang jarang berlaku.
- Bagaimana: mengekalkan nisbah kelas merentas pemisahan latihan/pengesahan/ujian — menghalang secara tidak sengaja mendapat 0 sampel positif dalam set pengesahan.
- alat: StratifiedKFold dalam scikit-learn atau train_test_split(stratify=y).
- Berterusan y: untuk regresi, tong sasaran ke dalam kuantiti dan susun pada tong.
Pengesahan silang (pratonton pelajaran 3.3)
Pelajaran- k-lipat CV: set latihan dibahagikan kepada k bahagian; latihan pada k-1, sahkan pada 1; berputar; purata skor k.
- Biasa k: 5 atau 10 — pengembalian berkurangan melepasi 10 dalam kebanyakan tetapan.
- Tinggalkan-Satu-Keluar: k = n; anggaran varians yang sangat tinggi tetapi tidak bias; gunakan hanya untuk set data yang sangat kecil.
- Lipatan k berstrata: mengekalkan nisbah kelas dalam setiap lipatan — pilihan lalai untuk pengelasan.
- Siri masa CV: kaedah tetingkap mengembang atau tingkap berguling; jangan sekali-kali melatih data masa hadapan.
Terlebih Padan (penanda masa 31:20)
Pelajaran- Definisi: model menghafal hingar dalam set latihan dan bukannya mempelajari isyarat.
- isyarat: ketepatan latihan terus meningkat manakala ketepatan pengesahan mendatar atau menurun.
- Punca: terlalu sedikit sampel berbanding kapasiti model, terlalu banyak ciri, tiada regularisasi, tiada pemberhentian awal.
- Pembetulan: lebih banyak data, model lebih ringkas, regularisasi L1/L2, dropout, berhenti awal, augmentasi data.
- Diagnosis: plot ketepatan latihan berbanding pengesahan merentas epoch — lengkung mencapah = terlebih padan.
Kebocoran data (lanjutan)
Pelajaran- Perangkap pra-pemprosesan: memasang penskala/pengimput anda pada set data PENUH (termasuk val/ujian) — membocorkan maklumat taburan.
- Betulkan: muatkan pra-pemprosesan di dalam Pipeline yang disahkan silang, jadi data val tidak pernah dilihat semasa pemasangan.
- Kebocoran sasaran: ciri yang diperoleh daripada sasaran (cth., 'hari sejak tinjauan' apabila sasaran ialah hasil tinjauan) → ketepatan yang tidak realistik.
- Kebocoran masa: latihan tentang data masa hadapan untuk meramal masa lalu — biasa dalam siri masa; gunakan pembahagian bergulung yang betul.
Contoh Pengiraan
Pelajaran- Persediaan: 10,000 sampel, klasifikasi binari, 70/15/15 split.
- Kiraan: latihan = 7,000; val = 1,500; ujian = 1,500.
- Berstrata: jika nisbah kelas ialah 80/20, setiap pemisahan mengekalkan nisbah itu — latihan mempunyai 5,600 negatif / 1,400 positif.
- Saluran paip: muatkan penskala pada set latihan → transformasikan set pengesahan/ujian dengan penskala yang SAMA; jangan muatkan semula.
- Model akhir: selepas menala pada val, latih semula pada set latihan+pengesahan dan laporkan SATU nombor ujian.






