กลับไปหน้าบทความ

อ่าน 8 นาที

การจำแนกประเภทหลายป้ายกำกับ

ใน การเรียนรู้ ของ เครื่อง การจำแนกแบบหลายป้ายกำกับ หรือ การจำแนกแบบหลายเอาต์พุต เป็นรูปแบบหนึ่งของ ปัญหา การจำแนกประเภท...

การจำแนกประเภทหลายป้ายกำกับ

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

ในทางทฤษฎี การจำแนกประเภทแบบหลายป้ายกำกับ คือปัญหาของการค้นหาแบบจำลองที่แปลงอินพุตx ไปเป็นเวกเตอร์ไบนารีyกล่าวคือ กำหนดค่า 0 หรือ 1 ให้กับแต่ละองค์ประกอบ (ป้ายกำกับ) ในy

วิธีการแปลงปัญหา

มีวิธีการแปลงปัญหาหลายวิธีสำหรับการจำแนกประเภทแบบหลายป้ายกำกับ และสามารถแบ่งออกได้คร่าวๆ ดังนี้:

การแปลงเป็นปัญหาการจำแนกประเภทแบบไบนารี

วิธีการพื้นฐานที่เรียกว่าวิธีความเกี่ยวข้องแบบไบนารี[ 3 ]เทียบเท่ากับการฝึกตัวจำแนกแบบไบนารีหนึ่งตัวสำหรับแต่ละป้ายกำกับอย่างอิสระ เมื่อได้รับตัวอย่างที่ไม่เคยเห็นมาก่อน โมเดลแบบผสมจะทำนายป้ายกำกับทั้งหมดสำหรับตัวอย่างนี้ซึ่งตัวจำแนกแต่ละตัวทำนายผลลัพธ์ที่เป็นบวก แม้ว่าวิธีการแบ่งงานออกเป็นงานไบนารีหลายงานนี้อาจดูคล้ายกับวิธีการหนึ่งต่อทั้งหมด (OvA) และหนึ่งต่อส่วนที่เหลือ (OvR) สำหรับการจำแนกหลายคลาส แต่ โดย พื้นฐานแล้วมันแตกต่างจากทั้งสองวิธี เนื่องจากตัวจำแนกตัวเดียวภายใต้ความเกี่ยวข้องแบบไบนารีจะจัดการกับป้ายกำกับเดียวโดยไม่คำนึงถึงป้ายกำกับอื่น ๆ เลยโซ่ตัวจำแนกเป็นวิธีการทางเลือกในการแปลงปัญหาการจำแนกหลายป้ายกำกับให้เป็นปัญหาการจำแนกแบบไบนารีหลายปัญหา มันแตกต่างจากความเกี่ยวข้องแบบไบนารีตรงที่ป้ายกำกับจะถูกทำนายตามลำดับ และเอาต์พุตของตัวจำแนกก่อนหน้าทั้งหมด (เช่น บวกหรือลบสำหรับป้ายกำกับเฉพาะ) จะถูกป้อนเป็นคุณลักษณะให้กับตัวจำแนกถัดไป[ 3 ]โซ่ตัวจำแนกถูกนำไปใช้ ตัวอย่างเช่น ในการทำนายความต้านทานยาต้านไวรัสเอชไอ วี [ 4 ] [ 5 ]เครือข่ายเบย์เซียนยังถูกนำไปใช้เพื่อจัดลำดับตัวจำแนกประเภทใน ห่วง โซ่ตัวจำแนกประเภท ให้เหมาะสมที่สุด [ 6 ]

ในกรณีที่แปลงปัญหาเป็นการจำแนกแบบไบนารีหลายรายการฟังก์ชันความน่าจะเป็นจะมีรูป แบบ ดังนี้ โดยที่ index ครอบคลุมตัวอย่าง, index ครอบคลุมป้ายกำกับ, ระบุผลลัพธ์แบบไบนารี 0 หรือ 1, ระบุค่าเดลต้าของโครเนกเกอร์ , และระบุป้ายกำกับที่เข้ารหัสแบบฮอตหลายรายการของตัวอย่าง

การแปลงเป็นปัญหาการจำแนกประเภทหลายคลาส

