เนื่องจากไม่มีการจัดกลุ่ม จึงไม่มี "ความจริง" ในการยืนยันผลลัพธ์ การไม่มีข้อเท็จจริงอาจทําให้การประเมินคุณภาพมีความซับซ้อน นอกจากนี้ ชุดข้อมูลในโลกแห่งความเป็นจริงมักจะไม่อยู่ในกลุ่มตัวอย่างที่ชัดเจน เช่น ชุดข้อมูลที่แสดงในรูปที่ 1
น่าเศร้าที่ข้อมูลในชีวิตจริงดูเหมือนเป็นรูปที่ 2 ทําให้การประเมินคุณภาพของการจัดกลุ่มภาพทําได้ยาก
โฟลว์ชาร์ตด้านล่างสรุปวิธีตรวจสอบคุณภาพของคลัสเตอร์ เราจะขยายผลจากข้อมูลสรุปในส่วนต่อไปนี้
ขั้นตอนที่ 1: คุณภาพของคลัสเตอร์
การตรวจสอบคุณภาพของการจัดกลุ่มไม่ใช่กระบวนการที่เข้มงวด เนื่องจากการจัดกลุ่มไม่มี "ความจริง" ต่อไปนี้คือหลักเกณฑ์ที่คุณนํามาใช้ซ้ําได้เพื่อปรับปรุงคุณภาพของการจัดกลุ่ม
ก่อนอื่นให้ตรวจสอบภาพว่าคลัสเตอร์มีลักษณะตามที่คาดไว้ และตัวอย่างที่คุณถือว่าคล้ายกันปรากฏในคลัสเตอร์เดียวกัน จากนั้นดูเมตริกที่ใช้กันทั่วไปตามที่อธิบายไว้ในส่วนต่อไปนี้
- จํานวนสมาชิกในเซ็ตของคลัสเตอร์
- ขนาดของคลัสเตอร์
- ประสิทธิภาพของระบบดาวน์สตรีม
จํานวนสมาชิกในเซ็ตของคลัสเตอร์
จํานวนสมาชิกในเซ็ตของคลัสเตอร์คือจํานวนตัวอย่างต่อคลัสเตอร์ ลองแสดงจํานวนคาร์ดินัลของคลัสเตอร์ทั้งหมดและตรวจสอบคลัสเตอร์ที่มีค่าที่ผิดปกติอย่างมาก เช่น ในรูปที่ 2 ตรวจสอบ คลัสเตอร์หมายเลข 5
ขนาดคลัสเตอร์
ขนาดของคลัสเตอร์คือผลรวมของระยะทางจากตัวอย่างทั้งหมดไปจนถึงเซนทรอยด์ของคลัสเตอร์ ดูว่าจํานวนสมาชิกแตกต่างกันอย่างไรในคลัสเตอร์ เช่นเดียวกับความผิดปกติของจํานวนสมาชิกในเซ็ต แล้วตรวจสอบความผิดปกติ เช่น ในรูปที่ 3 ตรวจสอบ คลัสเตอร์หมายเลข 0
การขยายและจํานวนสมาชิกในเซ็ต
โปรดสังเกตว่าจํานวนสมาชิกในเซ็ตที่สูงกว่ามีแนวโน้มที่จะส่งผลให้มีคลัสเตอร์มากขึ้น ซึ่งฟังดูสมเหตุสมผลดี คลัสเตอร์จะมีความผิดปกติเมื่อจํานวนสมาชิกในเซ็ตไม่สัมพันธ์กับขนาดที่สัมพันธ์กับคลัสเตอร์อื่นๆ หาคลัสเตอร์ที่ผิดปกติโดยพล็อตขนาดเทียบกับจํานวนสมาชิกในเซ็ต เช่น ในรูปที่ 4 การปรับเส้นให้พอดีกับเมตริกของคลัสเตอร์แสดงให้เห็นว่าคลัสเตอร์หมายเลข 0 ผิดปกติ
ประสิทธิภาพของระบบดาวน์สตรีม
เนื่องจากเอาต์พุตคลัสเตอร์มักจะใช้ในระบบ ML ดาวน์สตรีม โปรดตรวจสอบว่าประสิทธิภาพของระบบดาวน์สตรีมมีประสิทธิภาพมากขึ้นเมื่อกระบวนการจัดกลุ่มของคุณเปลี่ยนแปลงหรือไม่ ผลกระทบต่อประสิทธิภาพดาวน์สตรีมมอบการทดสอบการใช้งานจริงสําหรับคุณภาพของคลัสเตอร์ ข้อเสียคือการตรวจสอบนี้มีความซับซ้อน
คําถามที่ต้องตรวจสอบหากพบปัญหา
หากพบปัญหา ให้ลองตรวจสอบการจัดเตรียมข้อมูลและการวัดผลความคล้ายคลึงกัน แล้วถามคําถามต่อไปนี้กับตัวเอง
- ข้อมูลมีการปรับขนาดใช่ไหม
- วัดความคล้ายคลึงกันถูกต้องไหม
- อัลกอริทึมของคุณดําเนินการกับข้อมูลที่มีความหมายต่อข้อมูลหรือไม่
- สมมติฐานของอัลกอริทึมตรงกับข้อมูลหรือไม่
ขั้นตอนที่ 2: ประสิทธิภาพของมาตรวัดความคล้ายคลึง
อัลกอริทึมการจัดกลุ่มของคุณดีเท่าๆ กับการวัดความคล้ายคลึงกัน ตรวจสอบว่าหน่วยวัดความคล้ายคลึงกันของคุณแสดงผลลัพธ์ที่สมเหตุสมผล การตรวจสอบที่ง่ายที่สุดในการตรวจสอบคือการจับคู่คู่ตัวอย่างที่ทราบว่ามีความคล้ายคลึงกันมากกว่าหรือน้อยกว่าคู่อื่นๆ จากนั้นคํานวณมาตรวัดความคล้ายคลึงกันสําหรับตัวอย่างแต่ละคู่ ตรวจสอบว่ามาตรวัดความคล้ายคลึงกันสําหรับตัวอย่างที่คล้ายกันสูงกว่าสูงกว่าการวัดค่าความใกล้เคียงกันสําหรับตัวอย่างที่คล้ายกันน้อยกว่า
ตัวอย่างที่คุณใช้ในการตรวจวัดความคล้ายคลึงกันก็ควรจะแสดงแทนชุดข้อมูล ตรวจสอบว่าค่าความใกล้เคียงวัดจากตัวอย่างทั้งหมดของคุณ การตรวจสอบอย่างระมัดระวังจะช่วยให้ความคล้ายคลึงกันของการวัดผลความคล้ายคลึงกัน ของทั้ง 2 ทีมรวมกัน หากค่าความคล้ายคลึงกันไม่สอดคล้องกันสําหรับตัวอย่างบางรายการ ตัวอย่างดังกล่าวจะไม่จัดกลุ่มไว้กับตัวอย่างที่คล้ายกัน
หากพบตัวอย่างที่คล้ายคลึงกันอย่างไม่ถูกต้อง การวัดความคล้ายคลึงกันอาจจะไม่เก็บข้อมูลฟีเจอร์ที่ทําให้เห็นความแตกต่างเหล่านั้น ทดสอบความคล้ายคลึงกันและดูว่าคุณได้รับความคล้ายคลึงกันเพิ่มขึ้นหรือไม่
ขั้นตอนที่ 3: จํานวนคลัสเตอร์ที่เหมาะสม
k-means ต้องการให้คุณตัดสินใจจํานวนคลัสเตอร์ \(k\) ล่วงหน้า คุณกําหนดมูลค่าที่เหมาะสมของ \(k\)เท่าใด ลองเรียกใช้อัลกอริทึมสําหรับการเพิ่ม \(k\) และสังเกตผลรวมของขนาดคลัสเตอร์ เมื่อ \(k\) คลัสเตอร์เพิ่มขึ้น คลัสเตอร์จะเล็กลงและระยะทางโดยรวมจะลดลง พล็อตระยะทางนี้เทียบกับจํานวนคลัสเตอร์
ดังแสดงในรูปที่ 4 ที่ \(k\)ที่จุดใดจุดหนึ่ง การลดการสูญเสียนั้นจะเพิ่มขึ้นเมื่อเพิ่มขึ้นเล็กน้อย \(k\)ในทางคณิตศาสตร์ นั่นก็คือ \(k\) ที่ทางลาดชันพาดผ่าน -1 (\(\theta > 135^{\circ}\)) ส่วนหลักเกณฑ์นี้จะไม่ระบุค่าที่แน่นอนของค่าที่ดีที่สุด \(k\) แต่เป็นค่าโดยประมาณเท่านั้น สําหรับพล็อตที่แสดง ค่าที่ดีที่สุด \(k\) คือประมาณ 11 หากต้องการตั้งคลัสเตอร์ที่ละเอียดยิ่งขึ้น คุณจะเลือก \(k\) เค้าโครงที่สูงกว่านี้เพื่อใช้เป็นพล็อตได้