Berapa banyak data yang cukup untuk melatih model pembelajaran mesin saya?

11

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?

DavideChicco.it
sumber
1. Ya. 2. Ini adalah dasar yang baik tetapi Anda dapat mengatasinya dengan regularisasi untuk mengurangi derajat kebebasan yang efektif . Ini bekerja sangat baik dengan pembelajaran yang mendalam. 3. Anda dapat mendiagnosis situasi pada masalah Anda dengan memplot kurva pembelajaran ukuran sampel terhadap kesalahan atau skor.
Emre
@ Terima kasih! Bisakah Anda menyarankan saya beberapa makalah atau bahan untuk dibaca?
DavideChicco.it
Ini biasanya akan dibahas bersama validasi silang dan teknik validasi model lainnya di buku teks Anda.
Emre
Aturan 10 kali itu bagus jika Anda bisa mencapainya, tetapi itu tidak praktis dalam beberapa pengaturan bisnis. Ada banyak situasi di mana jumlah fitur jauh lebih besar daripada instance data (p >> n). Ada teknik pembelajaran mesin yang dirancang khusus untuk menghadapi situasi ini.
Ilmu data pria
Jika Anda memerlukan penjelasan terperinci yang dapat membantu Anda memahami grafik kurva belajar, periksa ini: scikit-yb.org/en/latest/api/model_selection/learning_curve.html
singh

Jawaban:

6

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 belajar

Kurva pembelajaran mewakili evolusi pelatihan dan kesalahan tes saat Anda meningkatkan ukuran set pelatihan Anda.

  • Kesalahan pelatihan meningkat saat Anda meningkatkan ukuran dataset Anda, karena menjadi lebih sulit untuk mencocokkan model yang memperhitungkan kompleksitas / variabilitas set pelatihan Anda.
  • Kesalahan pengujian berkurang saat Anda meningkatkan ukuran dataset Anda, karena model ini dapat menggeneralisasi lebih baik dari jumlah informasi yang lebih tinggi.

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.

Pablo Suau
sumber
Dalam fungsi learning_curve saya harus lulus X_train, y_train: Only train subsetatauX, y: the entire dataset
Rookie_123
Kurva ini dibangun sebagai hasil dari menerapkan validasi silang saat Anda menambah jumlah sampel. Karena itu, Anda memerlukan seluruh dataset.
Pablo Suau
4
  1. Ya, masalahnya tentu relevan, karena kemampuan Anda untuk mencocokkan model akan tergantung pada jumlah data yang Anda miliki, tetapi yang lebih penting, itu tergantung pada kualitas prediktor.
  2. Aturan 10 kali mungkin aturan praktis (dan ada banyak lainnya), tetapi itu benar-benar tergantung pada utilitas prediktif fitur Anda. Misalnya, dataset iris cukup kecil tetapi mudah dipecahkan, karena fitur menghasilkan pemisahan target yang baik. Sebaliknya, Anda dapat memiliki 10 juta contoh dan gagal menyesuaikan jika fitur-fiturnya lemah.
HEITZ
sumber
Terima kasih! Bisakah Anda menyarankan saya beberapa makalah atau bahan untuk dibaca?
DavideChicco.it