การแปลงชุดกำลังป้ายกำกับ (LP) สร้างตัวจำแนกไบนารีหนึ่งตัวสำหรับทุกชุดป้ายกำกับที่มีอยู่ในชุดฝึกอบรม ตัวอย่างเช่น หากป้ายกำกับที่เป็นไปได้สำหรับตัวอย่างคือ A, B และ C การแสดงชุดกำลังป้ายกำกับของปัญหานี้คือปัญหาการจำแนกหลายคลาสที่มีคลาส [0 0 0], [1 0 0], [0 1 0], [0 0 1], [1 1 0], [1 0 1], [0 1 1] และ [1 1 1] โดยที่ [1 0 1] หมายถึงตัวอย่างที่มีป้ายกำกับ A และ C และไม่มีป้ายกำกับ B [ 7 ]

สามารถใช้ชุดตัวจำแนกหลายคลาสเพื่อสร้างตัวจำแนกแบบกลุ่มหลายป้ายกำกับได้ สำหรับตัวอย่างที่กำหนด ตัวจำแนกแต่ละตัวจะส่งออกคลาสเดียว (ซึ่งสอดคล้องกับป้ายกำกับเดียวในปัญหาหลายป้ายกำกับ) จากนั้นการคาดการณ์เหล่านี้จะถูกรวมเข้าด้วยกันโดยวิธีการแบบกลุ่ม ซึ่งโดยปกติจะเป็นวิธีการลงคะแนนเสียง โดยที่ทุกคลาสที่ได้รับเปอร์เซ็นต์คะแนนเสียงที่จำเป็นจากตัวจำแนกแต่ละตัว (มักเรียกว่าเกณฑ์การแยกแยะ[ 8 ] ) จะถูกคาดการณ์ว่าเป็นป้ายกำกับที่มีอยู่ในผลลัพธ์หลายป้ายกำกับ อย่างไรก็ตาม ยังมีวิธีการแบบกลุ่มที่ซับซ้อนกว่า เช่นเครื่องจักรคณะกรรมการอีกรูปแบบหนึ่งคือ อัลกอริทึมชุดป้ายกำกับ k แบบสุ่ม (RAKEL) ซึ่งใช้ตัวจำแนก LP หลายตัว โดยแต่ละตัวได้รับการฝึกฝนบนชุดย่อยแบบสุ่มของป้ายกำกับจริง จากนั้นการคาดการณ์ป้ายกำกับจะดำเนินการโดยวิธีการลงคะแนนเสียง[ 9 ]สามารถใช้ชุดตัวจำแนกหลายป้ายกำกับในลักษณะเดียวกันเพื่อสร้างตัวจำแนกแบบกลุ่มหลายป้ายกำกับ ในกรณีนี้ ตัวจำแนกแต่ละตัวจะลงคะแนนเสียงหนึ่งครั้งสำหรับแต่ละป้ายกำกับที่คาดการณ์ แทนที่จะเป็นป้ายกำกับเดียว

อัลกอริทึมที่ปรับปรุงแล้ว

อัลกอริทึม/โมเดลการจำแนกประเภทบางส่วนได้รับการปรับให้เข้ากับงานที่มีป้ายกำกับหลายแบบ โดยไม่จำเป็นต้องแปลงปัญหา ตัวอย่างเช่น สำหรับข้อมูลที่มีป้ายกำกับหลายแบบ ได้แก่

รูปแบบการเรียนรู้

โดยอิงตามแบบแผนการเรียนรู้ เทคนิคการจำแนกประเภทหลายป้ายกำกับที่มีอยู่สามารถจำแนกได้เป็น การเรียนรู้แบบกลุ่ม (batch learning) และการเรียนรู้แบบออนไลน์ (online machine learning ) อัลกอริทึมการเรียนรู้แบบกลุ่มต้องการให้มีข้อมูลตัวอย่างทั้งหมดพร้อมใช้งานล่วงหน้า โดยจะฝึกโมเดลโดยใช้ข้อมูลการฝึกทั้งหมด แล้วทำนายตัวอย่างทดสอบโดยใช้ความสัมพันธ์ที่พบ ในทางกลับกัน อัลกอริทึมการเรียนรู้แบบออนไลน์จะสร้างโมเดลทีละขั้นตอนในแต่ละรอบการทำงาน ในรอบการทำงาน t อัลกอริทึมแบบออนไลน์จะได้รับตัวอย่าง x tและทำนายป้ายกำกับ ŷ tโดยใช้โมเดลปัจจุบัน จากนั้นอัลกอริทึมจะได้รับ y tซึ่งเป็นป้ายกำกับที่แท้จริงของ x tและอัปเดตโมเดลตามคู่ตัวอย่าง-ป้ายกำกับ: (x t , y t )

การจำแนกประเภทสตรีมแบบหลายป้ายกำกับ

