ลักษณนามสำหรับฉลากระดับที่ไม่แน่นอน


11

สมมติว่าฉันมีชุดของอินสแตนซ์ที่เกี่ยวข้องกับป้ายชื่อคลาส ไม่สำคัญว่าจะติดป้ายกำกับอินสแตนซ์เหล่านี้อย่างไรแต่ความแน่นอนของการเป็นสมาชิกคลาสของพวกเขาคืออะไร แต่ละ instancs อยู่ในระดับเดียวเท่านั้น สมมติว่าฉันสามารถวัดความแน่นอนของการเป็นสมาชิกแต่ละคลาสด้วยแอตทริบิวต์ที่ระบุซึ่งมีค่าตั้งแต่ 1 ถึง 3 (แน่นอนมากถึงไม่แน่ใจตามลำดับ)

มีตัวจําแนกบางประเภทที่คํานึงถึงความแน่นอนดังกล่าวหรือไม่และถ้าใช่มันมีอยู่ในชุดเครื่องมือ WEKA หรือไม่?

ฉันคิดว่าสถานการณ์นี้เกิดขึ้นค่อนข้างบ่อยตัวอย่างเช่นเมื่ออินสแตนซ์ถูกจำแนกตามมนุษย์ซึ่งไม่แน่ใจว่าสมบูรณ์แบบเสมอไป ในกรณีของฉันฉันต้องจำแนกรูปภาพและบางครั้งรูปภาพอาจเป็นของมากกว่าหนึ่งคลาส หากสิ่งนี้เกิดขึ้นฉันให้ชั้นเรียนมีความไม่แน่นอนสูง แต่ยังคงจัดประเภทไว้ด้วยคลาสเดียวเท่านั้น

หรือมีวิธีอื่นในการแก้ไขปัญหานี้โดยไม่มีตัวจําแนกพิเศษ? เช่นเดียวกับการจัดหมวดหมู่ "แน่นอน" สำหรับการฝึกอบรมเท่านั้น? ฉันกลัวว่าในกรณีนี้จะมีการจัดประเภทผิดพลาดมากกว่าเนื่องจากคดี "ชายแดน" ไม่ครอบคลุม


1
แต่ละรายการเป็นของชั้นเดียวหรือไม่ หรือเป็นไปได้ว่าบางรายการเป็นของคลาส 12 ที่มีความแน่นอน 1 และคลาส 34 ที่มีความแน่นอน 2
user31264

แต่ละรายการเป็นของชั้นหนึ่งอย่างแน่นอนในกรณีนี้
wnstnsmth

คำตอบ:


8

ก่อนอื่นตามที่ @Marc Claesen ได้อธิบายไว้แล้วการจำแนกแบบกึ่งกำกับดูแลเป็นหนึ่งในเทคนิคในการดูแลสถานการณ์ที่คุณรู้ว่าชั้นเรียนมีความแตกต่างอย่างแท้จริง แต่คุณไม่แน่ใจว่าเป็นกรณีของชั้นเรียนจริงหรือไม่

อย่างไรก็ตามมีสถานการณ์ที่เกี่ยวข้องเช่นกันซึ่ง "ความจริง" ไม่ชัดเจนและการสันนิษฐานว่ามีชั้นเรียนที่แตกต่างกันไม่พบ: กรณี bordeline อาจเป็นความจริง "ทางกายภาพ" (ดูด้านล่างสำหรับเอกสารเกี่ยวกับแอปพลิเคชัน ที่ซึ่งเราเจอเงื่อนไขดังกล่าว)

มีอยู่คนหนึ่งเป็นสมมติฐานสำคัญสำหรับ classifers กึ่งภายใต้การดูแลที่คุณต้องการเพื่อให้แน่ใจว่าจะพบ: สมมติฐานที่ว่าในพื้นที่ที่มีคุณลักษณะขอบเขตระดับมาพร้อมกับความหนาแน่นต่ำตัวอย่าง สิ่งนี้เรียกว่าสมมติฐานของคลัสเตอร์
แม้ว่าความเป็นจริงที่อยู่ภายใต้ข้อมูลของคุณมีคลาสที่แตกต่างกัน แต่ชุดข้อมูลของคุณอาจมีกรณีเขตแดนเพิ่มเติมแบบไม่เป็นสัดส่วนเช่นหากเทคนิคการจำแนกประเภทของคุณมีเป้าหมายในการจำแนกกรณียาก ๆ ในขณะที่กรณีที่ชัดเจนและง่าย สถานการณ์.

การจัดหมวดหมู่ "แน่นอน" สำหรับการฝึกอบรมเท่านั้น? ฉันกลัวว่าในกรณีนี้จะมีการจัดประเภทผิดพลาดมากกว่าเนื่องจากคดี "ชายแดน" ไม่ครอบคลุม

