2012-09-19 17 views
13

C-SVC modunda libsvm'yi derece 2'nin polinom çekirdeği ile kullanıyorum ve çoklu SVM'leri eğitmem gerekiyor.libsvm Shrinking Heuristics

-h shrinking : whether to use the shrinking heuristics, 0 or 1 (default 1) 

ve ben:

WARNING: using -h 0 may be faster 
* 
WARNING: reaching max number of iterations 
optimization finished, #iter = 10000000 

Ben h parametre için bir açıklama buldum: Eğitim süresince, ben eğitmek SVM'ler bazıları için bu uyarıları bile biri veya her ikisinin alıyorum libsvm belgelerinden açıklama okumayı denedim, ama benim için biraz fazla yüksek. Herhangi biri bir katmanın açıklamasını yapabilir mi? Belki de bunu belirlemek gibi bazı öneriler faydalı olabilir çünkü ...? Ayrıca, bu parametreyi antrenman yaptığım tüm SVM'ler için ayarlayarak, bu uyarıyı açıkça vermeyen SVM'lerin doğruluğu üzerinde olumsuz bir etki yaratabileceğini bilmek yardımcı olabilir.

Diğer uyarılardan ne yapılacağından emin değilim.

Daha fazla ayrıntı vermek için: Eğitim setlerim 10 özelliğe (özellik) sahiptir ve bunlar 5000 vektörden oluşur.


Güncelleme: Başka "yineleme ulaşan maksimum sayıda" oluyor vaka kimseye de

, sayısal denge sorunlarından kaynaklanıyor gibi görünüyor. Ayrıca, bu çok yavaş bir eğitim süresi üretecektir. Polinom çekirdekler, regülasyon için en iyi değeri (C parametresi) belirlemek için çapraz validasyon tekniklerinden faydalanır ve polinom çekirdeği durumunda, benim için 8'den daha küçük kalmasına yardımcı olur. Ayrıca, eğer çekirdek homojen değilse \ sum (\ gamma x_i s_i + coef0)^d (özür dileriz, LaTeX SO üzerinde desteklenmez), burada coef0! = 0, sonra çapraz doğrulama, hem gama hem de C için bir ızgara arama tekniği ile uygulanabilir. durumda, gama için varsayılan değer (1/number_of_features) en iyi seçenek olmayabilir. Yine de, deneylerimden, muhtemelen gamma'nın çok büyük olmasını istemiyorsunuz çünkü sayısal sorunlara neden oluyor (bunun için maksimum 8 değerini deniyorum).

Gamma ve C için olası değerler hakkında daha fazla ilham almak için grid.py'de poking yapmayı deneyin.

cevap

8

Daralan buluşsal yöntemler optimizasyonu hızlandırmak için vardır. SSS'de de belirttiği gibi, bazen yardımcı oluyorlar, bazen de yapmıyorlar. Bence bu, yakınsama yerine bir çalışma zamanı meselesi.

Optimizasyonun maksimum yineleme sayısına ulaşması gerçektir. Tolerans (maliyet parametresi) ile oynamak veya buna neden olan bireysel problemlere bakmak isteyebilirsiniz. Veri kümeleri büyük mü?

+0

Cevabınız için teşekkürler! Bence küçülen buluşsallık konusunda haklısınız. Sadece modelleri daha hızlı eğitmeye yardım ediyorlar. –

+0

Maksimum yineleme ile ilgili olarak, veri kümelerim her biri 5000 öğeye sahiptir. Eğitim bir dakikadan az sürüyor. Maliyet parametresi nedir? Düzenleme mi? Şu anda sadece 1'e ayarlıyorum, libsvm'deki varsayılan değer ... –

+0

Oh, bunu açıklığa kavuşturmalıyım: Eğitim setlerim 10 öznitelik/özellikte ve 5000 vektörden oluşuyor. –

İlgili konular