Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีการจัดกลุ่มพร้อมเงื่อนไข (Clustering with Constraints) มี那些?

วิธีการจัดกลุ่มพร้อมเงื่อนไข (Clustering with Constraints)

มีเทคนิคหลากหลายที่จำเป็นต้องจัดการเงื่อนไขเฉพาะ หลักการทั่วไปของการจัดการเงื่อนไขแบบแข็ง (Hard Constraints) และเงื่อนไขแบบนิ่ม (Soft Constraints) มีดังนี้:

การจัดการเงื่อนไขแบบแข็ง (Handling Hard Constraints)

วิธีทั่วไปสำหรับการจัดการเงื่อนไขที่ยาก (Hard Constraints) คือการปฏิบัติต่อเงื่อนไขอย่างเข้มงวดในกระบวนการกำหนดกลุ่ม (Cluster Assignment) ให้ชุดข้อมูลและกลุ่มเงื่อนไขบนตัวอย่าง (Must-link หรือ Cannot-link Constraints) จะปรับเปลี่ยนวิธี k-means เพื่อให้ตรงตามเงื่อนไขเหล่านี้ได้อย่างไร? อัลกอริทึม COP-kmeans ทำงานดังนี้:

1. สร้าง Super Instances สำหรับเงื่อนไข Must-link

คำนวณการปิดแบบ bắcไป (Transitive Closure) ของเงื่อนไข Must-link ดังนั้น เงื่อนไข Must-link ทั้งหมดถูกพิจารณาเป็นความสัมพันธ์สมดุล (Equivalence Relation) การปิดให้ชุดย่อยหนึ่งหรือหลายชุดย่อยของวัตถุ ที่วัตถุทั้งหมดในชุดย่อยควรถูกกำหนดให้เป็นกลุ่มเดียว สำหรับชุดย่อยดังกล่าว สามารถแทนที่วัตถุทั้งหมดในชุดย่อยด้วยค่าเฉลี่ย (Mean) Super Instance ยังมีน้ำหนัก (Weight) ซึ่งคือจำนวนวัตถุที่มันแทน หลังจากกระบวนการนี้ เงื่อนไข Must-link ถูกปฏิบัติต่ออย่างต่อเนื่อง

2. ดำเนินการ k-mechs แบบปรับเปลี่ยน (Modified k-means Clustering)

ใน k-means วัตถุถูกกำหนดให้กับศูนย์กลาง (Center) ที่ใกล้ที่สุด เพื่อปฏิบัติต่อเงื่อนไข Cannot-link จะเปลี่ยนกระบวนการกำหนดศูนย์กลางใน k-means ให้เป็นการกำหนดศูนย์กลางที่เป็นไปได้และใกล้ที่สุด (Closest Feasible Center Assignment) เมื่อวัตถุถูกกำหนดให้กับศูนย์กลางตามลำดับ ในแต่ละขั้นตอน ต้องแน่ใจว่าการกำหนดที่ผ่านมายังไม่ละเมิดเงื่อนไข Cannot-link ใดๆ วัตถุถูกกำหนดให้กับศูนย์กลางที่ใกล้ที่สุด ซึ่งการกำหนดปฏิบัติต่อเงื่อนไข Cannot-link ทั้งหมด เนื่องจาก COP-k-means ให้ความมั่นใจว่าไม่มีเงื่อนไขถูกละเมิดในแต่ละขั้นตอน จึงไม่จำเป็นต้องมีการย้อนกลับ (Backtracking) มันเป็นอัลกอริทึมแบบขี้เกียจ (Greedy Algorithm) สำหรับการสร้างการจัดกลุ่มที่ปฏิบัติต่อเงื่อนไขทั้งหมด โดยสมมติว่าไม่มีความขัดแย้งระหว่างเงื่อนไข

การจัดการเงื่อนไขแบบนิ่ม (Handling Soft Constraints)

การจัดกลุ่มพร้อมเงื่อนไขแบบนิ่มเป็นปัญหาการเพิ่มประสิทธิภาพ (Optimization Problem) เมื่อการจัดกลุ่มละเมิดเงื่อนไขแบบนิ่ม จะมีการลงโทษ (Penalty) บนการจัดกลุ่ม ดังนั้น วัตถุประสงค์การเพิ่มประสิทธิภาพของการจัดกลุ่มประกอบด้วยสองส่วน: เพิ่มประสิทธิภาพด้านคุณภาพการจัดกลุ่ม และลดโทษการละเมิดเงื่อนไข ฟังก์ชันวัตถุประสงค์ (Objective Function) คือชุดของคะแนนคุณภาพการจัดกลุ่มและคะแนนโทษ

ให้ชุดข้อมูลและชุดเงื่อนไขแบบนิ่มบนตัวอย่าง อัลกอริทึม CVQE (Constrained Vector Quantization Error) ปรับ k-means clustering ในขณะที่บังคับใช้โทษการละเมิดเงื่อนไข ฟังก์ชันวัตถุประสงค์ที่ใช้ใน CVQE คือผลรวมของระยะทางที่ใช้ใน k-mechs ปรับเปลี่ยนด้วยโทษการละเมิดเงื่อนไข ซึ่งคำนวณดังนี้:

  • โทษของการละเมิด Must-link: หากมีเงื่อนไข Must-link บนวัตถุ x และ y แต่พวกมันถูกกำหนดให้กับศูนย์กลางที่แตกต่างกัน c₁ และ c₂ ตามลำดับ ดังนั้นเงื่อนไขถูกละเมิด ผลลัพธ์คือ ระยะห่างระหว่าง c₁ และ c₂ คือ dist(c₁,c₂) จะถูกเพิ่มเข้าไปในฟังก์ชันวัตถุประสงค์เป็นโทษ
  • โทษของการละเมิด Cannot-link: หากมีเงื่อนไข Cannot-link บนวัตถุ x และ y แต่พวกมันถูกกำหนดให้กับศูนย์กลางร่วมกัน c ดังนั้นเงื่อนไขถูกละเมิด ระยะห่าง dist(c, c') ระหว่าง c และ c' จะถูกเพิ่มเข้าไปในฟังก์ชันวัตถุประสงค์เป็นโทษ