สตรีมข้อมูลอาจเป็นลำดับข้อมูลที่ไม่มีที่สิ้นสุดซึ่งเติบโตอย่างต่อเนื่องและรวดเร็วเมื่อเวลาผ่านไป[ 16 ]การจำแนกสตรีมหลายป้ายกำกับ (MLSC) เป็นเวอร์ชันของงานจำแนกหลายป้ายกำกับที่เกิดขึ้นในสตรีมข้อมูล บางครั้งก็เรียกว่าการจำแนกหลายป้ายกำกับแบบออนไลน์ ความยากลำบากของการจำแนกหลายป้ายกำกับ (จำนวนชุดป้ายกำกับที่เป็นไปได้แบบเลขชี้กำลัง การจับความสัมพันธ์ระหว่างป้ายกำกับ) รวมเข้ากับความยากลำบากของสตรีมข้อมูล (ข้อจำกัดด้านเวลาและหน่วยความจำ การจัดการสตรีมที่ไม่มีที่สิ้นสุดด้วยวิธีการที่จำกัดการเปลี่ยนแปลงแนวคิด )

วิธีการ MLSC หลายวิธีใช้ระเบียบวิธีแบบกลุ่ม (ensemble methods)เพื่อเพิ่มประสิทธิภาพในการทำนายและรับมือกับการเปลี่ยนแปลงแนวคิด ด้านล่างนี้คือระเบียบวิธีแบบกลุ่มที่ใช้กันอย่างแพร่หลายที่สุดในเอกสารทางวิชาการ:

  • วิธีการแบบOnline Bagging (OzaBagging [ 17 ] ) : การสังเกตความน่าจะเป็นของการมีจุดข้อมูลจำนวน K จุดในตัวอย่างบูตสแตรปโดยประมาณเป็นแบบPoisson(1)สำหรับชุดข้อมูลขนาดใหญ่ อินสแตนซ์ข้อมูลขาเข้าแต่ละรายการในสตรีมข้อมูลสามารถถ่วงน้ำหนักตามสัดส่วนของการแจกแจง Poisson(1) เพื่อเลียนแบบบูตสแตรปในการตั้งค่าออนไลน์ วิธีนี้เรียกว่า Online Bagging (OzaBagging) มีวิธีการหลายป้ายกำกับจำนวนมากที่ใช้ Online Bagging ได้รับการเสนอในวรรณกรรม ซึ่งแต่ละวิธีใช้การแปลงปัญหาที่แตกต่างกัน EBR, [ 3 ] ECC, [ 3 ] EPS, [ 18 ] E B RT, [ 19 ] E B MT, [ 19 ] ML-Random Rules [ 20 ]เป็นตัวอย่างของวิธีการดังกล่าว
  • วิธีการแบบ Bagging ของ ADWIN [ 21 ] :บางครั้งวิธีการ Bagging ออนไลน์สำหรับ MLSC จะถูกรวมเข้ากับกลไกการตรวจจับการเปลี่ยนแปลงแนวคิดที่ชัดเจน เช่น ADWIN [ 22 ] (Adaptive Window) ADWIN จะเก็บหน้าต่างที่มีขนาดแปรผันเพื่อตรวจจับการเปลี่ยนแปลงในการกระจายของข้อมูล และปรับปรุงกลุ่มโดยการรีเซ็ตส่วนประกอบที่ทำงานได้ไม่ดีเมื่อมีการเปลี่ยนแปลงในข้อมูลที่เข้ามา โดยทั่วไป ตัวอักษร 'a' จะถูกใช้เป็นดัชนีในชื่อของกลุ่มดังกล่าวเพื่อระบุการใช้ตัวตรวจจับการเปลี่ยนแปลงของ ADWIN E a BR, [ 21 ] E a CC, [ 21 ] E a HT PS [ 21 ]เป็นตัวอย่างของกลุ่มหลายป้ายกำกับดังกล่าว
  • วิธีการที่ใช้GOOWE-ML [ 23 ] : การตีความคะแนนความเกี่ยวข้องของแต่ละองค์ประกอบของกลุ่มเป็นเวกเตอร์ในพื้นที่ป้ายกำกับและการแก้ปัญหาแบบกำลังสองน้อยที่สุดเมื่อสิ้นสุดแต่ละชุดข้อมูล ทำให้มีการเสนอ Geometrically-Optimum Online-Weighted Ensemble for Multi-label Classification (GOOWE-ML) กลุ่มนี้พยายามลดระยะห่างระหว่างการทำนายแบบถ่วงน้ำหนักขององค์ประกอบและ เวกเตอร์ ความจริงพื้นฐานสำหรับแต่ละอินสแตนซ์ในชุดข้อมูล แตกต่างจาก Online Bagging และ ADWIN Bagging, GOOWE-ML ใช้ รูปแบบการลงคะแนน แบบถ่วงน้ำหนักโดยที่องค์ประกอบของกลุ่มที่มีประสิทธิภาพดีกว่าจะได้รับน้ำหนักมากกว่า กลุ่ม GOOWE-ML จะเติบโตขึ้นเรื่อยๆ และองค์ประกอบที่มีน้ำหนักน้อยที่สุดจะถูกแทนที่ด้วยองค์ประกอบใหม่เมื่อเต็มเมื่อสิ้นสุดชุดข้อมูล GOBR, [ 23 ] GOCC, [ 23 ] GOPS, [ 23 ] GORT [ 23 ]เป็นกลุ่มแบบหลายป้ายกำกับที่ใช้ GOOWE-ML ที่เสนอ
  • หน้าต่างหลายบาน[ 24 ]  : ในที่นี้ โมเดล BR ที่ใช้หน้าต่างเลื่อนจะถูกแทนที่ด้วยหน้าต่างสองบานสำหรับแต่ละป้ายกำกับ บานหนึ่งสำหรับตัวอย่างที่เกี่ยวข้องและอีกบานหนึ่งสำหรับตัวอย่างที่ไม่เกี่ยวข้อง อินสแตนซ์จะถูกสุ่มตัวอย่างเกินหรือสุ่มตัวอย่างน้อยกว่าตามปัจจัยโหลดที่อยู่ระหว่างหน้าต่างทั้งสองนี้ วิธีนี้ช่วยให้สามารถตรวจจับการเปลี่ยนแปลงแนวคิดที่เป็นอิสระสำหรับแต่ละป้ายกำกับ และจัดการกับความไม่สมดุลของคลาส (ความเบี่ยงเบนในตัวอย่างที่เกี่ยวข้องและไม่เกี่ยวข้อง) ได้

