स्टॉम्पचिकन के सुधारों के साथ (मैंने एक डॉट उत्पाद को गलत तरीके से दबाया, उह!) जवाब हां प्रतीत होता है। मैंने तब से एक ही समस्या का परीक्षण किया है जो एक ही सही परिणाम के साथ प्रीकंप्यूटेड कर्नेल का उपयोग कर रहा है। यदि आप libsvm StompChickens स्पष्ट का उपयोग कर रहे हैं, व्यवस्थित गणना बहुत अच्छी जांच है।libsvm सटीक है?
मूल प्रश्न: मैं के बारे में libSVM में precomputed कर्नेल का उपयोग शुरू कर रहा हूँ। मैंने Vlad's answer पर एक प्रश्न के लिए देखा था और मैंने सोचा कि यह पुष्टि करना बुद्धिमान होगा कि libsvm ने सही उत्तर दिए हैं। मैंने गैर-प्रीकंप्यूटेड कर्नेल के साथ शुरू किया, केवल 3 सरल और अंतरिक्ष वाले तीन डेटा बिंदुओं के साथ एक साधारण रैखिक कर्नेल। मैं डेटा
इस्तेमाल किया1 1:3 2:1 3:0
2 1:3 2:3 3:1
1 1:7 3:9
जब मैं हाथ से समाधान नहीं है कि मैं क्या मिल गणना मॉडल svm-train -s 0 - t 0
के लिए एक कॉल द्वारा उत्पन्न फ़ाइल
svm_type c_svc
kernel_type linear
nr_class 2
total_sv 3
rho -1.53951
label 1 2
nr_sv 2 1
SV
0.4126650675419768 1:3 2:1 3:0
0.03174528241667363 1:7 3:9
-0.4444103499586504 1:3 2:3 3:1
शामिल हालांकि। क्या किसी को पता है कि libsvm त्रुटियों से पीड़ित है या कोई भी नोट्स की तुलना कर सकता है और देख सकता है कि उन्हें libsvm एक ही चीज़ मिलती है या नहीं?
गुणांक a1
, a2
, a3
libsvm द्वारा लौटाए गए मानों प्रतिबंधों के साथ
a1 + a2 + a3 - 5*a1*a1 + 12*a1*a2 - 21*a1*a3 - 19*a2*a2/2 + 21*a2*a3 - 65*a3*a3
के रूप में संभव के रूप में बड़े बनाने होना चाहिए कि a1 + a3 = a2
और a1
से प्रत्येक, a2
, a3
के लिए आवश्यक है 0 और 1 के बीच झूठ (सी का डिफ़ॉल्ट मान)।
ऊपर मॉडल फ़ाइल का कहना है इस सवाल का जवाब
a1 = .412665...
a2 = .444410...
a3 = .031745...
लेकिन एक बस बड़ा सूत्र में ऊपर a2 = a1 + a3
स्थानापन्न और इस बात की पुष्टि दोनों आंशिक डेरिवेटिव शून्य हैं देखने के लिए अगर यह समाधान सही (a1
के बाद से कोई भी है करने के लिए किया है , a2
, a3
0 या 1 है) लेकिन वे शून्य नहीं हैं।
मैं कुछ गलत कर रहा हूँ, या libsvm बुरे परिणाम दे रहा है? (मुझे लगता है मैं कुछ गलत कर रहा हूँ उम्मीद कर रहा हूँ।)