Saya telah bekerja pada pembelajaran mesin dan bioinformatika untuk sementara waktu, dan hari ini saya berbicara dengan seorang kolega tentang masalah umum utama dari penambangan data.
Rekan saya (yang ahli dalam pembelajaran mesin) mengatakan bahwa, menurut pendapatnya, aspek praktis yang paling penting dari pembelajaran mesin adalah bagaimana memahami apakah Anda telah mengumpulkan cukup data untuk melatih model pembelajaran mesin Anda .
Pernyataan ini mengejutkan saya, karena saya tidak pernah terlalu mementingkan aspek ini ...
Saya kemudian mencari lebih banyak informasi di internet, dan saya menemukan posting ini di pelaporan FastML.com sebagai aturan praktis bahwa Anda memerlukan sekitar 10 kali lebih banyak contoh data karena ada fitur .
Dua pertanyaan:
1 - Apakah masalah ini benar-benar relevan dalam pembelajaran mesin?
2 - Apakah aturan 10 kali berfungsi? Apakah ada sumber lain yang relevan untuk tema ini?
sumber
Jawaban:
Sepuluh kali aturan tampak seperti aturan praktis bagi saya, tetapi memang benar bahwa kinerja algoritma pembelajaran mesin Anda dapat menurun jika Anda tidak memberinya cukup data pelatihan.
Cara praktis dan berbasis data untuk menentukan apakah Anda memiliki cukup data pelatihan adalah dengan memplot kurva pembelajaran, seperti yang ada dalam contoh di bawah ini:
Kurva pembelajaran mewakili evolusi pelatihan dan kesalahan tes saat Anda meningkatkan ukuran set pelatihan Anda.
Seperti yang dapat Anda lihat di bagian paling kanan plot, dua baris dalam plot cenderung mencapai dan asimtot. Oleh karena itu, Anda pada akhirnya akan mencapai titik di mana peningkatan ukuran dataset Anda tidak akan berdampak pada model terlatih Anda.
Jarak antara kesalahan pengujian dan kesalahan pelatihan asimtot adalah representasi overfitting model Anda. Tetapi yang lebih penting, plot ini mengatakan apakah Anda membutuhkan lebih banyak data. Pada dasarnya, jika Anda merepresentasikan kesalahan tes dan pelatihan untuk meningkatkan himpunan bagian yang lebih besar dari data pelatihan Anda, dan garis-garis tersebut tampaknya tidak mencapai asimtot, Anda harus terus mengumpulkan lebih banyak data.
sumber
X_train, y_train: Only train subset
atauX, y: the entire dataset
sumber