Saya menggunakan libsvm dalam mode C-SVC dengan kernel polinomial derajat 2 dan saya diminta untuk melatih beberapa SVM. Setiap set pelatihan memiliki 10 fitur dan 5000 vektor. Selama pelatihan, saya mendapatkan peringatan ini untuk sebagian besar SVM yang saya latih:
WARNING: reaching max number of iterations
optimization finished, #iter = 10000000
Bisakah seseorang menjelaskan apa arti peringatan ini dan, mungkin, bagaimana menghindarinya?
Saya juga ingin menerapkan validasi silang untuk model saya untuk menentukan pilihan terbaik untuk gamma dan C (regularisasi). Rencana saya adalah hanya mencoba setiap kombinasi dari 10 nilai ini: 0,00001, 0,0001, 0,001, 0,01, 0,1, 1, 10, 100, 1000, 10000 untuk kedua parameter dan lihat kombinasi mana yang menghasilkan akurasi terbaik selama cross-validation. Apa ini cukup? Haruskah saya menggunakan lebih banyak nilai dalam interval ini, atau haruskah saya memilih interval yang lebih luas?
sumber
Jawaban:
Ada banyak alasan mengapa ini bisa terjadi, saya sarankan Anda untuk melakukan hal berikut:
Perhatikan bahwa LIBSVM distributif untuk Windows harus mengandung skrip Python bernama grid.py, yang dapat melakukan pemilihan parameter untuk Anda (berdasarkan validasi silang dan rentang pencarian yang ditentukan). Itu juga dapat menghasilkan plot kontur untuk akurasi SVM. Alat ini mungkin sangat membantu.
Pertanyaan berikut tentang StackOverflow dan pertanyaan terkaitnya mungkin juga membantu: libsvm Shrinking Heuristics
sumber