2
มีปัญหากับ e1071 libsvm?
ฉันมีชุดข้อมูลที่มีสองคลาสที่ทับซ้อนกันเจ็ดจุดในแต่ละชั้นคะแนนอยู่ในพื้นที่สองมิติ ใน R และฉันกำลังเรียกใช้svmจากe1071แพคเกจเพื่อสร้างการแยกไฮเปอร์เพลนสำหรับคลาสเหล่านี้ ฉันใช้คำสั่งต่อไปนี้: svm(x, y, scale = FALSE, type = 'C-classification', kernel = 'linear', cost = 50000) ที่xมีจุดข้อมูลของฉันและyมีป้ายกำกับของพวกเขา คำสั่งส่งกลับ svm-object ซึ่งฉันใช้ในการคำนวณพารามิเตอร์ (เวกเตอร์ปกติ) และ (สกัดกั้น) ของการแยกไฮเปอร์เพลนขwwwbbb รูปที่ (a) ด้านล่างแสดงคะแนนของฉันและไฮเปอร์เพลนที่ส่งคืนโดยsvmคำสั่ง จุดสีน้ำเงินที่มีสัญลักษณ์ O แสดงที่มาของพื้นที่เส้นประแสดงขอบระยะทางวงกลมคือจุดที่ไม่เป็นศูนย์ (ตัวแปรสแลค)ξξ\xi รูปที่ (b) แสดงไฮเปอร์เพลนอีกอันหนึ่งซึ่งเป็นการแปลแบบขนานที่ดีที่สุดด้วย 5 (b_new = b_optimal - 5) ไม่ยากที่จะเห็นว่าสำหรับไฮเปอร์เพลนนี้ฟังก์ชันวัตถุประสงค์ (ซึ่งถูกย่อโดยการจำแนกประเภท C-svm) จะมีค่าต่ำกว่าไฮเปอร์เพลนที่ดีที่สุดที่แสดงในรูป ( ก) ดังนั้นดูเหมือนว่าจะมีปัญหากับฟังก์ชั่นนี้หรือไม่? …