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

อัลกอริทึมการจัดกลุ่มมีลักษณะอย่างไร


อัลกอริทึมการจัดกลุ่มมีลักษณะต่างๆ ดังนี้ -

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

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

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

แม้แต่อัลกอริธึมที่มีความซับซ้อนของ $\mathrm{O(m^2)}$ ก็ไม่ใช่ชุดข้อมูลที่สูง นอกจากนี้ เทคนิคการจัดกลุ่มสำหรับชุดข้อมูลไม่สามารถพิจารณาว่าข้อมูลทั้งหมดจะพอดีกับหน่วยความจำหลักหรือองค์ประกอบข้อมูลสามารถสร้างแบบสุ่มได้ อัลกอริธึมดังกล่าวเป็นไปไม่ได้สำหรับชุดข้อมูลสูง

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

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

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

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

ตัวอย่างเช่น อัลกอริทึมการจัดกลุ่ม K-mean พยายามค้นหาชุดของคลัสเตอร์ที่ลดระยะรวมของแต่ละจุดจากศูนย์กลางของคลัสเตอร์ที่ใกล้ที่สุด มีปัญหาดังกล่าวสามารถแก้ไขได้โดยการแจกแจงชุดคลัสเตอร์ที่เป็นไปได้บางชุดและเลือกชุดที่มีค่าที่เหนือกว่าของฟังก์ชันวัตถุประสงค์ แต่วิธีการที่ละเอียดถี่ถ้วนนี้ไม่สมเหตุสมผลในการคำนวณ