ฉันเห็นด้วยอย่างยิ่งกับคุณว่าการยกเว้นกรณีเขตแดนมักเป็นความคิดที่ไม่ดี: โดยการลบกรณียาก ๆ ทั้งหมดที่คุณมีปัญหาง่าย ๆ เทียม IMHO เป็นเรื่องที่เลวร้ายยิ่งกว่าการยกเว้นกรณีเส้นเขตแดนโดยปกติแล้วจะไม่หยุดกับการฝึกอบรมแบบจำลอง แต่กรณีเส้นเขตแดนก็ไม่รวมอยู่ในการทดสอบดังนั้นการทดสอบแบบจำลองกับกรณีง่าย ๆ เท่านั้น เมื่อคุณไม่ทราบด้วยซ้ำว่าแบบจำลองนั้นทำงานได้ไม่ดีกับกรณีแนวเขต

ต่อไปนี้เป็นบทความสองฉบับที่เราเขียนเกี่ยวกับปัญหาที่แตกต่างจากของคุณในแอปพลิเคชันของเราความเป็นจริงอาจมีคลาส "ผสม" (ปัญหาทั่วไปของคุณ: ความไม่แน่นอนในฉลากอ้างอิงครอบคลุมอยู่ด้วย)

ลิงก์ไปที่หน้าโครงการของแพ็คเกจ R ที่ฉันพัฒนาขึ้นเพื่อทำการคำนวณประสิทธิภาพ มีลิงค์เพิ่มเติมไปยังหน้าเว็บทางการและต้นฉบับของเอกสาร ในขณะที่ฉันไม่ได้ใช้ Weka เพื่อให้ห่างไกลผมเข้าใจว่าอินเตอร์เฟซที่จะ R ใช้ได้


ข้อควรพิจารณาในทางปฏิบัติ:

  • ในขณะที่วิธีการคัดลอกและฉลากต่างกันตรงไปตรงมา แต่ก็ใช้งานไม่ได้กับตัวแยกประเภทและการใช้งานในทางปฏิบัติ เช่น AFAIK ไม่มีวิธีที่จะบอกlibSVMการปรับจูนด้วยการตรวจสอบข้ามว่าสำเนาทั้งหมดของจุดข้อมูลแต่ละจุดจะต้องเก็บไว้ในการตรวจสอบไขว้เดียวกัน ดังนั้นlibSVMการปรับจูนอาจจะให้แบบจำลองที่มีน้ำหนักเกินพอดีอย่างมาก
  • นอกจากนี้สำหรับการถดถอยโลจิสติกฉันพบว่าการใช้งานจำนวนมากไม่อนุญาตให้ใช้ป้ายกำกับสมาชิกบางส่วนที่ฉันต้องการ
  • การใช้งานที่ฉันใช้สำหรับเอกสารข้างต้นเป็น ANN จริง ๆ โดยไม่มีเลเยอร์ที่ซ่อนอยู่โดยใช้ logistic เป็นฟังก์ชัน sigmoidal link ( nnet::multinom)

การพิจารณาในทางปฏิบัติครั้งแรกของคุณในขณะที่เป็นจริงไม่ได้มีผลบังคับใช้libsvmโดยเฉพาะ libsvmเขียนให้เลือกรุ่นของการปล่อยในที่ที่จัดหมวดหมู่เช่นน้ำหนักเป็นไปได้ทุกที่หลีกเลี่ยงปัญหานี้โดยสิ้นเชิง มันเป็นสิ่งต่าง ๆ ที่ทำให้ฉันใช้ไลบรารีอัลกอริทึมโดยตรงแทนที่จะเป็นตัวห่อหุ้มอย่าง Weka / scipy / ... csie.ntu.edu.tw/~cjlin/libsvmtools/#weights_for_data_instances
Marc Claesen

@ MarcClaesen: ขอบคุณ - ฉันไม่เห็น แต่คุณไม่จำเป็นต้องให้อินสแตนซ์ของสองกรณีในกรณีเดียวกันหนึ่งค่าถ่วงน้ำหนักพูดกับ 1/3 คลาส A และอีกอันด้วย 2/3 คลาส B? ไม่ว่าในกรณีใด ๆ ไม่จำเป็นต้องจัดหาสำเนาของกรณีที่ชัดเจนจำนวนมากจะทำให้การปรับจูนมีปัญหาน้อยลง (สำหรับข้อมูลของฉันฉันยังต้องทำการปรับจูนแบบแยกจากภายนอกเนื่องจากฉันมีโครงสร้างข้อมูลแบบ "ลำดับชั้น" พร้อมการวัดหลายกรณี )
cbeleites ไม่มีความสุขกับ SX

@cbeiteles เมื่ออินสแตนซ์อาจอยู่ในหลายคลาสคุณจะต้องระบุหลาย ๆ ครั้งแม้ว่าจะมีการกำหนดน้ำหนักเช่นนี้ ฉันไม่ได้พิจารณาความเป็นไปได้นั้น
Marc Claesen

6

นี่เป็นหนึ่งในข้อสรุปทั่วไปของการจำแนกประเภทที่จัดการเรียนรู้แบบกึ่งกำกับ หากคุณมีการวัดความแน่นอนคุณสามารถใช้วิธีการที่ให้น้ำหนักของอินสแตนซ์การฝึกอบรม ยิ่งมีความแน่นอนสูงเท่าไหร่น้ำหนักของอินสแตนซ์ที่เกี่ยวข้องก็จะมากขึ้นเท่านั้น ตัวอย่างของวิธีการดังกล่าวรวมถึง SVM แบบถ่วงน้ำหนักและการถดถอยโลจิสติก