สถิติและตัวชี้วัดการประเมิน

เมื่อพิจารณาว่าชุดป้ายกำกับสำหรับตัวอย่างข้อมูล (อย่าสับสนกับ เวกเตอร์ วันฮอตมันเป็นเพียงการรวบรวมป้ายกำกับทั้งหมดที่อยู่ในตัวอย่างนี้) ระดับที่ชุดข้อมูลมีหลายป้ายกำกับสามารถวัดได้ด้วยสถิติสองอย่าง:

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

ตัวชี้วัดการประเมินผลสำหรับการจำแนกประเภทแบบหลายป้ายกำกับนั้นแตกต่างจากตัวชี้วัดที่ใช้ในการจำแนกประเภทแบบหลายคลาส (หรือแบบไบนารี) โดยพื้นฐานแล้ว เนื่องจากความแตกต่างโดยธรรมชาติของปัญหาการจำแนกประเภท หากTแทนชุดป้ายกำกับที่แท้จริงสำหรับตัวอย่างที่กำหนด และPแทนชุดป้ายกำกับที่คาดการณ์ไว้ ตัวชี้วัดต่อไปนี้สามารถกำหนดได้สำหรับตัวอย่างนั้น:

  • ค่าความสูญเสีย แฮมมิง (Hamming loss): คือสัดส่วนของป้ายกำกับที่ผิดต่อจำนวนป้ายกำกับทั้งหมด กล่าวคือโดยที่คือค่าเป้าหมายคือค่าที่ทำนายได้ และคือตัวดำเนินการ "Exclusive or"ที่จะคืนค่าเป็นศูนย์เมื่อค่าเป้าหมายและค่าที่ทำนายได้เหมือนกัน และคืนค่าเป็นหนึ่งในกรณีอื่น ๆ นี่คือฟังก์ชันความสูญเสียดังนั้นค่าที่เหมาะสมที่สุดคือศูนย์ และค่าสูงสุดคือหนึ่ง
  • ดัชนี Jaccardที่เกี่ยวข้องอย่างใกล้ชิดซึ่งเรียกอีกอย่างว่า Intersection over Union ในบริบทของหลายป้ายกำกับ ถูกกำหนดให้เป็นจำนวนป้ายกำกับที่ทำนายได้อย่างถูกต้อง หารด้วยผลรวมของป้ายกำกับที่ทำนายได้และป้ายกำกับจริง โดย ที่และคือเซตของป้ายกำกับที่ทำนายได้และป้ายกำกับจริงตามลำดับ
  • ความแม่นยำ การเรียกคืนและคะแนน : ความแม่นยำคือการเรียกคืนคือและคือค่าเฉลี่ยฮาร์มอนิกของ พวกมัน [ 25 ]
  • การจับคู่ที่ตรงกันทุกประการ (หรือเรียกว่า ความแม่นยำของกลุ่มย่อย): เป็นตัวชี้วัดที่เข้มงวดที่สุด โดยระบุเปอร์เซ็นต์ของตัวอย่างที่มีป้ายกำกับทั้งหมดถูกจำแนกอย่างถูกต้อง

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

