Saya memiliki 12 perangkat pelatihan positif (sel kanker yang diobati dengan obat dengan masing-masing dari 12 mekanisme aksi yang berbeda). Untuk setiap rangkaian pelatihan positif ini, saya ingin melatih mesin vektor-dukungan untuk membedakannya dari set negatif dengan ukuran yang sama yang disampling dari percobaan. Setiap set memiliki antara 1000 dan 6000 sel, dan ada 476 fitur (fitur gambar) dari masing-masing sel, masing-masing diskalakan secara linear hingga [0, 1].
Saya menggunakan LIBSVM dan kernel Gaussian RGB. Menggunakan validasi silang lima kali lipat, saya telah melakukan pencarian grid untuk log₂ C ∈ [-5, 15] dan log₂ ɣ ∈ [-15, 3]. Hasilnya adalah sebagai berikut:
Saya kecewa karena tidak ada satu set parameter yang memberikan akurasi tinggi untuk semua 12 masalah klasifikasi. Saya juga terkejut bahwa grid umumnya tidak menunjukkan wilayah dengan akurasi tinggi dikelilingi oleh akurasi yang lebih rendah. Apakah ini hanya berarti bahwa saya perlu memperluas ruang parameter pencarian, atau apakah pencarian kotak indikasi bahwa ada sesuatu yang salah?
Jawaban:
Nilai optimal untuk parameter-hiper akan berbeda untuk pengambilan pembelajaran yang berbeda, Anda harus menyetelnya secara terpisah untuk setiap masalah.
Alasan Anda tidak mendapatkan satu pun optimal adalah karena parameter kernel dan parameter regularisasi mengontrol kompleksitas model. Jika C kecil, Anda mendapatkan model yang mulus, demikian juga jika kernel dengan luas, Anda akan mendapatkan model yang mulus (karena fungsi dasarnya tidak terlalu lokal). Ini berarti bahwa kombinasi C yang berbeda dan lebar kernel mengarah ke model yang sama rumitnya, dengan kinerja yang sama (itulah sebabnya Anda mendapatkan fitur diagonal di banyak plot yang Anda miliki).
Yang optimal juga tergantung pada sampling tertentu dari set pelatihan. Dimungkinkan untuk melakukan over-fit error cross-validation, jadi memilih parameter-hiper dengan cross-validation benar-benar dapat membuat kinerja lebih buruk jika Anda kurang beruntung. Lihat Cawley dan Talbot untuk beberapa diskusi tentang ini.
Fakta bahwa ada dataran tinggi nilai untuk parameter-hiper di mana Anda mendapatkan nilai yang sama baiknya sebenarnya adalah fitur yang baik dari mesin vektor dukungan karena menunjukkan bahwa mereka tidak terlalu rentan untuk terlalu pas dalam pemilihan model. Jika Anda memiliki puncak yang tajam pada nilai-nilai optimal, itu akan menjadi hal yang buruk karena puncak akan sulit ditemukan menggunakan dataset terbatas yang akan memberikan indikasi tidak dapat diandalkan di mana puncak itu sebenarnya berada.
sumber