ฉันแน่ใจว่า weka มีการใช้งานอัลกอริทึมเหล่านี้ ถ้าอื่นทั้งหมดล้มเหลวตัวอย่างหลายอินสแตนซ์จากอินสแตนซ์ที่มีความแน่นอนสูง คุณสามารถใช้วิธีนี้สำหรับ SVM หรือ LR แบบดั้งเดิม

ตัวอย่าง: SVM

ถ้าฉันไม่ผิด Weka มีการเชื่อมต่อไปยังLIBSVM LIBSVM ช่วยให้คุณสามารถแก้ SVM แบบถ่วงน้ำหนักได้ในทุกรุ่นและ SVM แบบถ่วงน้ำหนักในรุ่นพิเศษของแต่ละรุ่น ฉันจะถือว่า weka ไม่สนับสนุนหลัง (ซึ่งเป็นสิ่งที่คุณต้องการ)

W ξ P N C P o s C n อีกรัม

minw,ξw2+CposiPξi+CnegiNξi,
wξPNCposCneg

จากคำถามของคุณดูเหมือนว่าคุณต้องการที่จะใช้น้ำหนักที่แตกต่างกัน 6 แบบ (2 คลาส 3 ระดับของความมั่นใจ) คุณสามารถทำสิ่งนี้ได้หลายวิธีโดยการทำซ้ำตัวอย่างของคะแนนด้วยความมั่นใจสูง×

ตัวอย่างเช่นในแง่ของ SVM การใช้อินสแตนซ์ข้อมูลเดียวกันให้ผลลัพธ์ที่เหมือนกันสองเท่าเพื่อเพิ่มค่าเกี่ยวข้องเป็นสองเท่า นี่เป็นวิธีที่ง่ายมากในการกำหนดบทลงโทษการจำแนกประเภทที่ซับซ้อนให้กับอินสแตนซ์ข้อมูลบางอย่าง คุณสามารถทำตามวิธีการเดียวกันสำหรับการถดถอยโลจิสติกC


(+1) นี่คือมัน! ด้วยการทำซ้ำอินสแตนซ์ที่มีเลเบลต่างกันและตุ้มน้ำหนักอินสแตนซ์ (หรือที่รู้จักในการรับรองเลเบล) เราสามารถใช้อัลกอริทึมเช่นป่าสุ่ม, อ่าวไร้เดียงสาเป็นต้นน้ำหนักอินสแตนซ์นั้นธรรมดามาก weka ต้องมีผู้เรียน Rapidminer (คู่แข่งของ weka) ทำ ด้วยการตั้งค่าความแน่นอนเป็น 1 ทำให้สามารถจำลองปัญหาฉลากหลายกรอบ "คม"
steffen

คุณถูกต้อง WEKA สนับสนุน LIBSVM แต่ไม่รองรับการกำหนดน้ำหนักอินสแตนซ์ afaik ความคิดในการทำซ้ำอินสแตนซ์เป็นสิ่งที่ดีมากโดยเฉพาะอย่างยิ่งเพราะผู้เรียน "ดั้งเดิม" ทุกคนสามารถจัดการกับมันได้
wnstnsmth

2

ปัญหาของปัญหานั้นขึ้นอยู่กับว่าฉลากที่ไม่แน่นอนนั้นมีความผิดพลาดได้อย่างไร หากป้ายกำกับที่ไม่แน่นอนพูดถูก 90% ของเวลาคุณอาจหนีไปได้โดยใช้การถดถอยโลจิสติก ในทางกลับกันหากฉลากผิดเกือบครึ่งเวลาคุณอาจต้องใช้เทคนิคพิเศษ นี่คือแทงหนึ่งอันที่ฉันมีปัญหาที่คล้ายกันมาก (เรามีการสังเกตหลายครั้งต่อป้าย แต่ไม่เช่นนั้นการตั้งค่าจะค่อนข้างคล้ายกัน)


-5

ฉันใช้เวลาสั้น ๆ ในการจำแนกและจำแนกภาพ

ป่าสุ่มเป็นเทคนิคที่ใช้งานง่าย ฉันใช้งานกับ R แล้วควรใช้ Weka ด้วย ใช้งานง่ายกว่าความแม่นยำทำนายทำนายว่า หากคุณมีชุดการฝึกอบรมที่มีขนาดใหญ่พอมันสามารถจำแนกฉลากได้หลายป้าย

มันทำงานเพื่อรับรู้ตัวเลขที่เขียนด้วยลายมือได้ค่อนข้างดี แต่ถ้าภาพของคุณมีความซับซ้อนมากขึ้นมีเพียงการทดลองเท่านั้นที่จะบอกคุณว่ามันทำได้ดีหรือไม่


4
สิ่งนั้นเกี่ยวข้องกับป้ายกำกับคลาสที่ไม่แน่นอน?
wnstnsmth
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.