การนำไปใช้และชุดข้อมูล

มีการใช้งานอัลกอริธึมแบบหลายป้ายกำกับในภาษา Java ใน แพ็กเกจซอฟต์แวร์ MulanและMeka ซึ่งทั้งสองแพ็กเก จ นี้ใช้ Wekaเป็นพื้นฐาน

แพ็ก เกจ scikit-learnสำหรับ Python นำเสนออัลกอริธึมและเมตริกส์สำหรับข้อมูลหลายป้ายกำกับ

แพ็กเกจ scikit -multilearnสำหรับ Python นั้นออกแบบมาโดยเฉพาะสำหรับการจำแนกประเภทแบบหลายป้ายกำกับ (multi-label classification) โดยมีฟังก์ชันการทำงานแบบหลายป้ายกำกับสำหรับเทคนิคที่รู้จักกันดีหลายอย่าง เช่น SVM, kNN และอื่นๆ อีกมากมายแพ็กเกจนี้สร้างขึ้นบนระบบนิเวศ ของ scikit-learn

วิธีการความเกี่ยวข้องแบบไบนารี โซ่ตัวจำแนก และอัลกอริธึมหลายป้ายกำกับอื่นๆ ที่มีผู้เรียนพื้นฐานที่แตกต่างกันจำนวนมากถูกนำไปใช้ในแพ็คเกจ R mlr [ 27 ]

รายชื่อชุดข้อมูลหลายป้ายกำกับที่ใช้กันทั่วไปมีอยู่ในเว็บไซต์มู่หลาน

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • มัดจารอฟ, ยอร์จจี้; โคเซฟ, ดรากี; กยอร์กเยวิค, เดยัน; เชรอสกี้, ซาโซ (2012) "การเปรียบเทียบวิธีการทดลองแบบหลายป้ายกำกับอย่างละเอียด" การจดจำรูปแบบ45 (9): 3084– 3104. รหัสสินค้า : 2012PatRe..45.3084M . ดอย : 10.1016/j.patcog.2012.03.004 . S2CID  14064264 .
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Multi-label_classification&oldid=1360711059 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การจำแนกประเภทหลายป้ายกำกับ

ใน การเรียนรู้ ของ เครื่อง การจำแนกแบบหลายป้ายกำกับ หรือ การจำแนกแบบหลายเอาต์พุต เป็นรูปแบบหนึ่งของ ปัญหา การจำแนกประเภท...

วิธีการแปลงปัญหา

มีวิธีการแปลงปัญหาหลายวิธีสำหรับการจำแนกประเภทแบบหลายป้ายกำกับ และสามารถแบ่งออกได้คร่าวๆ ดังนี้:

การแปลงเป็นปัญหา การจำแนกประเภทแบบไบนารี

วิธีการพื้นฐานที่เรียกว่าวิธี ความเกี่ยวข้องแบบไบนารี [ 3 ] เทียบเท่ากับการฝึกตัวจำแนกแบบไบนารีหนึ่งตัวสำหรับแต่ละป้ายกำกับอย่างอิสระ เมื่อได้รับตัวอย่างที่ไม่เคยเห็นมาก่อน...

การแปลงเป็นปัญหา การจำแนกประเภทหลายคลาส

การแปลงชุดกำลังป้ายกำกับ (LP) สร้างตัวจำแนกไบนารีหนึ่งตัวสำหรับทุกชุดป้ายกำกับที่มีอยู่ในชุดฝึกอบรม ตัวอย่างเช่น หากป้ายกำกับที่เป็นไปได้สำหรับตัวอย่างคือ A, B และ C การแสดงชุดกำลังป้ายกำกับของปัญหานี้คือปัญหาการจำแนกหลายคลาสที่มีคลาส [0 0 0], [1 0 0], [0 1...